c++三大特性

C++的三大特性为:继承,多态,封装
在这里插入图片描述
封装可以隐藏实现细节,使得代码模块化,
继承可以扩展已存在的模块,它们目的都是为了: 代码重用。
而多态是为了实现另一个目的: 接口重用。

(1)继承。

一个对象直接使用另一个对象的属性和方法。

定义:继承就是新类从已有类那里得到已有的特性。 类的派生指的是从已有类产生新类的过程。原有的类成为基类或父类,产生的新类称为派生类或子类,

子类继承基类后,可以创建子类对象来调用基类函数,变量等

优点:
1.减少重复的代码。
2.让类与类之间产生了关系。继承是多态的前提。
3.继承增加了类的耦合性。
缺点:
1.继承在编译时刻就定义了,无法在运行时刻改变父类继承的实现;
2.父类通常至少定义了子类的部分行为,父类的改变都可能影响子类的行为;
3.如果继承下来的子类不适合解决新问题,父类必须重写或替换,那么这种依赖关系就限制了灵活性,最终限制了复用性。

虚继承:
为了解决多重继承中的二义性问题,它维护了一张虚基类表。

(2)多态。

多态是同一个行为具有多个不同表现形式或形态的能力,简单概括为“一个接口,多种实现”
C++中有两种多态: .
1、静多态
----函数重载:包括普通函数的重载和成员函数的重载
----函数模板的使用
2、动多态在C++中是通过虚函数实现的 ,即在基类中存在一些虚接口(基类的函数前加上virtual关键字),其派生类重写这个接口,这样就构成了多态。 这样通过使用基类的指针或者引用指向子类的对象,就可以实现调用子类对应的函数的功能。运行时将会根据对象的实际类型来调用相应的函数,如果对象类型是派生类,就调用派生类的函数,如果对象类型是基类,就调用基类的函数。动多态的函数调用机制是执行期才能进行确定,所以它是动态的。

1,多态的体现

父类的引用指向了自己的子类对象。

父类的引用也可以接收自己的子类对象。

2,多态的前提

多态的存在有三个前提:

、需要有继承关系

、子类重写父类的方法

、父类引用指向子对

3,多态的好处

多态的出现大大的提高程序的扩展性。

4,多态的弊端

提高了扩展性,但是只能使用父类的引用访问父类中的成员。
1)易读性比较不好,调试比较困难
2)模板只能定义在.h文件中,当工程大了之后,编译时间十分的变态

(3)封装。

隐藏对象的属性和实现细节,仅仅对外提供接口和方法。

封装的类有如下的访问类型:

1)公有( public )成员可以在类外访问;

2)私有( private )成员只能被该类的成员函数访问;

3)保护( protected )成员只能被该类的成员函数或派生类的成员函数访问。

封装好处:

1.将变化隔离;

2.便于使用。

3.提高重用性。

4.提高安全性。

封装原则:

将不需要对外提供的内容都隐藏起来。

把属性都隐藏,提供公共方法对其访问。

缺点:

1)如果封装太多,影响效率; 2)使用者不能知道代码具体实现。

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值