TIL] Dart-Interface
🌼 Interface
▲他の宣言方法はなく、classを作成するようにInterface classを作成できます.
▲Interface classの実装は、無条件にインタフェースとして定義されることを意味する.
▲類似の性質を持つclassは、特定の変数または関数を持つ必要がある場合に使用します.
Q.遺伝に似た概念ではないでしょうか.
親クラスを拡張し、@overrideで類似のクラスを作成することもできます.
ただし、親を継承する値と使用する変数/関数の定義にはわずかな違いがあるので、状況に応じて適切に使用することが望ましい.
Interface
:クラスで宣言する必要がある変数/関数などを定義するときにインタフェース概念を使用します.▲他の宣言方法はなく、classを作成するようにInterface classを作成できます.
▲Interface classの実装は、無条件にインタフェースとして定義されることを意味する.
▲類似の性質を持つclassは、特定の変数または関数を持つ必要がある場合に使用します.
void main() {
BoyGroup bts = BoyGroup('bts');
bts.sayName();
GirlGroup redVelvet = GirlGroup('redVelvet');
redVelvet.sayName();
}
abstract class IdolInterface {
String? name;
void sayName(){}
}
class BoyGroup implements IdolInterface {
@override
String? name;
BoyGroup(String name);
@override
void sayName() {
print('제 이름은 $name입니다.');
}
}
class GirlGroup implements IdolInterface {
@override
String? name;
GirlGroup(String name);
@override
void sayName() {
print('제 이름은 $name입니다.');
}
}
親クラスを拡張し、@overrideで類似のクラスを作成することもできます.
ただし、親を継承する値と使用する変数/関数の定義にはわずかな違いがあるので、状況に応じて適切に使用することが望ましい.
void main() {
BoyGroup bts = BoyGroup('bts');
bts.sayName();
}
class IdolInterface {
String? name;
void sayName(){}
}
class Idol {
final String name;
Idol(this.name);
void sayName(){
print('제 이름은 $name입니다.');
}
}
class BoyGroup extends Idol {
BoyGroup(String name) : super(name);
@override
void sayName() {
print('제 이름은 $name입니다.');
}
}
出典:YOUTUBEコード工場Reference
この問題について(TIL] Dart-Interface), 我々は、より多くの情報をここで見つけました https://velog.io/@link717/Dart-Interfaceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol