WEB开发网
开发学院图形图像Flash Think in ActionScript 3.0Ⅱ 阅读

Think in ActionScript 3.0Ⅱ

 2009-05-30 12:08:03 来源:WEB开发网   
核心提示: 5.5 多态的好处 多态提升了代码的可扩展性,我们可以在少量修改甚至不修改原有代码的基础上,Think in ActionScript 3.0Ⅱ(4),轻松加入新的功能,使代码更加健壮,相信我,那只是时间问题,易于维护, 在设计模式中对于多态的应用比比皆是

5.5 多态的好处

多态提升了代码的可扩展性,我们可以在少量修改甚至不修改原有代码的基础上,轻松加入新的功能,使代码更加健壮,易于维护。

在设计模式中对于多态的应用比比皆是,面向对象设计(OOD)中有一个最根本的原则叫做“开放 – 关闭”原则(Open-Closed Principle  OCP),意思是指对添加开放,对修改关闭。看看上面的例子,运用了多态以后我们要添加一个 Bird 只需要再写一个 Bird 类,让它继承自 Animal,然后 new 出来一个对象把它传给 lily 即可。

我们所做的就是添加新的类,而对原来的结构没有做任何的修改,这样代码的可扩展性就非常好了!因为我们遵循了“开放-关闭”原则 —— 添加而不是修改。

前面这个例子中还有一个地方需要说明,Animal 这个类,实际上应该定义为一个抽象类,里面的 enjoy() 方法,事实上不需要实现,也没法实现。想一想,Animal 的叫声?!你能想象出 Animal 是怎么叫的吗?显然,这个方法应该定义为一个抽象方法,留给它的子类去实现,它自己不需要实现,那么一旦这个类中有一个方法抽象的,那么这个类就应该定义为抽象类。但是很遗憾 AS 3 不支持抽象类,因为它没有 abstract 关键字。但是抽象类也是一个比较重要的概念,因此下面还要给大家补充一下。

5.6 抽象类的概念

一个类如果只声明方法而没有方法的实现,则称为抽象类。

含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。如果重写不了,应该声明自己为抽象。

抽象类不能被实例化。

抽象方法只需声明,而不需实现。

ActionScript 3.0 不支持抽象类(abstract),以后肯定会支持的,相信我,那只是时间问题。因此这里只介绍一下抽象类的概念。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Think in ActionScript

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接