目录 :
面向对象编程——顾名思义是 物体 在编程方面。面向对象编程旨在实现编程中的真实实体,如继承、隐藏、多态等。OOP的主要目的是将数据和对其进行操作的函数绑定在一起,这样代码的其他部分就不能访问该函数以外的数据。
面向对象编程语言的特点
班 C++的构造块是面向对象编程的一个类。它是一种用户定义的数据类型,它拥有自己的数据成员和成员函数,可以通过创建该类的实例来访问和使用它们。类就像是对象的蓝图。
例如:考虑汽车的种类。可能有许多不同名称和品牌的汽车,但它们都有一些共同的属性,比如所有汽车都有四个车轮、速度限制、里程范围等。因此,在这里,汽车是阶级,车轮、速度限制、里程是它们的属性。
- 类是一种用户定义的数据类型,具有数据成员和成员函数。
- 数据成员是数据变量,成员函数是用于操作这些变量的函数,这些数据成员和成员函数一起定义了类中对象的属性和行为。
- 在上面的示例中,数据成员将是限速、里程等,成员功能可以应用制动器、提高速度等。
我们可以说 C++类 是一组具有共同属性和行为的对象的蓝图。
对象: 对象是具有某些特征和行为的可识别实体。对象是类的实例。当定义一个类时,不分配内存,但当它被实例化(即创建一个对象)时,分配内存。
class person { char name[20]; int id; public : void getdetails(){} }; int main() { person p1; // p1 is a object } |
对象在内存中占用空间,并有一个相关的地址,如pascal中的记录或C中的结构或并集。
当一个程序被执行时,对象通过互相发送消息进行交互。
每个对象都包含用于操作数据的数据和代码。对象可以进行交互,而不必知道彼此的数据或代码的详细信息,只需知道对象接受的消息类型和返回的响应类型即可。
封装 :在正常情况下,封装被定义为将数据和信息包装在单个单元下。在面向对象编程中,封装被定义为将数据和操作数据的函数绑定在一起。
考虑一个实际的封装例子,在一个公司里,有不同的部分,如帐户部分、财务部分、销售部分等。财务部分处理所有的财务事务并记录所有与财务相关的数据。同样,销售部门处理所有与销售相关的活动,并保存所有销售记录。现在可能会出现这样一种情况:出于某种原因,财务部门的官员需要某个月的所有销售数据。在这种情况下,他不能直接访问销售部门的数据。他必须首先联系销售部门的其他官员,然后要求他提供具体数据。这就是封装。在这里,销售部门的数据和可以操纵它们的员工被包装在一个单独的名称“sales section”下。
![图片[2]-C++中面向对象的程序设计-yiteyi-C++库](https://media.geeksforgeeks.org/wp-content/uploads/Encapsulation-in-C-1.jpg)
C++中的封装
封装也会导致 数据抽象或隐藏 。因为使用封装也会隐藏数据。在上面的示例中,销售、财务或账户等任何部分的数据对任何其他部分都是隐藏的。
抽象 数据抽象是面向对象编程在C++中最基本和最重要的特征之一。抽象意味着只显示基本信息并隐藏细节。数据抽象是指只向外界提供有关数据的基本信息,隐藏背景细节或实现。
想想一个开车的人的真实例子。这名男子只知道踩下油门会提高车速,或者踩下制动器会使车速停止,但他不知道踩下油门时车速实际上是如何增加的,他不知道汽车的内部机制,也不知道油门、制动器等在汽车中的作用。这就是抽象。
- 使用类进行抽象 我们可以用C++实现C++中的抽象。该类帮助我们使用可用的访问说明符对数据成员和成员函数进行分组。类可以决定哪些数据成员对外部可见,哪些不可见。
- 头文件中的抽象 C++中的另一种抽象可以是头文件。例如,考虑数学中存在的PUE()方法。h头文件。每当我们需要计算一个数的幂时,我们只需调用数学中的函数pow()。h头文件并将数字作为参数传递,而不知道函数实际计算数字幂的基础算法。
多态性: 多态性这个词的意思是有多种形式。简单地说,我们可以将多态性定义为一条消息以多种形式显示的能力。
一个人在同一时间可以有不同的特点。像男人一样,同时也是父亲、丈夫和雇员。所以同一个人在不同的情况下有不同的行为。这叫做多态性。
在不同的情况下,操作可能会表现出不同的行为。行为取决于操作中使用的数据类型。
C++支持运算符重载和函数重载。
- 运算符重载 :使操作员在不同情况下表现出不同行为的过程称为操作员过载。
- 函数得载 :函数重载是使用单个函数名来执行不同类型的任务。 多态性广泛用于实现继承。
实例 :假设我们必须编写一个函数来添加一些整数,有时有2个整数,有时有3个整数。我们可以编写具有不同参数的同名加法,根据参数调用相关方法。
遗产 :一个类从另一个类派生属性和特征的能力称为继承。继承是面向对象编程最重要的特性之一。
- 子类 :从另一个类继承属性的类称为子类或派生类。
- 超级阶级 :属性由子类继承的类称为基类或超类。
- 可重用性 :继承支持“可重用性”的概念,即当我们想要创建一个新类,并且已经有一个类包含我们想要的一些代码时,我们可以从现有类派生出我们的新类。通过这样做,我们可以重用现有类的字段和方法。
实例 :狗、猫、牛可以是动物基类的派生类。
动态绑定: 在动态绑定中,响应函数调用要执行的代码是在运行时决定的。C++已经 虚拟函数 来支持这一点。
消息传递: 对象通过相互发送和接收信息来相互通信。对象的消息是执行过程的请求,因此将调用接收对象中生成所需结果的函数。消息传递包括指定对象的名称、函数的名称和要发送的信息。
相关文章 :
本文由 瓦卡亚拉·卡鲁纳卡 。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请发表评论。