首页 > 代码库 > 面向对象

面向对象

面向对象

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种设计模式

创建型模式

结构型模式

行为型模式