已经是最新一篇文章了!
已经是最后一篇文章了!
封装、继承、多态、抽象
封装
C++ 能够将数据与函数(方法)封装在类(Class)中,对外部提供有限接口,对内部数据进行保护,降低模块耦合,提升维护性。
class People{
public:
People();
~People();
virtual void Do() = 0;
private:
int age;
float height, weight;
protected:
string name;
};
继承
一个子类能够继承一个父类的属性和方法,子类能够访问父类 public
与 protected
中的成员,并且可以重载或者增加新成员,提高代码复用率与拓展性。
class Student:People{
public:
Student(float _grade);
~Student();
void Do();
void ChangeNameTo(string NewName);
private:
float grade;
};
class Parent:People{
public:
void Do();
void GiveNameTo(People &_people);
};
多态
一个对象表现出多种形态的特性即为多态,通常由重载与虚函数实现。父类(基类)指针能够指向不同的子类(派生类),调用同样方法(同一接口)实现不同功能。
int main(){
People *people;
Student student;
Parent parent;
people = &student;
people -> Do();
people = &parent;
people -> Do();
return 0;
}
抽象
将不同对象的共同特性/特征提取出来形成抽象类,在类中定义数据与接口,不实现具体功能,而是被派生类继承并拓展。
class People{
};
class Male:People{
};
class Boy:Male{
};
class Female:People{
};
class Girl:Female{
};
版权声明: 如无特别声明,本文版权归 Longbin's Tech-Blog 所有,转载请注明本文链接。
(采用 CC BY-NC-SA 4.0 许可协议进行授权)
本文标题:《 C++ 面向对象的四大特性 》
本文最后一次更新为 天前,文章中的某些内容可能已过时!