Monday, April 23, 2012

Want to become a Software Engineer?

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.
  1. class, object (and the difference between the two)
  2. instantiation
  3. method (as opposed to, say, a C function)
  4. virtual method, pure virtual method
  5. class/static method
  6. static/class initializer
  7. constructor
  8. destructor/finalizer
  9. superclass or base class
  10. subclass or derived class
  11. inheritance
  12. encapsulation
  13. multiple inheritance (and give an example)
  14. delegation/forwarding
  15. composition/aggregation
  16. abstract class
  17. interface/protocol (and different from abstract class)
  18. method overriding
  19. method overloading (and difference from overriding)
  20. polymorphism (without resorting to examples)
  21. is-a versus has-a relationships (with examples)
  22. method signatures (what's included in one)
  23. 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

Popular Posts