C++基础教程(5):类与对象

过程编程(Procedural Programming)是一种编写软件的方法,它是一种以程序中发生的过程或操作为中心的编程方式。面向对象编程(Object Oriented Programming)是以对象为中心的,对象是从将数据和函数封装在一起的抽象数据类型。

C++基础教程(5):类与对象

面向对象编程与过程编程相比有几个优点:

  • 执行起来更快更容易
  • 为程序提供了清晰的结构
  • 使代码更易于维护、修改和调试
  • 可以用更少的代码和更短的开发时间创建完全可重用的应用程序

类(Class)和对象(Object)是面向对象编程的两个主要方面。 类是对象的模板,对象是类的实例。 创建对象时,对象会继承类中的所有变量和函数。

类与对象

1、类的定义

要创建一个类,请使用class关键字:

class ClassName {     // 创建名称为ClassName的类
  public:             // 访问说明符,表示可以从类外部访问
    int myNum;        // 在类中声明变量时,它们称为属性。
    string myString;  // 在类中声明变量时,它们称为属性。
};
  • class关键字用于创建一个名为MyClass的类。
  • public关键字是一个访问说明符,它指定类的成员(属性和方法)可以从类外部访问。
  • 在类内部,有一个整型变量myNum和一个字符串变量myString。 在类中声明变量时,它们称为属性。
  • 最后以分号 ; 结束类定义。

2、对象的定义

对象通过类创建的。 前面已经创建了名为MyClass的类,所以现在我们可以使用它来创建对象:指定类名,后跟对象名。

class MyClass {       // 先创建MyClass类
  public:             
    int myNum;        
    string myString; 
};

int main() {
  MyClass myObj;  // 通过MyClass类创建类的对象myObj

  // 访问对象的属性并赋值
  myObj.myNum = 15; 
  myObj.myString = "Some text";

  // 屏幕显示对象的属性
  cout << myObj.myNum << "\n";
  cout << myObj.myString;
  return 0;
}

可以通过类创建多个对象

// 创建有brand,model,year三个属性的Car对象
class Car {
  public:
    string brand;   
    string model;
    int year;
};

int main() {
  // 创建第一个Car对象
  Car carObj1;
  carObj1.brand = "BMW";
  carObj1.model = "X5";
  carObj1.year = 1999;

  // 创建第二个Car对象
  Car carObj2;
  carObj2.brand = "Ford";
  carObj2.model = "Mustang";
  carObj2.year = 1969;
}

类的方法

方法(Method)是属于类的函数,既可以在类的内部定义函数,也可以在类的外部。

class MyClass {        // 创建了一个类
  public:              // 访问说明符,表示可以从类外部访问
    void myMethod() {  // 在内部定义了一个类的方法/函数
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;     // 创建一个对象
  myObj.myMethod();  // 调用对象方法
  return 0;
}