1. c和c++区别
- C++是面向对象的语言,而C是面向过程的语言;
- C++引入
new/delete运算符,取代了C中的malloc/free库函数; - C++引入引用的概念,而C中没有;
- C++引入类的概念,而C中没有;
- C++引入函数重载的特性,而C中没有
2. 面向对象基本特征
封装,继承,多态。
2.1. 封装
定义:就是隐藏对象的属性和实现细节,仅对外公开接口(method),控制在程序中属性的读和修改的访问级别(public/protected/private)。
目的:封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。
2.2. 继承
是面向对象的基本特征之一,继承机制允许创建分等级层次的类。
定义:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
注意:C++支持多重继承(java只支持 单继承),可能会导致菱形继承。
2.3. 多态
定义:多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。(主要体现在重写和重载,上转型)