C/C++培训
达内IT学院
400-996-5531
今天写的这篇文章是用来描述在编程中面向对象的理解,让我们一起进步吧。
C++面向对象的特性可以总结为:封装、继承和多态。这也是大多数书中提到的C++的三大特性,接下来分别介绍一下这三大特征的含义和作用。
封装:
封装就是讲程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放在一个类中。对象是封装的最基本单位。属性用变量定义,行为用方法定义,方法可以直接访问同一个对象中的属性。
继承:
继承是子类自动共享父类数据和方法的机制。父类的相关属性,可以被子类重复使用,而对于自类中需要用到的新的属性和方法,子类可以自己扩展。
·多态:
多态包含了重载和重写。
重写(覆盖,一般发生在父类和子类中)就是把子类从父类里继承下来的方法重写一遍,这样父类里相同的方法就被覆盖了;
重载(发生在同一个类中)相同方法名,不同形参,返回值相同
多态可以简单地理解为“一个接口,多种方法”,程序在运行时才决定调用的函数,C++多态性时通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法成为覆盖或重写,只有重写了虚函数才算体现出C++多态性
本身区别重载和覆盖并不算困难,但是C++的隐藏规则使得问题复杂度升高,隐藏是指派生类的函数屏蔽了与其同名的基类函数
- 如果派生类中的函数与基类的函数同名,但是参数不同,此时,无论有无virtual关键字,基类的函数都将被隐藏;
- 如果派生类中的函数与基类函数同名,且参数也相同,但是基类函数没有virtual关键字,此时基类的函数被隐藏;
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved