【一】面向对象
1.面向对象与面向过程
什么是面向过程?
概述: 自顶而下的编程模式
把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。
就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后 使用各种诸如 if-else、for-each 等方式进行代码执行。
最典型的用法就是实现一个简单的算法,比如实现冒泡排序。
什么是面向对象?
概述: 将事务高度抽象化的编程模式
将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之 间的调用,组合解决问题。
就是说,在进行面向对象进行编程的时候,要把属性、行为等封装成对象,然后基于这 些对象及对象的能力进行业务逻辑的实现。
比如:想要造一辆车,上来要先把车的各种属性定义出来,然后抽象成一个 Car 类。
举例说明区别
同样一个象棋设计。
面向对象:创建黑白双方的对象负责演算,棋盘的对象负责画布,规则的对象负责判断, 例子可以看出,面向对象更重视不重复造轮子,即创建一次,重复使用。
面向过程:开始—黑走—棋盘—判断—白走—棋盘—判断—循环。只需要关注每一步怎 么实现即可。
优劣对比
面向对象:占用资源相对高,速度相对慢。 面向过程:占用资源相对低,速度相对快。
2.面向对象的三大基本特征和五大基本原则
封装(Encapsulation)
所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可 信的类或者对象操作,对不可信的进行信息隐藏。 封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个 封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可 以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以 防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
继承(Inheritance)
继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的 情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类” 或“超类”。继承的过程,就是从一般到特殊的过程。 继承概念的实现方式有二类:实现继承与接口继承。实现继承是指直接使用基类的属性 和方法而无需额外编码的能力;接口继承是指仅使用属性和方法的名称、但是子类必须提供 实现的能力。
多态(Polymorphism)
所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不 同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同, 但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。最常见的多态就是将子类传入父类参数中,运行时调用父类方法时通过传入的子类决定 具体的内部结构或行为。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?