[解決済み] Dartでインターフェイスを定義するには?
2023-05-13 01:03:29
質問
Javaで、インターフェイス
IsSilly
と、それを実装した1つ以上の具象型があります。
public interface IsSilly {
public void makePeopleLaugh();
}
public class Clown implements IsSilly {
@Override
public void makePeopleLaugh() {
// Here is where the magic happens
}
}
public class Comedian implements IsSilly {
@Override
public void makePeopleLaugh() {
// Here is where the magic happens
}
}
Dartでこのコードに相当するものは何でしょうか?
公式の
ドキュメント
を読んでみたところ、Dart にはネイティブの
interface
型はないようです。では、平均的な Dartisan はどのようにしてインターフェース分離の原則を達成するのでしょうか?
どのように解決するのか?
Dartでは 暗黙のインターフェイス .
すべてのクラスは暗黙のうちに、そのクラスとそのクラスが実装するインターフェースのすべてのインスタンスメンバを含むインターフェースを定義しています。もし、Bの実装を継承せずにBのAPIをサポートするクラスAを作りたい場合、クラスAはBのインターフェイスを実装する必要があります。
クラスは、1つまたは複数のインターフェースを
implements
節で宣言し、そのインタフェースが必要とするAPIを提供することで実装します。
ですから、あなたの例はDartでこのように翻訳することができます。
abstract class IsSilly {
void makePeopleLaugh();
}
class Clown implements IsSilly {
void makePeopleLaugh() {
// Here is where the magic happens
}
}
class Comedian implements IsSilly {
void makePeopleLaugh() {
// Here is where the magic happens
}
}
関連
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] C++でインターフェイスを宣言するには?
-
[解決済み] Pythonで子クラスから親クラスのメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] 派生クラス関数から親クラス関数を呼び出すには?
-
[解決済み] C#のインターフェイス。暗黙の実装と明示の実装
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み] メソッドチェイニング - なぜ良い習慣なのか、そうでないのか?
-
[解決済み] コンストラクタをprivateにするとどうなるのですか?
-
[解決済み] オブジェクト指向プログラミングにおける「インターフェイス」の定義とは?
-
[解決済み] adapter-Any real example of Adapter Pattern [クローズド].
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 抽象メソッドと仮想メソッドの違いは何ですか?
-
[解決済み] Java のコア・ライブラリにおける GoF デザイン・パターンの例
-
[解決済み] ポリモーフィズムとは何か、何のためにあり、どのように使われるのか?
-
[解決済み] コヒーシ ョンとカップリングの違い
-
[解決済み】「結合度が低く、結合度が高い」とはどういう意味ですか?
-
[解決済み] ProxyパターンとDecoratorパターンの違い
-
[解決済み] 継承と集計の比較【終了しました
-
[解決済み] カプセル化と抽象化の違い
-
[解決済み] Mediator Vs Observer オブジェクト指向デザインパターン
-
[解決済み] ポリモーフィズム - たった2つの文で定義する【非公開