Inheritence is fun!
This was originally posted on blogger here.
Imagine this view in python:
class MyFirstForm(formbase.PageForm): # lots and lots of finicky code.
Now lets say we want to capture everything in that view, but give it a slightly different behavior. How about this?
class MySecondForm(formbase.SubPageForm,FeedbackForm): pass
So what does this do?
Well, in Python what this does is make the second class inherit the properties of a similar base class, then overwrite it with the properties of the first form. The order of precedence in inheritance in Python is very clear and straightforward. The result is a wonderful case of object oriented code reuse.
I believe Ruby does it in a very similar fashion.
Tags: ruby python java legacy-blogger