搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
oprspq
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
STM32 通过HAL库实现双机SPI程序烧录之一SPI双机通信_hal_spi_receive_it
2
如何用文心一言开发前端代码_文心一言上下文长度
3
自动化防DDoS脚本
4
mitmdump命令下无法导入python第三方包(requests)的问题解决_mitmdump -s 没包怎么办
5
R语言实现机器学习_r语言对adult数据集进行机器学习
6
大模型+自动驾驶
7
SpringBoot添加自定义消息转换器
8
SpringBoot实现多线程处理任务_springboot多线程并发处理
9
作用域运算符的用途
10
vue3 根据点击位置,实现一个用户头像弹框定位_前端vue怎么根据图片的点位定位元素的位置
当前位置:
article
> 正文
理解C++三大特性_对于c++三大特性的理解
作者:oprspq | 2024-01-29 15:36:40
赞
踩
对于c++三大特性的理解
封装,继承,多态
封装可以隐藏实现细节,使得代码模块化,继承可以扩展已存在的模块,它们目的都是为了:
代码重用
。而多态是为了实现另一个目的:
接口重用
。
什么是多态?
eg:开门,开窗户,开电脑,这里“开”就是多态。
多态性可以简单概括为“一个接口,多种实现”,是通过虚函数实现的。基类提供一个虚接口,其派生类重写这个接口,这样就构成了多态。
面向对象———封装(特性之一)
封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装好处:
1.将变化隔离;
2.便于使用。
3.提高重用性。
4.提高安全性。
封装原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。
private:关键字
A:用于修饰成员变量和成员方法。
B:被修饰的内容在其他类中是不可以被访问的。
注意:私有仅仅是封装的一种体现而已。
面向对象———继承(特性之二)
继承是一指一个对象从另一个对象获得功能的过程,它提供了一种明确表述共性的方法。是一个不断向上抽取的过程
例如:所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。
继承与封装可以共同作用.如果一个给定的类封装了某些属性,它的任何子类将会继承同样得属性,另加各个子类所有得特有属性。
继承优点:
1,提高了代码的复用性。
2,让类与类之间产生了关系。有了这个关系,才有了多态的特性。
面向对象———多态(特性之三)
多态简单说,就是某一类事物多种存在形态。例如,猫对应的类型是猫类型,但同时他也是动物中的一种,也可以把猫称为动物。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数扩展性。
1,多态的体现
父类的引用指向了自己的子类对象。
父类的引用也可以接收自己的子类对象。
2,多态的前提
必须是类与类之间有关系。要么继承,要么实现。
通常还有一个前提:存在覆盖。
3,多态的好处
多态的出现大大的提高程序的扩展性。
4,多态的弊端
提高了扩展性,但是只能使用父类的引用访问父类中的成员。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/article/detail/43361
推荐阅读
article
一起来看
Google
在
中国
国际
进口
博览会
的
精彩展示!...
在
上海举办
的
中国
国际
进口
博览会
上,位于 3 号馆
的
Google
展台精彩纷呈不容错过:Shadow Play 体验让人...
赞
踩
article
python
中
csv
文件
的
创建
、
读取
等
操作
总结_使用
vscode
创建
csv
文件
...
python
中
csv
文件
的
创建
、
读取
等
操作
总结,以列表方式写入,以字典方式写入,以列表方式
读取
,以字典方式
读取
_使用vs...
赞
踩
article
[
ubuntu
]用
SSH
实现
ubuntu
系统
互联并传输
文件
(无
图形界面
)_
ubuntu
ssh
上传文...
当传输大
文件
时,
SSH
可进行迅速可靠的传输任务。本方法适用于
ubuntu
系统
之间建立连接并传输
文件
,不需要
图形界面
操作,...
赞
踩
article
剑
指
offer
系列——
剑
指
Offer
11. 旋转数组的最小数字(C
语言
)_
剑
指
offer
c
语言
...
⭐️前面的话⭐️大家好!博主开辟了一个新的专栏——
剑
指
offer
,我要开始刷题了!这个专栏会介绍《
剑
指
offer
》书上所...
赞
踩
article
19.1
K
Star
,
这个
编辑器
真的香!...
哈喽
,
大家好
,
我是开源君
,
一个资深的互联网玩家
,
致力于为大家分享各领域优质开源项目。各位开源老铁们
,
最近公众号改版了
,
大...
赞
踩
article
Python
实现将
内容
写入
文件
的五种
方法
总结_
python
写入
文件
...
本篇带你详细看一下
python
将
内容
写入
文件
的
方法
以及细节,主要包括write()
方法
、writelines()
方法
、...
赞
踩
article
Linux
的
.
bashrc
有
什么
作用?...
CSDN博客. https://blog.csdn.net/Heyyellman/article/details/111...
赞
踩
article
【
华为
OD
机试
真题
Java
】
篮球比赛
分
组_
华为
机试
题目
分
两队
...
篮球(5V5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍的总体战斗力。现有10个球员准备
分
为两...
赞
踩
article
python3
使用
writerows
写入
csv
时有多余
空行
的
处理办法...
python3
使用
writerows
写入
csv
时有多余
空行
的
处理办法Python 2 Python 3
使用
writer...
赞
踩
article
LeetCode
435
. 无
重叠
区间
_无
重叠
区间
超时...
LeetCode
435
. 无
重叠
区间
文章目录
LeetCode
435
. 无
重叠
区间
题目描述一、解题关键词二、解题报告1...
赞
踩
article
python
之
selenium
入门教程_
python
selenium
...
python
,
selenium
的简单入门,主要介绍了工作原理、元素的定位和简单的元素操作,以及等待的设置_
python
...
赞
踩
article
python
之
XIsxWriter
:操作
Excel
示例
详解_
python
xlsxwriter
...
方法分别向单元格’A2’、‘B2’、‘A3’、'B3’写入数据,并将数据格式应用于这些单元格。方法分别向单元格’A1’和...
赞
踩
article
架构
师之路
---
架构
的
演变详解...
EAI 是将基于异构平台下
的
业务应用系统集成在一起
的
一种技术,是解决各个系统之间
的
互联、互相传输数据
的
一种解决方案。那为...
赞
踩
article
Ubuntu
Desktop
隐藏 /
显示文件
和
文件夹
...
Ubuntu
Desktop
隐藏 /
显示文件
和
文件夹
Ubuntu
Desktop
隐藏 /
显示文件
和
文件夹
...
赞
踩
article
ubuntu
16.04
爬虫
分布式
部署--遇到的
redis
问题_
爬虫
无法推任务到
redis
...
打开保存失败,权限不足,我的
redis
是apt-get 安装的,解决方式:您需要将以下内容添加到/ etc / syst...
赞
踩
article
Python
爬虫
编程
14
——
移动
端
爬取_
移动
端
爬虫
...
目录
移动
端
数据简介adb的简介与使用adb的安装与使用adb有什么作用?adb如何使用?fiddler抓包工具的使用常见...
赞
踩
article
ORB
-
SLAM
策略
思考之
RANSAC
...
【代码】
ORB
-
SLAM
策略
思考之
RANSAC
。
ORB
-
SLAM
策略
思考之
RANSAC
...
赞
踩
article
C++:44---
关键字
virtual
、
override
、
final
...
一、虚函数概念:在函数前面加
virtual
,就是虚函数虚函数的一些概念:只有成员函数才可定义为虚函数,友元/全局/sta...
赞
踩
article
Java
Web3J
:使用
web3j
调用自己
的
智能
合约
,返回一个内部有数组
的
对象结构时出现
NPE
问...
Java
Web3J
:使用
web3j
调用自己
的
智能
合约
,返回一个内部有数组
的
对象结构时出现
NPE
问题
Java
Web3...
赞
踩
article
本地
部署
Tomcat
开源
服务器
并结合内网
穿透
远程
访问
...
Tomcat
作为一个轻量级的
服务器
,不仅名字很有趣(让人想起童年),也拥有强大功能,由于其可以实现JavaWeb程序的装...
赞
踩
相关标签
python
数据分析
爬虫
ubuntu
ssh
算法
二分法
面试
剑指offer
c语言
java
编程语言
大数据
人工智能
开发语言
经验分享
程序人生
linux
运维
服务器
华为
数据结构
csv