一、面向对象基础概念
- 类(Class):具有相同属性和方法的对象的抽象模板。
- 对象(Object):类的实例,包含具体属性和行为。
- 继承(Inheritance):子类继承父类的属性和方法,实现代码复用(如
Java中的extends)。 - 封装(Encapsulation):隐藏内部细节,通过接口访问对象(如私有属性+公有方法)。
- 多态(Polymorphism):同一方法在不同对象中有不同实现(通过重写和接口实现)。
- 抽象(Abstraction):提取关键特征,忽略非本质细节(如抽象类、接口)。
二、面向对象设计原则(SOLID原则)
- 单一职责原则(SRP):一个类只负责一个功能领域的变化。
- 开闭原则(OCP):对扩展开放,对修改关闭(通过抽象和继承实现)。
- 里氏替换原则(LSP):子类必须能替换父类,且不影响程序正确性。
- 接口隔离原则(ISP):客户端不应依赖不需要的接口,拆分臃肿接口。
- 依赖倒置原则(DIP):高层模块不依赖低层模块,二者依赖抽象(如面向接口编程)。
三、设计模式
- 创建型模式:用于对象创建的过程
- 单例模式、工厂方法模式、抽象工厂模式、建造者模式(生成器模式)、原型模式
- 结构型模式:用于把类或对象通过某种形式结合在一起,构成某种复杂或合理的结构
- 适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式(过滤器/标准模式)
- 行为型模式:用于解决类或对象之间的交互,更合理的优化类或对象之间的关系
- 责任链模式、命令模式、迭代子模式(迭代器模式)、观察者模式、中介者模式、解析器模式、状态模式、空对象模式、策略模式、模板模式、访问者模式、备忘录模式、
- 常用设计模式及应用场景:
模式类型 模式名称 核心思想 典型应用场景 创建型 工厂方法 由子类决定实例化哪个类 动态创建对象 抽象工厂 创建相关对象家族 跨平台UI组件库 单例(Singleton) 确保一个类只有一个实例 数据库连接池、配置管理器 结构型 适配器(Adapter) 转换接口使不兼容的类协同工作 旧系统接口适配新需求 装饰器(Decorator) 动态添加职责 Java I/O流、GUI组件增强 行为型 观察者(Observer) 对象间一对多的依赖关系 事件处理系统(如消息通知) 策略(Strategy) 封装算法,使其可互换 排序算法、支付方式选择
四、UML建模技术
UML(Unified Modeling Language,统一建模语言)是面向对象系统分析与设计的标准化建模工具。
