首页 > 代码库 > 面向对象
面向对象
面向对象
1 封装
隐藏实现细节,提供简单的编程接口
2 继承
从已有的类创建新类的过程
提供继承信息的类叫父类(超类、基类)
得到继承信息的类叫子类(派生类、衍生类)
子类是用来扩展父类能力的,如果子类缩小的父类的能力,这种继承关系是不能成立的
继承的关键字extends
Java中的继承是单继承(一个类只能继承一个父类)
Object类是所有类的父类(每个类都隐式的继承了Object类)
super关键字
3 多态
同样的引用调用同样的方法,但是表现出了不同的行为
一个方法多种实现版本(子类在对父类的方法进行重写的过程中,不同的子类可以给出不同的实现版本)
当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但这些对于A系统来说是透明的。
方法重写(override)
对象造型(将子类对象交给父类型的引用)
4 接口
interface
接口是约定(实现了接口就必须要重写接口中所有的抽象方法)
接口代表能力(实现了接口,就具备了接口所描述的能力)
接口代表的是角色(一个类可以实现很多个接口(扮演多种角色),一个接口也可以被很多个类实现(一个角色可以由多个类扮演))
接口比抽象类更抽象,所以在使用上比抽象类更灵活
优先使用接口而不是抽象类
接口中的变量都是常量
接口中的方法都是公开的抽象方法
常量接口是接口最不正确的使用方式,接口中应该只定义方法
implements关键字
接口隔离原则:接口要小而专,绝不是大而全
5 抽象类
abstract
抽象类不能实例化,抽象类就是拿给其他类去继承的
如果一个类有抽象方法,这个类必须被声明为抽象类
6 设计原则
1. 单一职责原则(高内聚)
2. 开闭原则(抽象是关键;封装可变性)
3. 依赖倒转原则(面向接口编程)
4. 里氏代换原则(子类型可以替换父类型)
5. 接口隔离原则(接口要小而专)
6. 合成聚合复用原则(优先使用Has-A关系而不是Is-A关系复用代码)
7. 迪米特法则(低耦合)
6.1 设计模式
GoF的23种设计模式
创建型模式
结构型模式
行为型模式