Bob Gailer wrote:
At 03:21 PM 2/12/2005, Brian van den Broek wrote:
[snip]
 > I am curious about Bob's "Whenever you find yourself writing
 > an if statement ask whether this would be better handled by subclasses."

class A:
...
class A1(A);
  def foo(self, ...):
    statements to process object of type 1
class A2(A);
  def foo(self, ...):
    statements to process object of type 2

That takes less code. Eliminates the type property. I get greater visibility about the existence and distinction of the two (or more) sub-types. I now can much more easily extend each subtype.

Also you can more easily *add* a new subtype. Using if statements, if you add a new type you have to find all the relevant conditionals and add another condition. With subclassing, you create a new subclass and define the necessary methods. The changes are localized to the subclass and much easier to figure out.


Kent

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to