OOP的三大特性------封装、继承、多态
2024-10-15 16:17:33
封装
1、<1>类背后隐藏的思想是数据抽象和封装
<2>信息隐藏,隐藏对象的实现细节,不让外部直接访问到
将数据成员和成员函数一起包装到一个单元里,单元以类的形式实现
<3>将数据成员和成员函数包装进类中,加上具体实现的隐藏, 共同被称作封装,其结果是一个同时带有特征(比如车的价格 车牌号)和
行为(比如开车 停车)的数据类型
<4>定义类,定义其数据成员、成员函数的过程称为封装类
2、信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因
信息隐藏的原因包括:
<1> 对模块的任何实现细节所作的更改不会影响使用该模块的代码(对类修改细节 不影响main函数里面的代码)
<2>防止用户意外修改数据
<3>使模块易于使用和维护
3、除非必须公开底层实现细节,否则应该将所有字段指定为private加以封装
4、封装使数据成员私有,控制数据访问限制,增强了类的可维护性
5、隐藏方法实现细节(方法体),向外部提供公共接口(方法头),以供安全调用
6、简化调用,方便维护
继承
1、继承在生活中的例子,牛继承食草动物,食草动物继承动物
2、继承符合的关系 : 父类更通用更抽象、子类更抽象更具体
3、继承背后的思想就是基于已存在的类来构造新的类,但从已存在类继承是,就重用了它的方法和成员,还可以添加新的方法和成员来定制新类来应对需求。
4、子类也叫派生类,父类也叫基类
5、C++继承有三种方式——公有继承(默认),私有继承,多重继承
6、公有继承的写法
class Teacher : public Person
{ };
最新文章
- Position属性四个值:static、fixed、absolute和relative的区别和用法
- Hash
- iOS: Crash文件解析(一)
- mac os x10.10 安装thrift
- 【转】Linux中如何安装.rpm、.tar、.tar.gz和tar.bz2
- Nginx配置文件nginx.conf中文详解(总结)
- Android之自定义生成彩色二维码
- c#中将默认常量(32bit)转换为8bit
- unity 播放外部视频
- redisTemplate 操作
- angularjs fileUpload
- Zookeeper 笔记-角色
- FLP不可能性(FLP impossibility)
- Mahout kmeans聚类
- 关于HTTP协议学习(二)
- H3C_IRF_BFD配置
- Postgres创建管理员角色
- vue-watch
- Servlet笔记1--概述
- 打包egg