2014-01-23 17 views
2

我有兩個類,行和點。兩個班級都實施「高光」。我想創建一個可以容納實現「highlightable」接口的不同類型對象的變量。AS3如何使一個變量僅保持實現給定接口的對象

var currentObject:lines; //Won't work. It can only hold 'lines' object. 
var currentObject:points; //won't work because it can only hold 'points' object. 
var currentObject:Object; //Won't work because it can hold any objects. I want it to hold only those objects that implements the 'highlightable' interface. 

這可能嗎?

謝謝

回答

5

所有你需要做的就是讓你的變量成爲你的接口類型。

var currentObject:highlightable = new classA(); 

var currentObject:highlightable = new classB(); 

凡ClassA和ClassB的都實現了高亮接口。

4

只需在你的類中實現接口,以便強制該模式。

public interface IHighlightable 

public class Lines implements IHighlightable 
public class Points implements IHighlightable 


// for the usage you type cast as the interface 
var currentObject:IHighlightable = new Lines() 
var currentObject:IHighlightable = new Points() 

**請務必遵循命名約定

相關問題