c++面向对象三大特性:封装、继承、多态
思想:万物皆对象,对象包括其属性(数据)行为(函数),这就叫封装

封装

封装的意义:

  • 属性和行为作为一个整体,变成生活中的事物
  • 将属性和行为加以权限控制

设计
语法: class 类名{访问权限: 属性 / 行为};

class与struct有些类似,可以近似理解,二者区别是struct中的数据访问权限默认公共的,而class默认私有

类的实例化

通过类创建一个具体的对象,此时才真正的开辟了空间,类只是一个蓝图,模版,对象才是“实物”

通过 行为 赋值属性:
![[通过行为赋值属性.png]]

专业术语:
在这里插入图片描述

访问权限

  1. public 公共权限 :类内、外都可以访问
  2. protected 保护权限:类内可以访问、类外不可以访问(但子类可以访问
  3. private 私有权限:类内可以访问、类外不可以访问(子类也不能访问)

成员属性设置为私有

优点:

  1. 可以自己控制读写权限(通过成员函数)
  2. 对于“写”的权限,可以检测数据的有效性公共的成员函数可以看作一个接口私有数据不能直接访问,但可以通过这个接口来间接访问

封装案例

一般将数据成员的权限设置为私有,编写公共的函数进行对数据的设置以及获取
涉及到私有数据成员的访问,都可以通过编写公有函数来解决

面向对象封装的原则就是:**数据私有,行为公有**。私有成员不对外暴露,外部想访问或修改,只能通过类提供的公有成员函数

参数个数:
全局函数:两个对象,需要传两个参数
成员函数:1个参数
一个对象调用成员函数,函数参数中传入另一个对象

可以看视频理解(2个案例,这里只放了第二个) 22 类和对象-封装-设计案例2-点和圆关系_哔哩哔哩_bilibili

结语

本篇博客主要介绍和理解封装性,以下内容暂不进行叙述
在这里推荐lvy的博客,可以按需进行学习

下面先放上黑马的标题,后续可能会补全形成自己的笔记

构造函数

构造函数的作用,特点,代码:c++ 构造函数

静态成员

this指针

const修饰成员函数

友元

运算符重载

更多推荐