On Tue, Oct 27, 2009 at 10:20 AM, John <jfabi...@yolo.com> wrote: > > Hey guru's could one of you explain why such a subclass is needed. How > would > it be used. I'm not sure but does not the deepcopy() work as above?
A subclass is useful for when you want to do pretty much what another class does, only with some modifications. My favorite example (and the easiest to understand) deals with shapes: class Shape: def __init__(self): self.sides = 0 self.area = 0 class Triangle(Shape): Shape.__init__(self) def __init__(self, base=0, height=0): self.sides = 3 self.area = base/2*height class Circle(Shape): Shape.__init__(self) def __init__(self, radius): self.sides = 1 self.area = 2*3.14*radius There are many other times when subclasses are useful, but that's a nice simple example. The "is-a" relationship can tell you when it's useful to have a superclass. "This collection is a list of (un)ordered elements" would tell you it should be a list. Though, TBH most python objects are so "batteries" included that I have little (no) reason to subclass - my only real exception is GUI programming. Here's something Google pulled up on the subject: http://www.gidnetwork.com/b-137.html HTH, Wayne
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor