0
点赞
收藏
分享

微信扫一扫

浅谈c++中面对对象的思想---封装

类与对象

c++面对对象的三大特征为:封装、继承、多态

c++​面对对象的思想认为完事万物都皆为对象,对象上有具有其属性和行为。

浅谈c++中面对对象的思想---封装_封装

1.1封装

1.1.1封装的意义之一

封装是c++面向对象三大特征之一
封装的意义:

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

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

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

​class 类名​
{
访问权限:
属性 / 行为​
}

设计一个类求圆的周长和面积
代码示例:

# include <iostream>
using namespace std;
const double PI=3.14;

//封装一个圆类 求圆的面积 s = Π*r^2
class circle
{
//属性
public:
//半径
double r;

//行为
double S_circle()
{
return PI * r * r;
}

double C_circle()
{
return PI * 2*r;
}
};

int main()
{
//通过圆类 创建一个具体的圆s1对象
circle s1;
//给对象s1进行赋值
s1.r = 1.32;
cout << "圆的面积是:" << s1.S_circle() << endl;
//注意类里面的函数在main中仍然要以 函数的方式 调用
cout << "圆的周长是:" << s1.C_circle() << endl;
}

在写代码时候注意:

   类内的函数在main函数中仍然要以 函数的方式 调用

输出结果

浅谈c++中面对对象的思想---封装_访问权限_02

1.1.2封装的意义之二

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

  1. public ​ 公共权限-------​类内可以访问 类外也能访问
  2. protecte​d ​ 保护权限------​类内可以访问 类外不能访问
  3. private ​ 私有权限------​类内可以访问 类外不能访问

1.1.3 struct 和class的区别

c++中和structural和class唯一区别就是​在于默认的访问权限不同

struct:默认权限为 公共 public

class:默认权限为 私有 private

代码:

class c1
{
//class age 默认为私有
int age;
};

struct c2
{
//struct cd 默认为共有
int cd;
};

int main()
{
class c1 s;
//s.age = 10; //不可访问,无访问权限
struct c2 ss;
ss.cd = 100; // 可以访问
}

在实际写代码的时候一定要注意:

设计好类内各个成员的权限,以免造成后期的问题

举报

相关推荐

0 条评论