C/C++总述:Study C/C++-CSDN博客
面向对象程序设计 OOP(object-oriented programming)
面向对象的三大特性
访问权限
C++通过 public、protected、private 三个关键字来控制成员变ᰁ和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。
在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。
在类的外部(定义类的代码之外),只能通过对象访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属性的成员。
无论共有继承、私有和保护继承,私有成员不能被“派生类”访问,基类中的共有和保护成员能被“派生 类 ” 访问。对于共有继承,只有基类中的共有成员能被“派生类对象 ” 访问,保护和私有成员不能被“派生类对象”访问。对于私有和保护继承,基类中的所有成员不能被“派生类对象” 访问。
public 修饰符用于指定类中的成员可以被类的外部代码访问。公有成员可以被类外部的任何代码(包括类的实例)访问。
private 修饰符⽤于指定类中的成员只能被类的内部代码访问。私有成员对外部代码是不可见的,只有类内部的成员函数可以访问私有成员。
protected 修饰符⽤于指定类中的成员可以被类的派生类访问。受保护成员对外部代码是不可见的,但可以在派生类中被访问。
1.继承 C++ 继承-CSDN博客
定义
让某种类型对象获得另⼀个类型对象的属性和方法
功能
它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展
常⻅的继承有三种⽅式
- 实现继承:指使用基类的属性和方法而无需额外编码的能力
- 接⼝继承:指仅使用属性和方法的名称、但是⼦类必须提供实现的能力
- 可视继承:指子窗体(类)使用基窗体(类)的外观和实现代码的能力
2.封装
定义
数据和代码捆绑在⼀起,避免外界干扰和不确定性访问 ;
功能
把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
3.多态
定义
同⼀事物表现出不同事物的能力,即向不同对象发送同⼀消息,不同的对象在接收时会产生不同的行为(重载实现编译时多态,虚函数实现运行时多态)
功能
多态性是允许你将父对象设置成为和⼀个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值
给它的子对象的特性以不同的方式运作 ;
简单⼀句话:允许将子类类型的指针赋值给父类类型的指针。
实现多态有两种方式
- 覆盖(override): 是指子类重新定义父类的虚函数的做法
- 重载(overload): 是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)