Am 11.10.2010 06:24, schrieb Denis Gomes:
Hi Everyone,
I have a basic python question. I am writing an n dimensional vector
class by inheriting from the builtin python list object. I want to be
able to hide the parent object's methods in the derived class instances.
Why inheriting then?
Another approach to reusing exisiting methods is to wrap them into your
newly defined methods. Here you would not inherit from a list, but
create a list in your class (composition). E.g.
class MyVector(object):
def __init__(self):
self.data = []
def append_data(self, new_data):
self.data.append(new_data)
Actually I use this all the time. And I used this before I knew about
inheritance.
Inheritance makes sence, when you want to reuse (almost) all methods of
the superclass, like in GUI toolkits, where you typically have a base
widget as superclass of a all other widgets.
HTH,
Jan
I know I can overload the method in the derived class and raise some
sort of an implementation error but that is not what I had in mind. I am
also not looking to use numpy. This is strictly for learning purposes.
Is there a way to hide superclass methods in python?
Thanks to all,
Denis
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor