If I start recalling a "Goons" sketch, then I'll show my age .... but never mind. It was a RERUN that I saw ;-)
Spike Milligan is counting votes at an election. "Two thousand, six hundred and forty two". "Two thousand, six hundred and forty three". "Two thousand, six hundred and forty four" ...
"Would you like a cup of tea" - a pleasant young gent walks up. "Thank you" says Spike. Sound effect - tea slurping.
"Two thousand, six hundred and .....". "Two thousand and .....". Pause. "One". "Two". "Three" ...
It's a classic, and we all laughed. And yet, when we're programming, it's so tempting to develop code from scratch - not to build on existing logic but to redevelop something that's already been redeveloped. And that's why the Object Oriented principle of inheritance is so brilliant and efficient. Taking one class defeinition, you define a new class ... not from scratch, but rather in terms of specifying only those things that are added or changed.
If Spike had jotted down the number he was at on a piece of paper, he could have carried on so easily after his cuppa. Of course, it wouldn't have been funny, but then programming isn't funny.
(written 2006-08-17, updated 2006-08-18)
Associated topics are indexed under
C239 - C and C based languages - Putting it all together [3252] C++ - unknown array size, unknown object type. Help! - (2011-04-17)
[3069] Strings, Garbage Collection and Variable Scope in C++ - (2010-11-25)
[3067] Using C and C++ functions in the same program - how to do it - (2010-11-24)
[2851] Further C++ material - view new or old - (2010-07-04)
[2674] Make and makefiles - a commented example to help you learn - (2010-03-12)
[2673] Multiple Inheritance in C++ - a complete example - (2010-03-12)
[2646] Compile but do not run PHP - syntax check only - (2010-02-22)
[1181] Good Programming practise - where to initialise variables - (2007-05-09)
[945] Code quality counts - (2006-11-26)
[925] C++ - just beyond the basics. More you can do - (2006-11-14)
H108 - Objects in PHP [3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion - (2011-03-24)
[3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON - (2011-03-22)
[3142] Private and Public - and things between - (2011-01-22)
[2922] Getting the OO design write - with PHP a example - (2010-08-14)
[2921] Does copying a variable duplicate the contents? - (2010-08-14)
[2774] PHP - Object Oriented Design in use - (2010-05-21)
[2741] What is a factory? - (2010-04-26)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2680] Static class members in PHP - a documented example - (2010-03-16)
[2641] Object Oriented Programming in PHP - (2010-02-19)
[2632] Shipping a test harness with your class in PHP - (2010-02-12)
[2435] Serialization - storing and reloading objects - (2009-10-04)
[2434] Abstract classes, Interfaces, PHP and Java - (2009-10-03)
[2380] Object Oriented programming - a practical design example - (2009-08-27)
[2172] PHP4 v PHP5 - Object Model Difference - (2009-05-11)
[2171] Cleaning up redundant objects - (2009-05-11)
[2169] When should I use OO techniques? - (2009-05-11)
[2160] PHP - getclass v instanceof - (2009-05-07)
[1925] Introduction to Object Oriented Programming - (2008-12-06)
[1820] Sorting objects in PHP - (2008-10-04)
[1819] Calling base class constructors - (2008-10-03)
[1682] Accounts in PHP - an OO demo - (2008-06-19)
[1535] OO PHP demonstration - comparing objects and more - (2008-02-08)
[1217] What are factory and singleton classes? - (2007-06-04)
[1153] Object Oriented Model - a summary of changes from PHP4 to PHP5 - (2007-04-18)
[1027] Cue the music, I'm happy. - (2007-01-09)
[720] Planning a hotel refurb - an example of a Gant chart in PHP - (2006-05-14)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[485] North, Norther and Northest - PHP 5 Objects - (2005-11-04)
[421] Don't repeat code - use loops or functions - (2005-08-21)
[343] Should I use structured or object oriented? - (2005-06-10)
[205] PHP5 lets you say no - (2005-02-07)
[124] PHP v Java - (2004-11-20)
[67] Object Oriented Programming in PHP - (2004-09-29)
J715 - Putting the Java Language Together [2735] Type checking, Java arrays and collections - (2010-04-23)
P704 - Managing Perl Projects [2375] Designing your data structures for a robust Perl application - (2009-08-25)
[2070] Converting to Perl - the sort of programs you will write - (2009-03-08)
[1395] Dont just convert to Perl - re-engineer! - (2007-10-18)
Q907 - Object Orientation and General technical topics - Object Orientation: Design Techniques [3454] Your PHP website - how to factor and refactor to reduce growing pains - (2011-09-24)
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23)
[3085] Object Oriented Programming for Structured Programmers - conversion training - (2010-12-14)
[3063] Comments in and on Perl - a case for extreme OO programming - (2010-11-21)
[2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
[2953] Turning an exercise into the real thing with extreme programming - (2010-09-11)
[2889] Should Python classes each be in their own file? - (2010-07-27)
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19)
[2865] Relationships between Java classes - inheritance, packaging and others - (2010-07-10)
[2785] The Light bulb moment when people see how Object Orientation works in real use - (2010-05-28)
[2747] Containment, Associative Objects, Inheritance, packages and modules - (2010-04-30)
[2523] Plan your application before you start - (2009-12-02)
[2501] Simples - (2009-11-12)
[2327] Planning! - (2009-08-08)
[2170] Designing a heirarcy of classes - getting inheritance right - (2009-05-11)
[1538] Teaching Object Oriented Java with Students and Ice Cream - (2008-02-12)
[1528] Object Oriented Tcl - (2008-02-02)
[1435] Object Oriented Programming in Perl - Course - (2007-11-18)
[1224] Object Relation Mapping (ORM) - (2007-06-09)
[1047] Maintainable code - some positive advice - (2007-01-21)
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl - (2006-08-13)
[747] The Fag Packet Design Methodology - (2006-06-06)
[534] Design - one name, one action - (2005-12-19)
[507] Introduction to Object Oriented Programming - (2005-11-27)
[236] Tapping in on resources - (2005-03-05)
[80] OO - real benefits - (2004-10-09)
Y116 - Python - Applying OO design techniques and best practise [2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[2485] How do I set up a constant in Python? - (2009-10-31)
[2407] Testing code in Python - doctest, unittest and others - (2009-09-16)
[2363] Alpaca Case or Camel Case - (2009-08-16)
[668] Python - block insets help with documentation - (2006-04-04)
[340] Code and code maintainance efficiency - (2005-06-08)
Some other Articles
Computers, Brides and Cream TeasReporting on the 10 largest files or 10 top scoresTalking about other training companies.Tomcat - Shutdown portBuild on what you already have with OOPython - when to use the in operatorPython makes University ChallengeOld Wardour CastleDisplaying data at 5 items per line on a web page