【设计模式】封装、继承、抽象、多态

封装 Encapsulation

封装,即信息隐藏/数据访问保护。在面向对象中,类通过暴露有限的访问接口,让外部仅能通过有限的访问接口来访问内部的数据。

封装的实现往往需要编程语言提供一定的语法机制支持,即访问权限控制机制。

类通过提供有限的方法,可以提高类的易用性、安全性,降低了调用者对类的了解程度。

抽象Abstraction

接口类指的是编程语言提供的接口语法。

抽象并不需要编程语言提供特殊的语法机制就能实现,只需要提供函数这一基本特性就能实现,本质上就是包裹具体的实现逻辑,让调用者在使用的时候不需要了解内部的逻辑,通过对函数的命名、注释或文档的阅读即可了解功能,然后实现它。

抽象是降低问题复杂性的重要手段。

继承 Inheritance

继承是用来表达类之间的is-a的关系,比如说 dog is a animal,animal类具有dog子类。

继承的最大好处就是代码的复用。

多态 Polymorphism

多态需要编程语言提供特殊的语法机制实现:

  • 支持父类对象可以引用子类对象。
  • 支持继承。
  • 支持子类可以重写父类的方法。

鸭子类型duck-typing也可以用于实现多态。

多态的用处就是提高代码的可扩展性。

相关推荐
一条闲鱼_mytube16 分钟前
智能体设计模式(五)人机协同-知识检索RAG-智能体间通信
网络·人工智能·设计模式
小码过河.17 分钟前
设计模式——建造者模式
单片机·设计模式·建造者模式
小码过河.2 小时前
设计模式——工厂方法模式
设计模式·工厂方法模式
把csdn当日记本的菜鸡3 小时前
Java设计模式简单入门
java·开发语言·设计模式
老蒋每日coding3 小时前
AI Agent 设计模式系列(十一)—— 目标设定和监控模式
人工智能·设计模式·langchain
蔺太微4 小时前
外观模式(Facade Pattern)
设计模式·外观模式
进击的小头4 小时前
C语言实现设计模式的核心基石
c语言·开发语言·设计模式
Engineer邓祥浩4 小时前
设计模式学习(15) 23-13 模版方法模式
java·学习·设计模式
茶本无香4 小时前
设计模式之四:建造者模式(Builder Pattern)详解
java·设计模式·建造者模式
山风wind5 小时前
设计模式-访问者模式详解
python·设计模式·访问者模式