別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

インターフェイス
C#やJavaのインターフェイスみたいなもの。

// インターフェイスの定義
interface Hoge {
	aaa:number;
	hoge():string;
}
 
// インターフェイスHogeを実装したクラス
class HogeHoge implements Hoge {
	aaa:number;
	constructor() {
		this.aaa = 10;
	}
	public hoge():string {
		return "hogehoge:" + this.aaa;
	}
}
 
var aaa:Hoge = new HogeHoge();
// ↓こんな書き方も出来る
var bbb:Hoge = {
	aaa:20,
	hoge: function() {
		return "bbb.hoge():" + this.aaa;
	}
}
 
alert(aaa.hoge());        // "hogehoge:10"が表示される
alert(bbb.hoge());        // "bbb.hoge():20"が表示される。