c++面向对象之封装

本文主要探讨C++中的面向对象特性——封装。封装通过设定不同访问权限(public、protected、private)来控制类的属性和方法的访问,强调了类的内部保护和外部接口的控制。文中通过实例讲解如何定义和实现封装类,并将其组织到不同的源文件中,如点类(Point)和圆类(Circle)。
摘要由CSDN通过智能技术生成

该系列是本人对c++的面向对象的知识点的笔记整理。

封装

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

封装的意义

  1. 类包括属性和方法。在设计类时,属性和方法写在一起, 属性和方法统称为成员,属性称为成员属性或者成员变量,行为称为成员函数或者成员方法

  2. 类在设计时,可以把属性和方法放在不同的权限下,可以对它们加以控制。
    访问权限分为三种:
    (1)公共权限:public 特点:成员类内可以访问,类外可以访问。
    (2)保护权限:protected 特点: 成员类内可以访问,类外不可以访问,子类可以访问父类中保护的内容。
    (3)私有权限:private 特点:成员类内可以访问,类外不可以访问,子类不可以访问父类的私有内容。

注意:类内的成员如果不设置指定的访问权限,则***系统默认设置的访问权限为private***。

以下是一个关于定义立方体类的例子:

class Cube
{
   
private:
	double cube_L; //长
	double cube_W; //宽
	double cube_H; //高

public:
	//设置立方体的长宽高
	void set(double l, double w, double h)
	{
   
		cube_L = l;
		cube_W = w;
		cube_H = h;
	}
	double getL()
	{
   
		return cube_L;
	}
	double getW()
	{
   
		return cube_W;
	}
	double getH()
	{
   
		return cube_H;
	}

	//获取立方体面积
	double calculateArea()
	{
   
		return 2 * cube_L * cube_W + 2 * cube_L * cube_H + 2 * cube_H * cube_W;
	}

	//获取立方体体积
	double calculateVolume()
	{
   
		return cube_H * cube_L * cube_W;
	}

};

把自定义的类放到其他文件中

在设计类时,可以把类的声明放在一个头文件(xxx.h)中,把类的成员函数的实现放在一个xxx.cpp文件中。

以点和圆的关系作为例子:

  1. 定义一个点类,点是指XY坐标系上的点,用(x,y)表示
class Point
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值