首页 > 其他分享 >类和对象(封装)

类和对象(封装)

时间:2023-08-17 14:36:11浏览次数:43  
标签:封装 对象 成员 访问 权限 行为 class 属性

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

封装

将属性和行为作为一个整体,表现生活中的事物。

将属性和行为加以权限控制。

 意义1:

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

实例化: 通过一个类创建一个对象的过程。

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

类中的属性和行为,统称为 成员

属性 成员属性 成员变量

行为 成员函数 成员方法

例子:

//圆周率

const double PI = 3.14;

//设计一个圆类,求周长

//圆周长公式:2*PI*半径


//class 代表设计一个类,类后面紧跟着的是类的名称。

class Cricle   //圆类

{

//访问权限  :

//公共权限

public:

//属性:

//半径

int m_r;

//行为:

//获取圆的周长

double calculateZC()

{

 return 2 * PI * m_r;

}

};

int main()

{

//通过圆类,创建具体的圆(对象)

Cricle c1;

//给圆对象的属性进行赋值

c1.m_r = 10;

//2*3.14*10=62.8

cout << "圆的周长:" << c1.calculateZC()<< endl;

system("pause");

return 0;

}


意义二:

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

访问权限:

1.public  公共权限       //类内可以访问,类外可以访问

2.protected 保护权限  //类内可以访问,类外不可以访问

3.private 私有权限     //类内可以访问,类外不可以访问


struct  与 class 的区别:

在c++中

struct 默认权限为公共。

class 默认权限为私有。 


成员属性设置为私有

优点1:将所有成员设置为私有,可以将自己控制读写权限。

优点2:对于写权限,我们可以检测数据的有效性。

标签:封装,对象,成员,访问,权限,行为,class,属性
From: https://blog.51cto.com/u_15839001/7122267

相关文章

  • 面向对象概述
    什么是面向对象 面向对象思想是一种程序设计思想,这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。面向过程与面向对象面向过程 完成一个功能......
  • python 初始化类对象时没有执行类的构造法方法
    这个地方错了  修改: ......
  • 面向对象开发的继承
    继承 :在面向对象的编程中,有两种截然不同的继承类型:实现继承和接口继承。实现继承:表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数。在实现继承,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指定重写某个函数的实现代码。在需要给现......
  • .NET对象的内存布局
    在.NET中,理解对象的内存布局是非常重要的,这将帮助我们更好地理解.NET的运行机制和优化代码,本文将介绍.NET中的对象内存布局。.NET中的数据类型主要分为两类,值类型和引用类型。值类型包括了基本类型(如int、bool、double、char等)、枚举类型(enum)、结构体类型(struct),它们直接存储值。引......
  • 计算机 封装的思想
    封装思想!——封装思想使细节隐藏而让对象以整体功能、性质的面目出现。人们往往可以把封装后事物看成一个整体的对象加以利用或认知,而无需太多关注内部结构和运行机理。——封装思想大大简化了人类对世界的认知。也是人类文明发展到如此高度的重要原因。 封装思想无处不在—......
  • 封装socket网络通信模块
    封装socket网络通信模块-network由于TCP、UDP客户端、服务端的操作流程固定,所以为了后期使用方便,把socket网络通信封装成网络模块并生成libnw.so共享库头文件network.h#ifndefNETWORK_H#defineNETWORK_H#include<netinet/in.h>#include<stdbool.h>#include<stdint.h>......
  • 使用hutool封装的Excel工具类
    好用的工具类hutool工具类hutool操作excel这篇文章使用hutool的excel包封装项目中使用的excel工具类;引入包可以简单直接引入hutool-all,但是如果不用其他的话建议单独引入excel包<dependency><groupId>cn.hutool</groupId><artifactId>hutool-......
  • 学习笔记 - Java 面向对象_上
    学习面向对象内容的三条主线Java类及类的成员:属性、方法、构造器;代码块、内部类面向对象的特征:封装、继承、多态、(抽象)其他关键字的使用:this、super、package、import、static、final、interface等类的相关概念类和对象概述类(Class)和对象(Object)是面向对象的核心概念。......
  • Java中对象的序列化和反序列化方法
     Java中要序列化一个对象,必须与一定的对象I/O流联系起来,通过对象输出流将对象状态保存下来,再通过对象输入流将对象状态恢复。 java.io包中,提供了ObjectInputStream和ObjectOutputStream将数据流功能扩展至可读写对象。在ObjectInputStream中用readObject()方法可以直接读取一......
  • 推荐一个面向对象的javascript框架mootools
    MooTools是一个简洁,模块化,面向对象的开源JavaScriptweb应用框架。浏览器支持:支持IE6以上,也支持firefox,safari等与jQuery、Prototype、YUI、Dojo几个更有名的相比,它的优点在:优点:1.灵活,模块化的框架,用户可以选择自己需要的组件。2.MooTools符合OO的思想,使代码更强壮,有力,有效。适合......