オブジェクト指向の考え方を使用して JavaScript を記述する方法は、初心者にとっては難しいはずです。私たちがよく使用する JQuery は、実際にはオブジェクト指向の考え方でカプセル化されています。今日は、Javascript と C# でのインターフェイスの使用方法を見ていきます。 C# や Java には Interface のようなキーワードがありますが、JavaScript にはその特性を利用して Interface を模倣することができますが、それにはいくつかのメソッドを追加する必要があります。チェックアクション。
次のインターフェイスの役割を見てみましょう:
このインターフェイスを継承する場合は、このインターフェイスで定義されたメソッド (メソッド シグネチャ) を実装する必要があります
//JavaScript は現在メソッド シグネチャの制約を実装できません
var インターフェイス= function (名前, メソッド) {
if (arguments.length != 2) { throw new Error("インターフェイスの長さが 2 より大きい"); this.Name = name this; ;
for (var i = 0; i if(typeofmessages[i]!== string) { throw new Error("メソッド名が文字列ではありません") ; this.Method.push(methods[i]); } } /*インターフェースの静的メソッド*/ Interface.ensureImplement = function (object) { if { varinterface1 = argument[i]; If (interface1.constructor !== Interface) { throw new Error("引数がインターフェイスではありません") }
このインターフェイスの使用方法を見てみましょう:
var person = new Interface("person", ["GetName", "GetAge"]); var Man = function (name, age) { this.Name = name this .Age; = age; } Man.prototype = { GetName: function () { return this.Name; }, // GetAge: function () { return this.Age } } var test = function (instance) { Interface.ensureImplement; , 人); var name = インスタンス.GetName(); アラート(名前); } test(new Man("Alan",20));上記の GetAge メソッドにアノテーションを付けると、問題が発生しました。 ensureImplement を実行したところ、このメソッドが実装されていないことがわかりました。