package {
public interface ILanguage {
function showLangName():void;
function getName():String;
}
}
package {
public class English implements ILanguage {
public function showLangName():void {
trace(getName());
}
public function getName():String {
return "English";
}
}
}
package {
public class Chinese implements ILanguage {
public function showLangName():void {
trace(getName());
}
public function getName():String {
return "Chinese";
}
}
}
package {
public class French implements ILanguage {
public function showLangName():void {
trace(getName());
}
public function getName():String {
return "French";
}
}
}
package {
public interface IPerson {
function addLanguage(lang:ILanguage):void;
function showLangs():void;
function getName():String;
}
}
package {
public class Person implements IPerson {
protected var langObj:Object;
public function Person(p:Person) {
if (p!=this) {
throw new Error("不能实例化抽象类!");
}
langObj={};
}
public function addLanguage(lang:ILanguage):void {
var langName:String=lang.getName();
! langObj[langName] && (langObj[langName]=lang);
}
public function showLangs():void {
trace(getName()+" can speak:");
for each (var j:* in langObj) {
ILanguage(j).showLangName();
}
}
public function getName():String {
return null;
}
}
}
package {
public class Andy extends Person {
public function Andy() {
super(this)
addLanguage(new English);
addLanguage(new French);
addLanguage(new Chinese);
}
override public function getName():String {
return "Andy";
}
}
}
package {
public class Leon extends Person {
public function Leon() {
super(this)
addLanguage(new English);
addLanguage(new Chinese);
}
override public function getName():String {
return "Leon";
}
}
}
package {
import flash.display.Sprite;
public class Test extends Sprite {
public function Test() {
var p:IPerson=new Andy;
p.showLangs();
p=new Leon();
p.showLangs();
}
}
}
分享到:
相关推荐
在ActionScript 3 (AS3)中,接口(Interface)是一种定义特定方法集合的蓝图,它强制类去实现这些方法。接口是面向对象编程中的一个重要概念,它允许我们定义一个对象必须实现的方法,但不涉及具体的实现细节。AS3中...
本示例代码“Delphi接口委托的例子代码”着重展示了如何使用接口进行委托,并演示了在运行期间动态切换接口实现的技巧。 首先,让我们来看看`UMyIntf.pas`文件中的接口定义。在这个文件中,通常会声明一个或多个...
与早期版本相比,AS3引入了许多改进,包括更严格的类型检查、命名空间、类和接口支持等,使得编写复杂的交互式应用程序变得更加容易。 在Flex项目中,我们通常使用Flex Builder或Adobe Flash Builder作为集成开发...
10. **外部接口**:AS3可以与JavaScript进行交互,通过`ExternalInterface`类调用网页中的JavaScript函数或接收来自JavaScript的消息。 这本自学手册例子应该包含了一系列的实践项目,通过这些例子,你可以逐步理解...
淘宝API是淘宝网对外开放的一系列接口,允许开发者通过这些接口获取淘宝平台上的商品、订单、用户等信息,以便构建各种应用程序或服务。AS3(ActionScript 3)是Adobe Flash平台上的编程语言,广泛用于创建交互式...
在这个例子中,`MyClass`实现了`IMyInterface`接口,因此它必须提供`doSomething()`和`doSomethingElse()`的实现。 3. **接口与多态** 接口是多态性的关键。通过定义接口,我们可以创建具有相同行为的不同类,这在...
总的来说,ATL实现返回COM接口的例子展示了如何利用C++和ATL来构建COM组件,定义接口,实现接口方法,并在其他语言(如VB)中调用这些接口。这是一个基础但重要的技能,对于任何涉及Windows系统级编程和组件开发的...
这个“as30的详细例子”压缩包显然是一份关于AS3学习的宝贵资源,包含了大量的实例,非常适合初学者或者想要深入理解AS3的开发者。 AS3相比之前的版本AS2,有着显著的改进。它引入了更严格的类型系统,提高了性能,...
为了更直观地理解接口的作用,我们首先通过颜色处理器(`IColorProcessor`)的例子来看看接口如何在AS3中被定义和使用。 ##### 3.1 使用继承的方式 ```actionscript public class ColorProcessor { public function ...
7. 外部接口:了解如何与外部数据(如XML、JSON)或本地文件系统进行交互。 其次,`as3_learning.pdf` 是AS3学习手册,它可能涵盖更具体的应用示例和实践指导,帮助读者将理论知识转化为实际技能,例如: 1. 动画...
在实际应用中,单片机控制RTL8019AS实现以太网接口的例子可能包括远程监控、数据采集和物联网设备等。这种方案的优点是成本较低,适用于对性能要求不高的场景。然而,随着技术的发展,如今更多地采用带有内置以太网...
VB6.0编写开发模块的一个例子,这个模块的解释和class1一样,大家如果看懂了class1,就懂这个模块了。这个模块只不过是class1的一个复制品,不过这里实现的是form2。OwnerInterface.RequestOperation OwnerClass, ...
此外,AS3的事件系统允许模型向其他组件广播变化,例如通过`EventDispatcher`接口发布`timeChanged`事件。 **学习重点**: 1. **事件监听和处理**:理解AS3的事件机制,如何注册事件监听器以及如何触发和处理事件。...
- 在C#端,我们需要创建一个接口或者类来处理来自Flash的调用。这通常涉及监听特定的事件或消息,然后执行相应的函数。 - 如果是Unity,可以使用Unity的`Application.ExternalCall()`方法来调用Flash中的函数。 6...
【标题】"jbosssas7_seamremoting_jpa_小例子简"涉及的知识点主要集中在Java企业级开发的几个关键组件上:JBoss Application Server 7 (JBoss AS 7)、Seam Remoting以及Java Persistence API (JPA)。让我们详细探讨...
2. **面向对象编程**:AS3支持类和接口,源码可能包含了类的定义、继承、多态、封装等面向对象编程的概念。例如,自定义类的创建、对象实例化、方法重写等。 3. **事件处理**:AS3的事件驱动模型是其重要特性之一。...
3. **快速入门**:提供了一系列快速上手的例子,帮助新用户快速熟悉JBoss AS7的基本操作。 4. **更多资源**:链接到其他相关文档、论坛和技术支持信息。 5. **管理指南**:深入讲解JBoss AS7的管理接口、概念以及...
AO开发是一个功能强大且广泛应用的GIS开发平台,它提供了大量的开发接口和工具,方便开发者快速构建GIS应用程序。在这个资源中,我们将学习AO开发的一些例子下载,通过这些例子的学习,可以帮助您解决相应的简单的AO...
在这个例子中,`XMLParserGetFactory` 和 `XMLParserPostFactory` 都实现了 `AbstractFactory` 接口,分别用于创建用于读取和写入 XML 数据的解析器。这种方式使得代码更加灵活,可以根据需要轻松地替换不同的解析器...
本教程将围绕“AS JNI nativce C 源码例子”这一主题,详细探讨Android Studio如何配置NDK项目,以及如何编写和使用JNI native C源码。 首先,Android Studio支持原生开发,通过NDK(Native Development Kit)工具...