【C++】类的封装 ① ( 类和对象 | 面向对象三大特征 - 封装 继承 多态 | 类的封装引入 )

2023-10-15 16:52:04 浏览数 (1)

一、类和对象

1、类和对象概念

" 面向对象编程 " 是一种 " 编程范式 " , 可以适用于所有的 高级语言 , C 也包括在内 ;

面向对象编程 基于 " 对象 " 的概念 , 在 对象 中 可以 封装 数据 ( 成员变量 ) 和 操作 ( 成员方法 ) ;

面向对象编程 提供了 对 外界事物 更好的 抽象 和 模块化 , 使代码更易于理解 ;

下面介绍 面向对象 的 两个重要概念 类 和 对象 ;

  • " 类 " 描述了 对象 的 数据 ( 成员变量 ) 和 操作 ( 成员函数 ) , 是 定义对象 的 蓝图 ;
  • " 对象 " 是根据 类 创建的 实例 , 是 类 的具体表示 , 每个 对象 都有其自己的 成员变量 和 成员函数 ;

2、代码示例 - 定义类和对象

定义类 : 创建 MyClass 类 , 其中定义了 myVariable 成员变量 和 myFunction 成员方法 ;

代码语言:javascript复制
class MyClass {  
public:  
    int myVariable;  // 成员变量  
  
    void myFunction() {  // 成员函数  
        // 函数体  
    }  
};

定义上述类的对象 : 定义了 上述 MyClass 类的 实例对象 myObject ;

代码语言:javascript复制
MyClass myObject;  // 创建一个 MyClass 类型的对象

二、类的封装

1、面向对象三大特征

面向对象三大特征 :

  • 封装 Encapsulation : 将 数据 和 操作 封装在类中 , 可以将 类 内部的 实现细节 隐藏 , 只暴露有限的 接口 与外部进行交互 , 从而达到保护 类 对象的 内部状态 不被外部随意修改 ;
  • 继承 Inheritance : 创建一个新的 子类 , 继承现有 父类 的 属性和方法 , 子类可以添加新的属性和方法以实现更强大的功能 , 还可以重写父类中的方法以实现不同的行为 ; 通过继承,可以构建一个 分层的 类层次结构 , 从而促进代码的重用和扩展 ;
  • 多态 Polymorphism : 一个接口 或 父类引用可以指向多种实际类型 ;

面向对象的三大特征 封装 Encapsulation / 继承 Inheritance / 多态 Polymorphism 共同构成了面向对象编程的基本原则 , 为代码的 可读性 / 可维护性 / 可扩展性 提供支持 ;

2、类的封装引入

封装 Encapsulation : 将 数据 和 操作 封装在类中 , 可以将 类 内部的 实现细节 隐藏 , 只暴露有限的 接口 与外部进行交互 , 从而达到保护 类 对象的 内部状态 不被外部随意修改 ;

将 现实世界 中 存在的 客观事物 封装成 抽象 的 类 , 类 中 包含了 数据 和 操作 ,

  • 只有 可信的 类 或 对象 才能访问 隐藏起来的信息 ;
  • 大部分类默认只能访问 类 公开的接口 ;

C 类 中 , 通过 " 访问控制修饰符 " 定义 类 成员变量 和 成员方法 的 访问级别 ;

0 人点赞