1. 什么是类?什么是对象?两者之间什么关系?

类是一类事物的共同特征的抽象描述,它定义这类所有的属性和方法

  • 可以理解为模版
  • 类本身不占用空间,它只是一种定义,描述了对象一个是什么样子、能做什么

对象是根据类创建的具体实体,它拥有类中定义的属性和方法,并且占用实际的内存空间。

  • 可以理解为“模版的具体产物
  • 每个对象的属性可以有不同的值,但是都遵循类的类的定义和结构体是行为。

类和对象 的关系:

  1. 类是对象的抽象,对象是类的实例
  2. 类是数据类型,对象是变量
  3. 一个类可以创建多个对象

2. 对象的组成有哪些?类定义的一般格式?

在面向对象编程中,对象由两个部分组成:属性和方法

属性(成员变量)

描述对象的静态特征,即对象锁具有的特征或状态

方法(成员函数)

描述对象的动态行为,即对象能执行的动作或功能

类定义的核心是通过 class 关键字,结合访问控制符,封装属性(成员变量)和方法(成员函数),为创建对象提供模板。

3. 类中成员的访问属性有哪些?分别表示什么意思?

在C++类中,成员(包括成员变量和成员函数)访问属性通过访问访问控制符来定义,用于控制类外成员的访问。共有三种访问属性,分别是公有、私有、和保护。

  1. public(公有成员)
    • 类的公有成员可以被类内部,类外部以及该类的派生类直接访问。
    • 用于定义类外暴露“接口”,即允许外部通过对象直接调用的方法或需要公开的属性,是类与外部交互的窗口
  2. private(私有成员)
    • 类的私有成员只能被类内部的成员访问,类外部(包括通过对象直接访问)和派生类都是不能直接进行访问的
    • 用于隐藏类内部实现细节,比如核心数据,仅通过公有方法间接操作,确保数据的安全,是封装的核心体现。
  3. protected(保护成员)
    • 类的保护成员可以被类内部和该类的派生类访问,但是类的外部不能直接访问。
    • 介于共有和私有之间,主要继承场景,允许子类访问父类的某些成员,同时限制外部的访问。
访问属性类内部类外部派生类用途
public可访问可访问可访问定义对外接口
private可访问不可访问不可访问隐藏内部数据
protected可访问不可访问可访问允许子类继承的中间数据

更多推荐