C++基础教程(5):类与对象
过程编程(Procedural Programming)是一种编写软件的方法,它是一种以程序中发生的过程或操作为中心的编程方式。面向对象编程(Object Oriented Programming)是以对象为中心的,对象是从将数据和函数封装在一起的抽象数据类型。
面向对象编程与过程编程相比有几个优点:
- 执行起来更快更容易
- 为程序提供了清晰的结构
- 使代码更易于维护、修改和调试
- 可以用更少的代码和更短的开发时间创建完全可重用的应用程序
类(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;
}