C++中面向对象的编程概念

177 阅读4分钟

大家好,今天在这个博客中我们将讨论什么是C++中的面向对象编程概念,以及用C++实现面向对象编程概念。

在C++中,面向对象编程的四个基本支柱是:

  • 封装
  • 多态性
  • 继承性
  • 抽象

类是一种由用户定义的数据类型,它拥有自己的数据成员和成员函数。它可以通过创建一个该类的实例(对象)来访问和使用。

"一个类是一个对象的蓝图"

对象

它是面向对象编程的一个基本单位,代表现实生活中的实体,如椅子、自行车、标记等。一个对象是一个类的实例。

定义类和对象的声明。

对象的语法。

ClassName ObjectName。

封装

基本上,它是将数据成员和成员函数合并成一个实体的过程,称为类。此外,它还被用来防止对数据的直接访问。如果你想访问数据,你必须通过该类的函数来访问它。

例如:胶囊,它是由不同的药物包裹的。所以这就是我们在封装中所做的。

封装的代码实现

输出 5

多态性

首先,我们要知道多态性这个词的来源。然而,多态性来自于两个词 "Poly "和 "Morphs"。其中poly表示许多,morphs表示形式。它是指在同一个类中,能够从同一名称的函数中执行两个或两个以上的不同任务的能力。

例如:一个人在同一时间可以是父亲、儿子、兄弟、雇员等。

多态性的类型

函数重载。

因为它是一种编译时的多态性,其中函数的名称应该是相同的。但是,参数应该是不同的。在函数重载中,我们可以在不同类型的参数或不同数量的参数的帮助下定义函数。因此,在这些差异的帮助下,编译器可以区分不同的函数。

函数重载的代码实现。

输出。

10

15

操作符重载。

操作符重载是使一个操作符在不同情况下表现出不同行为的过程。换句话说,我们可以说操作符被重载,在用户定义的类中具有特殊的意义。因为,它是用一个函数名来执行不同类型的任务。

比如说。操作符 "+",我们可以在String这样的类中重载它,这样我们就可以通过使用+来连接两个字符串了。

操作符重载的代码实现。

輸出 计算结果是:10

函数重载。

由于它是运行时的多态性,它提供了一个功能,允许我们在子类中拥有父类中已经存在的相同功能。然而,子类继承了父类中的所有数据成员和成员函数。

总之,如果我们谈论函数重写的优势。它有助于节省内存空间,保持一致性,以及我们代码的可读性。

函数重写的代码实现。

输出 派生类

继承性

继承是面向对象编程概念中最重要的特征。因为,继承是一个过程,其中一个对象自动获得其父对象的所有属性和行为。

此外,如果我们谈及继承的优点,它可以增加代码的可重用性。

狐狸的例子。在父子关系中,儿子继承了父亲的物理属性。

在C++中总共有五种类型的继承。

  • 单一继承 单一继承 是指子类只从一个父类中继承。

  • 多级继承多重继承是指派生一个新的类,从两个或更多的类中继承属性的过程。

  • 多重继承多重继承是指派生出继承了两个或多个类的属性的新类。

  • 分层继承分层继承是一种继承类型,在这种继承中,一个以上的子类被单个基类所继承。它被称为分层继承(hierarchical Inheritance)。

  • 混合继承混合继承是两种或多种继承类型的结合。

比如说。让我们把两种继承方式结合起来,即分层继承和多重继承,如下图所示。

抽象

由于抽象也是面向对象编程概念的重要特征,因为它提供了数据隐藏功能。换句话说,它是一种属性,通过它我们可以向外界隐藏一个程序的完整实现,只向他们显示相关的信息,它被用来为数据提供安全,防止未经授权的访问。

例如:ATM机。ATM机的所有性能,如现金提取、汇款、银行报表等。但我们不知道ATM机的内部工作。

抽象的优点

  • 它避免了代码的重复,增加了代码的可重用性
  • 它帮助用户避免编写低级别的代码

抽象的代码实现

code implementation of abstraction 输出。

a = 10

b = 20

结语

总之,在这个博客中,我们学习了C++语言中面向对象编程的概念。为了更好地理解,我们还实现了代码,并谈论了现实生活中的例子。

我希望你喜欢我的博客。如果你有任何建议,请发表评论。

谢谢!