面向对象的三大基本特征和五大基本原则
面向过程(POP)
Procedure Oriented Programming,面向过程是一种以过程为中心的编程思想,分析出解决问题所需的步骤,然后用函数把这些步骤实现,并按顺序调用。它是一种基础的顺序的思维方式,面向对象方法的基础实现中也包含面向过程思想。
面向对象(OOP)
Object Oriented Programming,面向对象是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统。微观上,仍然使用面向过程。”面向对象“是以“对象”为中心的编程思想。
区别
面向过程 | 面向对象 | |
---|---|---|
特性 | 模块化 流程化 | 抽象 封装 继承 多态 |
维护性、 复用性、 扩展性 | 弱 | 强 |
性能 | 强 | 弱 |
1 三大基本特征
1.1 封装
封装是把过程和数据包围起来,隐藏对象的属性和实现细节,对数据的访问只能通过已定义的对外公开接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。类就是封装数据和操作这些数据代码的逻辑实体。在一个类的内部,某些属性和方法是私有的,不能被外界所访问。
通过这种方式,对象对内部数据进行了不同级别的访问控制,就避免了程序中的无关部分的意外改变或错误改变了对象的私有部分,增强安全性和简化编程,使得使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。
1.2 继承
对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
通过使用继承,可以在不同的子类中多次重新使用父类中的代码,继承方法和实例变量,使程序结构清晰,易于维护和修改,而子类可以修改或增加新的方法使之更适合特殊的需要。
1.3 多态
多态是指一个程序中同名的方法共存的情况,调用者只需使用同一个方法名,系统会根据不同情况,调用相应的不同方法,从而实现不同的功能,多态机制使得不同内部结构的对象可以共享相同的外部接口。多态性又被称为“一个名字,多个方法”。
多态存在的三个必要条件:继承、重写、父类引用指向子类对象
2 五大基本原则
2.1 单一职责原则(Single-Resposibility Principle)
对一个类而言,应该仅有一个引起它变化的原因。
2.2 开放封闭原则(Open-Closed principle)
软件实体应该是可以扩展的,但是不可修改。
2.3 Liskov替换原则(Liskov-Substituion Principle)
子类型必须能够替换掉它们的基类型。
2.4 依赖倒置原则(Dependecy-Inversion Principle)
抽象不应依赖于细节,细节应该依赖于抽象
2.5 接口分离原则(Interface-Segregation Principle)
多个专用接口优于一个单一的通用接口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!