注:TypeScriptインターフェース

オブジェクト指向プログラミングでは、インターフェイスは動作とアクションの規範を定義する規範的な定義であり、プログラミングでは、インターフェイスは制限と規範の役割を果たします。インターフェイスは、クラスの特定のバッチが従う必要のある仕様を定義します。インターフェイスは、これらのクラスの内部状態データや、これらのクラスのメソッドの実装の詳細を考慮しません。特定のメソッドをこのクラスのバッチで提供する必要があることのみを規定しています。これらのメソッド、これらのメソッドを提供するクラスは、実際のニーズを満たすことができます。
interfaceキーワードを使用してインターフェースを定義します

  • プロパティクラスインターフェイス
对 json 的约束

interface 父类名{
    
    
	子类必须属性a:数据类型;
	子类必须属性b:数据类型;
}

function 子类名(参数类型:父类名){
    
     }
调用

子类名({
    
     必须属性a和b })
  1. 上記の呼び出しでは、かっこ内にサブクラスの属性aとbのみが存在し、他の属性は存在できません。aとbはデータ型に準拠している必要があります。

  2. 変数を外部で宣言し、この変数を
    サブクラスの必要な属性aおよびbの属性値に割り当て、次にサブクラス名を呼び出すときに変数名を直接渡すことで、他の属性を渡すことができます方法

  • 関数型インターフェース
  1. メソッドで渡されるパラメーターと戻り値の制約
interface 父类名{
    
    
	(必选参数a:类型,必选参数b:类型):返回值类型;
}

let 子类函数名:父类名 = function(必选参数a:类型,必选参数b:类型):返回值类型{
    
    
	函数内容
}
调用

子类函数名(符合参数a和b的数据类型的值)
  • インデックス可能なインターフェース
  1. 配列とオブジェクトの制約
interface 父类名{
    
    
	[index:索引号的数据类型]:约束的数据类型
}

let 名称:父类名 = [约束的数据类型,....]
  • クラス型インターフェース
    1:クラスの制約は抽象クラスにいくぶん似ています
interface 接口名称{
    
    
	属性类限制 //属性:数据类型;
	方法限制	//函数名(参数:数据类型):返回值数据类型;
}
class 类名 implements 接口名称{
    
    
	必须要有的属性
	constructor(参数:数据类型){
    
     }
	必须要有的方法
}
  • インターフェース拡張
    1:インターフェースはインターフェースを継承でき、基本的に継承します
interface 接口名{
    
     方法 }
interf 接口名 extends 被约束接口名{
    
     方法 }

おすすめ

転載: blog.csdn.net/m0_47883103/article/details/108268850