一、类和对象




1、类和对象概念


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

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

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


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

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

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


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

class MyClass {  
public:  
    int myVariable;  // 成员变量  
  
    void myFunction() {  // 成员函数  
        // 函数体  
    }  
};

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

MyClass myObject;  // 创建一个 MyClass 类型的对象




二、类的封装




1、面向对象三大特征


面向对象三大特征 :

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

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


2、类的封装引入


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


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

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

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

09-08 14:56