OOP & Abstract Classes
Adam Gaskins
agaskins_ng at kelleramerica.com
Mon May 11 10:53:38 EDT 2009
Hi all,
-- Non critical info--
I am a fairly seasoned PHP developer (don't shoot, I'm changing teams!:) who
is admittedly behind the curve with OOP. Like most who learned PHP, I
started doing web app backend stuff, but I have moved to full blown windows
apps in the last 6 months using Winbinder. As you may know Winbinder is
essentially abandoned, and programming windows apps with Winbinder or even
GTK-PHP is less than ideal. I also deal heavily in serial/rs-232
communications which is a pain in PHP. Long story short, I'm tired of doing
things in such a hackish manner and want to write applications that are
cross platform (I'd like to get our production dept on linux eventually) and
truely object oriented.
-- END non critical stuff--
So I was beginning to learn OOP for PHP, and it seemed to me that abstract
classes were just right for my application. In my application I must
communicate with several peices of test equipment that communicate via
RS-232. Most use SCPI instructions, some do not and require low level
communication.
The way I understand abstract classes is that I could have a class that has
all my abstract methods such as 'init', 'getMeasurement', 'setPressure',
etc... then I could use this common interface to to control my different
pieces of hardware (after I write a library for each of them).
Is this a valid application for abstract classes? Or am I making life more
complicated than it need be?
Now, I have read that Pythons OOP implimentation is so much better and more
complete then PHP's, but I cant find anything about abstract classes except
this:
http://norvig.com/python-iaq.html
...which says it doesn't exist in Python and you can only do this hack to
make it work (and I don't particularly understand how to impliment it from
this article).
This makes me suspect I am making things more comlicated than they need to
be. Could someone help me understand the proper way to impliment a set
classes/methods to deal with several peices of similar and not so similar
hardware? Not looking for anyone to write code for me, just help
understanding some of these OOP concepts and how they would apply to my
situation.
Thanks!
-Adam
More information about the Python-list
mailing list