面向对象编程(OOP)是一种编程范例,其中围绕对象而不是函数或逻辑编写和构造程序。在这里,对象被定义为具有唯一属性和行为的数据字段,它们包含属性形式的数据和方法形式的过程,对象过程可以访问和修改对象中存在的数据。

OOP语言有很多,其中最流行的是基于类的,其中对象将是类的实例。类是数据和过程的容器,也称为数据成员和成员函数。让我们考虑一个物体作为汽车的例子,汽车具有颜色,品牌名称,加油量等属性,并且具有表示汽车行为的方法,例如起步,加速,停车等。类是属性和方法的蓝图,并且不占用空间,直到并且除非为该类创建了对象。

范例:

class car{char name[20];  // name and colour are attributeschar colour[20];public void start(){}           //start is a method};void main(){car c1;         //c1 is an object}

面向对象的编程目标是在编程中实现诸如继承,多态性,封装等现实世界中的实体,我们将对其进行详细介绍。OOP的主要目标是共同绑定数据和对其进行操作的功能,以使该数据只能由该功能访问。

面向对象原则

面向对象编程的四个主要原理是封装,抽象,继承和多态。

1.封装

将数据和方法绑定到一个单元中称为封装,当类中的每个对象保持其状态私有时,便完成了封装。外部对象无法访问本机内部的数据,只有本机内部的那些功能才能访问它。因此,对象通过其方法来管理其状态,并且要与此对象进行通信,我们将需要此类的公共方法的帮助。

2.抽象

抽象是封装的扩展,这意味着仅向外界提供必要的信息,同时隐藏实现的内部细节,它仅显示其他对象的适当操作。这样做的好处是我们可以在不影响类的情况下更改实现,因为方法接口保持不变。

以一个计算器为例,它从我们那里得到输入,然后按一下按钮,就可以为我们提供所需的输出,同时为我们节省了如何得出答案的内部细节。

3.继承

对象通常在功能上相似,共享逻辑的一部分,但其余部分却有所不同。那么,我们如何重用公共逻辑并分离不同的逻辑呢?这可以通过继承来实现,在继承中,我们创建了一个称为子类的新类,该子类是从称为父类的现有类派生的,从而形成了类的层次结构。子类重用其从父类中需要的数据字段和方法,并自行实现其唯一功能。

例如,车辆可以是父类,我们可以从中派生诸如Bike和Car之类的子类。它们具有能够依靠燃油行驶并运载乘客的共同特性,但是可以运载的乘客数量却有所不同,而且这些特性更多。

4.多态性

多态性是采取多种形式的能力,假设我们有一个父类和一些子类。现在我们要同时使用父类和子类的属性,那么如何实现呢?这可以使用多态来完成,在多态中,抽象实体以多种方式执行。

它提供了一种完全像父类一样使用类的方法,这样就不会混淆混合类的类型,并且每个子类继续保持其方法不变。这可以通过重用父接口来完成,以便子类可以在其自己的版本中实现这些方法。

面向对象编程的优势

可以证明一个真实世界的想法,因为OOP中的所有内容都被视为一个对象。

当我们使用封装的概念时,程序更易于测试和维护。

随着我们并行而不是顺序开发类,可以更快地开发代码。

由于数据抽象,OOP提供了更高的安全性。外界无法访问隐藏的数据。

可重用性可以通过使用已经编写的类来实现。

面向对象编程的缺点

用OOP概念设计程序可能很棘手。

程序员需要预先计划在OOP中开发程序。

使用OOP开发的程序的规模要大于使用程序方法开发的程序的规模。

由于OOP程序的大小较大,因此这些程序的执行时间也更长。

结论

面向对象的编程为我们简化了编程过程,它具有许多价值,如可重用性,效率和代码维护,尽管最初可能很难理解OOPs概念。