【C++】4-1.10 c++类的抽象和封装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【C++】4-1.10 c++类的抽象和封装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1609字,纯文字阅读大概需要3分钟。
内容图文
![【C++】4-1.10 c++类的抽象和封装](/upload/InfoBanner/zyjiaocheng/592/ada74b114d444938bb9c95dc04096574.jpg)
【C++】4-1.10 c++类的抽象和封装
1.抽象
1.1 关于抽象的解释
在研究对象和系统时,为了更加专注于感兴趣的细节,去除对象或系统的物理或时空的细节、属性的过程,就是抽象;
简而言之:抽象就是提炼目标系统中我们关心的核心要素的过程;
比如对于矩形,我们关心的是边长,面积,我们进行抽象的时候就只关心这两个要素;
2.封装
封装指的是数据域的封装,什么是封装,为什么要封装数据,怎么封装?
2.1 什么是封装
下面从两个维度来解释:
一种实现数据和函数绑定的语言构造块,即class类,这种数据结构做数据封装;
一种限制直接访问对象组成部分的语言机制,即有属性权限之分;
简单来说,封装是绑定数据和函数的语言构造块,以及限制访问目标对象中的内容的手段;
比如对于矩形,我们限制对边长side的访问,把side成员放到私有属性中去,然后设置一个可以访问side成员的函数,并把这个函数放到公有属性中去,就实现了把side数据与函数绑定,最终实现了数据可以被相对安全的读和写,即实现了side数据的封装;
注意:
数据的封装目的,并非为了断了读写的途径,就像你收拾家,并不是把东西藏到万年都找不到。
2.2 为什么要封装
在定义class的时候,如果数据域采用public的形式,有以下问题:
2.2.1、数据可以被class类外的方法直接篡改;
2.2.2、上述问题,会导致class类出现不可预知的bug,维护比较麻烦;
2.3 怎么封装
将数据成员放到private私有属性里,这样实现外部无法直接更改的问题,
但是class类外,如何修改数据成员呢?
我们需要在公有属性里增加set、get函数,用于class外读写私有数据;
关于set、get函数:
2.3.1、get函数的一般样式
returnType getProperName(/*可以有参数*/){}
// 比如:double getSide(){}
如果是布尔类型时,样式如下:
bool isProperName(/*可以有参数*/){}
// 比如:bool isComplete(){}
2.3.2、set函数的一般样式
void setProperName(/*可以有参数*/){}
// 比如void setSide(){}
内容总结
以上是互联网集市为您收集整理的【C++】4-1.10 c++类的抽象和封装全部内容,希望文章能够帮你解决【C++】4-1.10 c++类的抽象和封装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。