C++ 类

0
17

类规范:包括类声明以及类方法定义

  • 类声明提供类的蓝图
  • 方法定义提供细节
  • 常见不通用的约定:类名首字母大写

类接口:

  • 接口由编写类的人提供的方法组成。接口让程序员能够编写与类对象交互的代码,从而让程序能够使用类对象。
  • 要使用某个类,必须了解其公共接口;要编写类,必须创建其公共接口。
  • 通常,C++程序员将接口(即类声明的一部分)放在头文件中,并将实现(类方法的代码)放在源代码文件中。

类、实例、对象:

C++关键字class指出定义一个类设计,该类声明的变量称为类或实例

类数据成员、类函数成员:

  • 要存储的数据以类数据成员的形式出现
  • 要执行的操作以类函数成员的形式出现
    • 成员函数可以就地定义,也可以原型表示
  • 每个新对象都有自己的存储空间,用于存储其内部变量和类成员;但同一个类的所有对象共享同一组类方法。

访问控制(public、private、protected):

  • 使用类对象的程序都可以直接访问公有部分,但只能通过公有函数(或友元函数)来访问对象的私有成员

  • 防止程序直接访问数据被称为数据隐藏

  • 不必在类声明中使用private,因为这是类对象的默认访问权限

封装(隐藏数据和实现):

  • 将实现细节放在一起并将它们与抽象分开被称为封装。例:
    • 将实现的细节隐藏在私有部分中
    • 将类函数定义和类声明放在不同文件中
  • 数据隐藏也是一种封装

类和结构:

  • C++对结构进行了扩展,使之具有与类相同的特性。它们之间唯一的区别是,结构的默认访问类型是public,而类为private。
  • C++程序员通常使用类来实现类描述,而把结构限制为只表示纯粹的数据对象

实现类成员函数:

  • 定义成员函数时,使用作用域解析运算符(::)来标识函数所属的类(未在类中定义)
  • 类方法可以访问类的private组件,访问对象其它成员函数不必使用作用域解析运算符

内联方法:

  • 定义位于类声明中的函数都将自动成为内联函数
  • 可以在类声明之外定义成员函数,并使其称为内联函数(使用inline)
  • 内联函数的特殊规则要求在每个使用它们的的文件中都要对其进行定义(通常放在头文件中)

方法使用哪个对象:

在OOP中,调用成员函数被称为发送消息,消息发送给调用它的对象,即使用调用它的对象

公有接口:

公有部分的内容构成了设计的抽象部分即公有接口

成员运算符:句点(.)

  

<

发布回复

请输入评论!
请输入你的名字