当前位置: 首页 > news >正文

面向对象的设计原则

设计模式 Python

设计模式:对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计

面向对象

三大特性:封装、继承、多态

接口:若干抽象方法的集合

作用:限制实现接口的类必须按照接口给定的调用方式实现这些方法;对高层模块隐藏了类的内部实现

接口:

第一种:

d817b2fb742e365b72a4b20898f9372

接口其实也是一种特殊的类,如果一个类中有抽象方法那就是一个抽象类

第二种:

·image-20230824235634563

这个类抽象类就是接口,继承这个抽象类的类必须实现抽象类的抽象方法,接口只定义方法,不管实现

AliPay类继承了Payment类,但是由于Payment是一个接口,我们一般叫做,AliPay实现了Payment接口

面向对象设计SOLID原则

开放封闭原则

一个软件实体、模块和函数应该对拓展开放,对修改关闭。即软件实体尽量不修改原有代码的情况下进行拓展

里氏替换原则

所有引用父类的地方必须能透明地使用其子类的对象

image-20230825001141876

依赖倒置原则

高层模块不应该依赖低层模块二者都应该依赖其抽象:抽象不应该依赖细节;细节应该依赖抽象。换言之,要针对接口编程而不是针对实现编程。

接口隔离原则

使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

接口: 单一的总接口

image-20230825001820917

实现:

image-20230825001917805

老虎不需要游泳和飞的方法,但是又必须实现抽象类的所有方法,这就是接口隔离原则的不要使用单一的总接口,使用多个专门的接口,我们可以把接口拆开

多个接口:

image-20230825002058486

实现:

image-20230825002146628

单一职责原则

不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

http://www.lryc.cn/news/147413.html

相关文章:

  • 前端需要理解的工程化知识
  • 【Terraform学习】使用 Terraform创建DynamoDB添加项目(Terraform-AWS最佳实战学习)
  • 基于单片机教室人数实时检测系统
  • alibabacloud的简单使用,nacos配置中心+服务中心。作者直接给自己写的源码
  • Python爬虫:一个爬取豆瓣电影人像的小案例
  • STM32CubeMX配置STM32G0 Standby模式停止IWDG(HAL库开发)
  • 39.RESTful案例
  • Power Pivot 实现数据建模
  • Ansible自动化运维之playbooks剧本
  • Docker - Docker安装MySql并启动
  • SQL Server 2019导入txt数据
  • 科研 | Zotero导入无PDF的参考文献、书籍
  • 【Docker】docker入门之dockerfile编写
  • javaee之黑马乐优商城1
  • 滴滴前端一面面经(已挂)
  • 靠谱的适合上班族做的副业,这几种一定要试试!
  • VSCode连接服务器
  • Python爬虫网络安全:优劣势和适用范围分析
  • swift APP缓存
  • Linux中的dpkg指令(dpkg -l | grep XXX等)
  • import type {} from ‘module‘ 具体解释
  • 十年JAVA搬砖路——数据结构线性结构
  • Mybatis为什么需要预编译等一系列问题
  • 【JVM基础】JVM入门基础
  • 【SpringBoot】详细介绍Spring Boot中@Component
  • Redis执行lua脚本-Time函数-获取当前时间
  • 前端无需install快速调试npm包,Console-Import使用
  • 构建稳定的爬虫系统:如何选择合适的HTTP代理服务商
  • Python爬虫基础:使用Scrapy库初步探索
  • MacBookPro重装系统图文教程