装饰模式是已有功能的增强,比如 代码
已知类:
Person()
{
public void chifan()
{
}
}
增强类:
superPerson()
{
private Person p;
superPerson(Person p)
{
this.p=p;
}
public void superchifan()
{
p.chifan();
.........
{
}
抽象类是当多个类中出现相同功能,但是功能主体不同,这时候可以进行向上抽取,只抽取功能定义,而不抽取功能主体。
而接口 是一种特殊的抽象类,和抽象类不同的是,它里面的方法都是抽象的。
接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化,否则子类是一个抽象类。
接口可以被类多实现。
比如 大学生和中学生中可以抽象出 的共同点是 都有学习的功能 ,但是学习的内容不一样。
|