设计模式与面向对象
一、设计模式
设计模式:对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。
设计模式的创始人,一般称为“四人帮”(Gang of Four, GoF):Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides......他们编写一套书来介绍23种设计模式:《设计模式:可复用面向对象软件的基础》。
二、面向对象回顾
设计模式是用来设计面向对象系统中的设计。不解决面向过程的问题。
1、面向对象的三大特性
封装:把数据和函数封装到一个类里,体现类内和类外。
继承:由于有了封装,需要通过继承在类之间复用代码。
多态:python本身是一门多态语言,因此不需去处理多态的问题。Java中则会区分虚类和普通类。
因此这三个特性是一个递进的关系。
2、接口
接口:若干抽象方法的集合。
作用:限制实现接口类必须按照接口给定的调用方式实现这些方法;对高层模块隐藏了类的内部实现。