面向对象OO的重要概念

来源:互联网 发布:victorinox 香水 知乎 编辑:程序博客网 时间:2024/04/30 01:07

抽象有很多种,有数据的抽象和过程的抽象。数据的抽象就是从问题领域中提取出一些能反映问题本质的对象;这是面向对象OO的基本功。

OO中,在定义类的层次关系时,有几个重要的概念;如果能从抽象的角度来理解他们,有助于设计出更好的架构,能使解决方案更好的模拟/描述问题空间。

 

               Public Inherit:                          Is-A ( Define real world object )
 
               Compose:                                 Has-A

               Private Inherit:                        Use-A

               Interface:                                 Can-Do ( Define behaviors/capability model/set; used as a contract )

               Interface Explicite Implementation:
                                                   multiple interfaces have the same signatures.

 

              Inherited non-virtual functions:

                                                   inherit both the interface(contract/responsibility) and implementation

 

              Inherited virutal functions:

                                                   inherit the  interface(contract/responsibility) With implementation ON demand

 

              Inherited pure virutal functions:

                                                   inherit the  interface(contract/responsibility) ONLY

原创粉丝点击