[解決済み】トレイトとインターフェイスの比較
2022-03-25 14:42:09
質問
最近、PHPの勉強をしようとしているのですが、traitにこだわっています。コードの水平方向の再利用や、必ずしも抽象クラスを継承したくないという考え方は理解できます。しかし、traitとinterfaceの決定的な違いは何でしょうか?
このような場合、どちらを使うべきかを説明したまともなブログ記事や記事を探してみたのですが、これまで見つけた例は、同じようなものばかりでした。
どのように解決するのか?
インターフェイスは、実装するクラスが持つ一連のメソッドを定義するものです。 が必要です。 を実装します。
ある特質が
use
メソッドの実装も一緒に来る--これは
Interface
.
そこが一番大きな違いです。
より PHP RFCの水平方向の再利用 :
Traitsは、PHPのような単一継承言語においてコードを再利用するための機構です。Trait は、単一継承の制限を減らすことを目的としており、 開発者がメソッドのセットを、異なるクラス階層にある複数の独立したクラスで 自由に再利用できるようにします。
関連
-
[解決済み] SAJAXは死んだか?何を置き換えるべきか?
-
[解決済み】 libapache2-mod-php7 パッケージが見つからない。
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み] C#のインターフェイス。暗黙の実装と明示の実装
-
[解決済み] JavaにおけるRunnableインターフェースとCallableインターフェースの違いについて
-
[解決済み] Traitの代わりに抽象クラスを使用する利点は何ですか?
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み】インターフェイス - ポイントは何ですか?
-
[解決済み】なぜC#のインターフェースはフィールドを含むことができないのですか?
-
[解決済み] ミキシン vs. トレイツ
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】stdClassクラスのオブジェクトが文字列に変換されない。
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】In_arrayが動作しない。