入门级- 过程/Procedural:在编写OO程序时还像其编写C或Basic程序一样,有大量的static方法和 public/global变量, 将这些放在一起就像他们使用 C的头文件或Pascal模块一样。
初级 - 抽象/Abstract:知道对象是带有可以使用的状态和方法的实体,可以考虑一些抽象层次的东西,知道封装。
中级 - 层次/Hierarchical:知道如何使用对象的继承性, 可以建立起类的层次结构,并将公共代码放在父类中。
中高级 -多态 /Polymorphic:知道使用多态,知道如何使用虚方法和覆盖,能够创建虚类且懂得使用interfaces 的目的。
高级 - 模式/Pattern:知道在解决那些问题时使用设计模式,知道对于一些问题而言,使用composition比使用继承更好。 知道松耦合对于获得灵活性是非常重要的,并且可以建立起自己的应用框架来解决一系列类似的问题。
最高级 - 资深OO程序员:知道何时使用或何时不使用设计模式和应用框架,可以找到化繁为简的方法来解决问题。参考资料:
OO Programmer levels (in Java)