Visual Studio2017C++学习笔记(十三)-封装

前言

软件为visual studio2017,内容为C++学习笔记,以及相关的问题处理方法,目的是方便回顾和复习。
笔记来自于:黑马程序员C++教程。


一、面向对象的三大特性

  • 三大特性:封装、继承、多态
  • C++认为万事万物皆为对象,对象上有其属性和行为。
  • 例如1:人可以作为对象,属性有姓名、年龄、身高、体重......,行为有走、跑、吃饭、唱歌。。。。
  • 例如2:车也可以作为对象,属性有轮胎、方向盘、车灯。。。行为有载人、放音乐、放空调。。。
  • 具有相同性质的对象我们可以抽象称为属于人类属于车类

二、封装

1.意义

  • 封装是C++面向对象的三大特性之一
  • 封装的意义
    -将属性和行为作为一个整体,表现生活中的事物。
    -将属性和行为加以权限控制

2.封装意义一

在设计类的时候,属性和行为写在一起,表现事物

(1)类的基本语法

语法class 类型{ 访问权限: 属性 / 行为 }

(2)示例代码

  • 注意:属性使用变量来表示;行为使用函数来表示。
/设计一个圆类
const double PI = 3.14;
class Circle {
   
	//1、访问权限
	//2、公共权限
public:
	//2、属性,用变量来表示
	int r;//半径

	//3、行为,使用函数来表示
	double calculateZC() {
   
		return 2 * PI*r;
	};
};//
int main() {
   
	//示例1:设计一个圆类,求圆的周长
	//创建圆的对象
	Circle c1;
	c1.r = 2;
	cout << "圆的周长为:" << c1.calculateZC() << endl;
	
	system("pause");
	return 0;
	}

(3).案例-设计学生类

成员类中的-属性-和-行为- 我们统一称为 成员
属性成员属性 成员变量
方法 : 成员函数 成员方法

  • 代码示例:
//设计一个学生类
class   Student {
   
	//设置访问权限
public:
	//属性   使用变量表示属性

	string m_name;
	int m_number;

	//行为
	void show() {
   
		cout << "学生姓名:" << m_name << " 学生学号:" << m_number << endl;
	}
	void setName(string name) {
   
		m_name = name;
	}
	void setNumber(int num) {
   
		m_number = num;
	}
};
//类中的属性和行为 我们统一称为 成员
//属性   成员属性   成员变量
//方法   成员函数   成员方法
int main() {
   

	//创建一个具体的学生

	Student zy;//实例化一个类
	zy.m_name = "小洋洋";
	zy.m_number = 2018140615;
	zy.show();

	Student zk;//实例化一个类
	zk.m_name = "小猫猫";
	zk.m_number = 201814562;
	zk.show();

	Student zl;
	zl.setName("俊杰");
	zl.setNumber(2014125697);
	zl.show();
	system("pause");
	return 0;
	}

3.封装意义二

(1)访问权限

  • 访问权限:类在设计时,可以把属性行为放在不同的权限下,加以控制。

  • 访问权限有三种:

    • 1.public 公共权限
    • 2.protected保护权限
    • 3.private 私有权限

(2)示例

**public**    公有权限   类外**可以访问	 类内**可以访问
**protected** 保护权限   类外**不可以*访问   类内**可以访问
**private**   私有权限   类外**不可以*访问   类内**可以访问

protected

class person {
   
	//

你可能感兴趣的:(c++,visual,studio,学习)