是一个自包含的实体,用一组可以识别的特性和行为来标识。
简单说,一切事物皆为对象。内些看的见,摸得着,听得到的都是对象。
类是具有相同属性和功能的对象的抽象的集合。
就是将这些对象的属性功能提取出来,由一般到特殊的概念。
真实的对象。
由类这一抽象集合具体化形成的对象。由特殊到一般的概念。
每个对象都包含它能进行操作所需要的所有信息。
优点:
“is-a”的关系,B是A,猫是动物。
继承者是对被继承者的特殊化,因为继承者有被继承者的特性之外,还可以有自己的个性。
继承的三个特点:
优点:继承使得所有子类公共的部分都放在了父类,使得代码共享。
缺点:父类变,子类不得不变。继承会破坏封装,父类实现的细节暴露给子类。
表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。
注意:
原理:当方法被调用时,无论对象是否被转换为其父类,都只有位于对象继承链最末端的方法实现会被调用。虚方法是按照其运行时类型进行动态绑定的。
在C++中抽象类就是虚基类,里面有纯虚函数。
注意:
抽象类代表一个抽象概念,在一个由继承关系形成树里,树叶节点因当时具体类,树枝节点都因当是抽象类。
是把隐式公共方法和属性组合起来,以封装特定功能的合集。
C++中并没有接口的说法,但特殊的抽象类也可以类比为接口。
抽象类与接口的区别:(站在C++角度理解)
参考书籍:大话设计模式
原文:https://www.cnblogs.com/LampsAsarum/p/12153050.html