先说明一些在设计模式中比较重要的额概念
1:接口 接口用关键字 interface修饰.在父类中只声明其方法名但并没有明确方法的行为
一个简单的例子
具体实现接口的行为是在该类的子类中定义的,比如现有一个Guitar类,他实现了BandFace接口
子类实现接口用关键字implements.
在实现接口时,子类可以有自己的很多方法,但必须实现接口中包含的所有方法,并保持结构一致.
2:重写继承设计模式中会大量运用接口和抽象的概念,但as3中并不能真正定义一个抽象类,但是as3可以创建一个与抽象类工作原理相同的类
即创建一个普通类,然后把它当做抽象类来对待.和接口一样抽象类存在没有直接实现的方法.使用抽象类和实现接口一样,在抽象的子类中抽象类的所有抽象都被重载,但抽象类中也可以存在已经实现的方法,这一点和接口的概念不一样,抽象类是实现工厂模式的关键.
使用抽象也是子类使用的,但不同的是他并不用implements 修饰而是直接继承抽象类,并通过override实现对抽象类中方法的重定义.子类从抽象类中继承了所有抽象类的方法和接口,通过重写抽象类中的方法为方法加入具体的实现细节.
为什么使用接口和继承
设计模式的目的就是重用面向对象软件中的代码,而抽象和接口都能保留原有类不被修改的前提上增加新的功能.
一些原则
尽量使用接口而不是具体的实现;
尽量使用对象的复合而不是类的继承.
这里的实现指的是程序中的细节
状态指的是对象当前的某个属性的值