趣味解析C+中的面向对象编程
面向对象编程–顾名思义 , 在编程中使用对象 。 面向对象的编程旨在在编程中实现诸如继承 , 隐藏 , 多态等现实世界的实体 。 OOP的主要目的是将数据和对其进行操作的功能绑定在一起 , 以便除该功能外 , 代码的其他任何部分都无法访问此数据 。
面向对象编程语言的特征
文章图片
类:导致面向对象编程的C++构建块是一个类 。 它是用户定义的数据类型 , 它拥有自己的数据成员和成员函数 , 可以通过创建该类的实例来访问和使用它们 。 类就像对象的蓝图 。
例如:考虑汽车类别 。 可能有许多不同名称和品牌的汽车 , 但它们都会共享一些共同的属性 , 例如所有汽车都有4个车轮 , 速度限制 , 里程范围等 。 因此 , 这里的汽车是类别 。 车轮 , 速度限制 , 里程是他们的属性 。
类是具有数据成员和成员函数的用户定义数据类型 。
数据成员是数据变量 , 成员函数是用于操纵这些变量的函数 , 这些数据成员和成员函数共同定义了类中对象的属性和行为 。
在上面的车类示例中 , 数据成员将是限速 , 里程等 , 并且成员功能可以施加制动 , 增加速度等 。
我们可以说C++中的类是代表一组对象的蓝图 , 这些对象具有一些共同的属性和行为 。
对象:对象是具有某些特征和行为的可识别实体 。 对象是类的实例 。 当定义了一个类时 , 不分配内存 , 而是在实例化(即创建对象)时分配内存 。
文章图片
对象占用内存中的空间 , 并具有关联的地址 , 例如Pascal中的记录或结构或C中的并集 。
执行程序时 , 对象通过相互发送消息进行交互 。
每个对象都包含数据和用于操纵数据的代码 。 对象可以进行交互而不必知道彼此的数据或代码的细节 , 知道对象接受的消息的类型和返回的响应的类型就足够了 。
封装:通常 , 封装被定义为将数据和信息包装在一个单元内 。 在面向对象的编程中 , 封装被定义为将数据和操纵它们的功能绑定在一起 。
考虑一个封装的真实示例 , 在公司中 , 有不同的部分 , 例如帐户部分 , 财务部分 , 销售部分等 。 财务部分处理所有财务交易并保留与财务相关的所有数据的记录 。 同样 , 销售部门处理所有与销售有关的活动 , 并保留所有销售记录 。 现在可能会出现这样的情况:出于某种原因 , 财务部门的官员需要特定月份的所有销售数据 。 在这种情况下 , 不允许他直接访问销售部分的数据 。 他将首先必须联系销售部门的其他人员 , 然后要求他提供特定数据 。 这就是封装 。
文章图片
封装还导致数据抽象或隐藏 。 由于使用封装也隐藏了数据 。 在上面的示例中 , 任何其他部分(例如销售 , 财务或帐户)的数据都从任何其他部分隐藏 。
抽象:数据抽象是C++中面向对象编程的最基本和最重要的功能之一 。 抽象意味着仅显示基本信息并隐藏细节 。 数据抽象是指仅向外界提供有关数据的基本信息 , 隐藏背景细节或实现 。
考虑一个男人开车的真实例子 。 这个人只知道按下加速器会增加汽车的速度 , 或者踩刹车会停止汽车 , 但是他不知道在按下加速器时速度实际上是如何增加的 , 他不知道汽车的内部机制或在汽车上实施油门 , 制动器等 。 这就是抽象 。
使用类的抽象:我们可以使用类在C++中实现抽象 。 该类帮助我们使用可用的访问说明符对数据成员和成员函数进行分组 。 一个类可以决定哪个数据成员对外界可见 , 而哪个则不可见 。
- 15个设计心理学原理在UI上应用的深度解析!(1)
- 物联网|LoRa在物联网中的作用
- 京东|LoRa在物联网中的作用
- 作为现在最先进的屏幕显示技术|Mini LED电视大卖,TCL竟然占据TOP5中的前4名!
- ai|这些是《黑豹:永远的瓦坎达》中的3D打印服装
- 惠普|笔电售后大解析?以惠普战66为例 详细拆解售后服务
- 浅谈“一机一密”认证技术在智慧家庭生态中的应用
- 华为荣耀|脱离华为未满三年的荣耀要上市?解析荣耀上市为何只能“借壳”
- 如果我们使用计算机系统|如何完全删除计算机中的所有数据
- 小米科技|解析洛轲、石头和小米的关系,洛轲电动越野车并非小米汽车