实际上面向对象还有其他重要的特征,国内的教材都只是说三大特征。
封装:
1.指将数据和相应的函数放到一起形成一个类的过程。相当于将操作结构体的函数放到结构体中。
2.指利用一切语言特征将类的实现细节隐藏起来的过程。
继承:就是在写代码的过程中,常常会发现某些现有类有些方面有很大相似性(比如实现类似的功能、拥有相同的函数等等),这时候我们建立另外一个类(基类、父类)来描述这种相似性,所有派生自该基类的派生类都具备这种相似性。通过继承,我们在一个类(或者一个类层次结构中)描述了不同类之间的相似性,因此减少了代码的冗余性,不然相同的概念要在不同地方重复。
多态:这个概念是与继承密切相关的,是指同一个成员函数在不同的派生类中有不同的行为(定义),也就是描述了相似中的差异。