C++ 面向对象怎么入门?类、继承和多态该怎么用?

文章导读
Previous Quiz Next C++ 编程的主要目的是为 C 编程语言添加面向对象特性,而 C 语言本身就是最强大的编程语言之一。
📋 目录
  1. Object
  2. Class
  3. Abstraction
  4. Encapsulation
  5. Inheritance
  6. Polymorphism
  7. Overloading
A A

C++ 面向对象



Previous
Quiz
Next

C++ 编程的主要目的是为 C 编程语言添加面向对象特性,而 C 语言本身就是最强大的编程语言之一。

纯面向对象编程的核心是在代码中创建具有特定属性和方法的 object。在设计 C++ 模块时,我们试图将整个世界视为 object 的形式。例如,一辆车就是一个 object,它具有某些属性,如颜色、门数等。它还具有某些方法,如加速、刹车等。

面向对象编程的基础由几个主要概念构成 —

Object

这是面向对象编程的基本单元。即数据和操作数据的函数被捆绑为一个称为 object 的单元。

Class

当你定义一个 class 时,你定义了一个 object 的蓝图。这并不实际定义任何数据,但它定义了 class 名称的含义,即 class 的 object 将包含什么以及可以对该 object 执行什么操作。

Abstraction

数据 abstraction 指的是,只向外部世界提供必要信息并隐藏其背景细节,即在程序中表示所需信息而不呈现细节。

例如,数据库系统隐藏了数据存储、创建和维护的某些细节。类似地,C++ class 向外部世界提供不同的方法,而不透露这些方法和数据的内部细节。

Encapsulation

Encapsulation 是将数据及其操作该数据函数放置在同一位置。在使用过程式语言时,并不清楚哪些函数操作哪些变量,但面向对象编程提供了框架,将数据和相关函数放置在同一个 object 中。

Inheritance

面向对象编程最有用的方面之一是代码可重用性。正如名称所示,Inheritance 是从现有 class(称为 base class)形成新 class(称为 derived class)的过程。

这是面向对象编程的一个非常重要的概念,因为此特性有助于减少代码大小。

Polymorphism

能够以不同方式使用 operator 或 function,即为 operator 或 function赋予不同含义或功能的特性称为 polymorphism。Poly 意为多。即单个 function 或 operator 根据使用方式以多种不同方式工作的特性称为 polymorphism。

Overloading

Overloading 概念也是 polymorphism 的一个分支。当现有 operator 或 function 被使其操作新 data type 时,它就被称为 overloaded。