c++学习[04] 类和对象 1 封装
·
c++面向对象三大特性:封装、继承、多态
思想:万物皆对象,对象包括其属性(数据)和行为(函数),这就叫封装
封装
封装的意义:
- 将属性和行为作为一个整体,变成生活中的事物
- 将属性和行为加以权限控制
设计类
语法: class 类名{访问权限: 属性 / 行为};
class与struct有些类似,可以近似理解,二者区别是struct中的数据访问权限默认是公共的,而class默认私有
类的实例化
通过类创建一个具体的对象,此时才真正的开辟了空间,类只是一个蓝图,模版,对象才是“实物”
通过 行为 赋值属性:![![[通过行为赋值属性.png]]](https://i-blog.csdnimg.cn/direct/d0ab68bf97bc4e4a83c3f83f7392e9f1.png)
专业术语:
访问权限
- public 公共权限 :类内、外都可以访问
- protected 保护权限:类内可以访问、类外不可以访问(但子类可以访问)
- private 私有权限:类内可以访问、类外不可以访问(子类也不能访问)
成员属性设置为私有
优点:
- 可以自己控制读写权限(通过成员函数)
- 对于“写”的权限,可以检测数据的有效性(公共的成员函数可以看作一个接口,私有数据不能直接访问,但可以通过这个接口来间接访问)
封装案例
一般将数据成员的权限设置为私有,编写公共的函数进行对数据的设置以及获取
涉及到私有数据成员的访问,都可以通过编写公有函数来解决
面向对象封装的原则就是:**数据私有,行为公有**。私有成员不对外暴露,外部想访问或修改,只能通过类提供的公有成员函数
参数个数:
全局函数:两个对象,需要传两个参数
成员函数:1个参数
一个对象调用成员函数,函数参数中传入另一个对象
可以看视频理解(2个案例,这里只放了第二个) 22 类和对象-封装-设计案例2-点和圆关系_哔哩哔哩_bilibili
结语
本篇博客主要介绍和理解封装性,以下内容暂不进行叙述
在这里推荐lvy的博客,可以按需进行学习
-
面向过程 vs 面向对象 、类的引入…this指针:
c++类和对象(上)——lvy -
构造函数、析构函数、拷贝构造函数、const成员、运算符重载:
c++类和对象(中)——lvy -
构造函数2、静态成员、友元:
c++类和对象(下)——lvy
下面先放上黑马的标题,后续可能会补全形成自己的笔记
构造函数
构造函数的作用,特点,代码:c++ 构造函数
静态成员
this指针
const修饰成员函数
友元
运算符重载
更多推荐
所有评论(0)