When is a subclass not right?
Gabriel Genellina
gagsl-py at yahoo.com.ar
Thu Aug 24 16:21:21 EDT 2006
More information about the Python-list mailing list
Thu Aug 24 16:21:21 EDT 2006
- Previous message (by thread): When is a subclass not right?
- Next message (by thread): When is a subclass not right?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At Thursday 24/8/2006 16:23, Chaz Ginger wrote: >I was writing some code that used someone else class as a subclass. He >wrote me to tell me that using his class as a subclass was incorrect. I >am wondering under what conditions, if ever, does a class using a >subclass not work. > >class B1(A); > def __init__(self,a1,a2) : > self.c = a1 > A.__init__(self,ag) > >class B2: > def __init__(self,a1,a2): > self.c = a1 > self.t = A(a2) > > def bar(self) : > self.t.bar() > >Other than the obvious difference of B2 having an attribute 't', I can't >see any other obvious differences. Is there something I am missing? Look any OO book for the difference between 'inheritance' and 'delegation'. In short, you should inherit when B 'is an' A (a Car is a Vehicle), and delegate/compose in other cases (a Car has an Engine; or more precisely, a Car instance has an Engine instance). Gabriel Genellina Softlab SRL p5.vert.ukl.yahoo.com uncompressed Thu Aug 24 19:27:05 GMT 2006 __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas
- Previous message (by thread): When is a subclass not right?
- Next message (by thread): When is a subclass not right?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list