[Tutor] Help with Object Oriented Programming
knacktus at googlemail.com
Mon Aug 30 20:43:20 CEST 2010
Am 30.08.2010 20:13, schrieb Tino Dai:
> Hi Everybody,
> I'm beefing up my Object-Oriented Analysis and Design - getting
> the gaps in my
> knowledge filled in through the Head First OOAD book
> That book focuses on Java - is there a comparable book for Python? I
> have already read the
> Alan Gauld's intro on classes, but I'm looking for more. My goal is to
> be able to design
> and code in Python in an OO fashion exploiting the OO paradigm as it related to
> Python at the level of Kent Johnston (hey, if I'm going to dream,
> might as well dream big! :) ).
> Currently, some of the things such as inheritance and encapsulation
> apply across OO languages
> but interfaces (I know that Zope has this) and mixin's are language
> specific constructs.
> If anybody could point me in the right direction, that would be great!
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
I've started in a very simliar fashion. My first OO-app was a procedural
Fortran-style Java application ;-)
Then I stumbled over Python but was aware that I had no clue about
OO-Programming. I read the book Head First OOAD, too. And also stuff
about design patterns.
At the beginning, it's a bit confusing. There's a lot of overhead
involved due to Java's static typing. You have to use inheritance,
interfaces, abstract classes etc. to achieve certain things, e.g. make
code general ("develop for interface not implementation ...") With
Python the same things can be achieved a loooooot easier and in the end
clearer (at least to me). One example are the iterator and visitor
patterns. Those can be done so smoothly in Python thanks to "everything
is a first class object". It would be fatal to try to translate Java
Code from the DP book to python.
Overall, Java OO and DP are helpful to know and understanding the ideas
behind them will help you with Python. But things are done differently
with Pyhton (don't try to mimick Java!) and you will be very very happy
More information about the Tutor