Stuff you must know: object-oriented fundamentals
It’s an excellent overview of the concepts you should know. You
don’t need to be an expert on everything on this list, but you should
certainly aim at having at least passing familiarity with all these
concepts, with detailed understanding in some areas. Start at the top
and go through all 23 items and do your homework.
- class, object (and the difference between the two)
- instantiation
- method (as opposed to, say, a C function)
- virtual method, pure virtual method
- class/static method
- static/class initializer
- constructor
- destructor/finalizer
- superclass or base class
- subclass or derived class
- inheritance
- encapsulation
- multiple inheritance (and give an example)
- delegation/forwarding
- composition/aggregation
- abstract class
- interface/protocol (and different from abstract class)
- method overriding
- method overloading (and difference from overriding)
- polymorphism (without resorting to examples)
- is-a versus has-a relationships (with examples)
- method signatures (what's included in one)
- method visibility (e.g. public/private/other)
There’s absolutely no excuse not to be an expert on the fundamentals of
object-oriented programming. If you are a computer programmer then this
is part of your job. It’s not hard if you put your mind to it, it just
takes time and effort and practice. It doesn’t matter if you started
coding with Cobol and then moved onto Dbase and Dbase 2 before shifting
up to Clipper and then Visual Foxpro – you must know the OO concepts.
It doesn’t matter if you are a graduate or a 20-year coding veteran –
you must know the OO concepts. In 2010, you absolutely MUST know this
stuff if you wish to program computers.
No comments:
Post a Comment