
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
PHPとかのお話でしょうか?
トレイトはクラス間をまたがった共通できるロジックを用意するだけであり、
インターフェースとは全く別物ですよ。
インターフェースはクラスの実態を利用元が意識する必要がなく、インターフェースで定義された状態や操作だけで利用元がコントロールできるものです。
インターフェースを実装した時点で、こちらもカプセル化は行えます。
トレイトはインターフェースや抽象クラスの代わりではなく、クラスを構成するにあたって横断的に必要となるコードを実現するにあたっての補助役という位置づけで考えた方がよいです。
意味もなく乱用すると保守性に問題を引き起こす場合があります。
あまりよくありませんが、なんらかの理由でどうしてもクラスの相関関係を崩せない時とかに利用するとか。
継承関係では解決できない、特定のクラスに依存しないけど、何度も同じことを書く横断的な関心ごととかに利用するとか。
ここが分かりやすいです。
https://www.infiniteloop.co.jp/tech-blog/2014/08 …
まずはクラス設計を適切に行うことが大事で、便利だからといって、いつでも考えなく積極的に利用するものではありませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- ネットワーク プロトコルの階層化とインターフェースとの違い 2 2022/07/26 02:38
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- その他(コンピューター・テクノロジー) ChatGPTは井の中の蛙大海を知らずですか。 5 2024/05/25 21:25
- その他(セキュリティ) Yahoo! JAPANのID取得について 1 2022/11/30 23:00
- クレジットカード セゾンクレジットカードの支払い忘れ 6 2023/06/12 06:32
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- その他(セキュリティ) 警視庁が家庭用ルータ不正利用 注意喚起 どこまで設定を変更すれば安全か? 2 2023/03/28 19:22
- クレジットカード クレジットカードの不正利用に気付きました。 久しぶりにクレジットカードの明細をチェックすると、身に覚 4 2024/06/26 15:46
このQ&Aを見た人はこんなQ&Aも見ています
-
近年誕生したプログラミング言語
その他(プログラミング・Web制作)
-
・オブジェクト指向のメリットってなんですか? ・カプセル化だ!とよく叫ぶ人がいますけど、カプセル化が
その他(プログラミング・Web制作)
-
プログラミングについて プログラミングの練習(勉強)ができるようなサイトなどありませんか? あれば教
その他(プログラミング・Web制作)
-
-
4
Web初心者です。 簡易的なWebページを作成し
その他(プログラミング・Web制作)
-
5
趣味レベルでプログラミングをしたいのですがいいコミュニティとかないのでしょうか? 大抵の人はプログラ
その他(プログラミング・Web制作)
-
6
プログラミングのやり方ざっくりでいいから教えて
その他(プログラミング・Web制作)
-
7
HLMT、CSSについて相談です。 私は今までずっと自身のサイトで以下のような総称ファミリーを使って
その他(プログラミング・Web制作)
-
8
フロントエンドエンジニアをしていますが、スキルアップのための転職、異動は3年目では早すぎますか? 今
その他(プログラミング・Web制作)
-
9
プログラミング言語について
その他(プログラミング・Web制作)
-
10
python エラー
その他(プログラミング・Web制作)
-
11
IT業で開発をされてる方々に質問なんですが、一日に書かれるコード数ってどれくらいですか? また、最近
その他(プログラミング・Web制作)
-
12
C#でTreeViewのCheckBoxのサイズ変更
C言語・C++・C#
-
13
プログラマーに向いている人の特徴や性格は何がありますか?
その他(プログラミング・Web制作)
-
14
プログラミングを学ぼうと思います。 1ヶ月程度である程度習得できる言語は何ですか?ブラウザ上でアプリ
その他(プログラミング・Web制作)
-
15
以下の技能を無料で受講できるというところがあるのですが、それぞれどんな仕事に役に立ちますか? (どん
その他(プログラミング・Web制作)
-
16
pythonでAmazonのほしいものリストをローカル保存するスクリプト書いたら一部しか保存できぬ!
その他(プログラミング・Web制作)
-
17
<tr>指定した表の行要素をボタンクリック後に表示させる方法
JavaScript
-
18
エディターで以下のような色になるエディターは解りますか?
その他(プログラミング・Web制作)
-
19
Win11で作業を自動化したいです。どんなソフトがありますか?教えて下さい。単にマウスで特定の場所を
その他(プログラミング・Web制作)
-
20
長門有希のようにコンピュータに詳しい女性っているのでしょうかよろしくお願いしますm(_ _)m
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# 「データが失なわれる可能性...
-
「インターフェイス」って何の...
-
クラスの動的な関係を表すのは...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
Javaで下線
-
デバッグ時に「Source not found」
-
抽象クラスのメリット
-
オブジェクト指向の壁
-
【C#】クラスのコンストラクタ...
-
メソッドの引数にクラス名を渡す
-
「タイプ初期化子が例外をスロ...
-
エクセルVBAで、条件に一致する...
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
-
変数名の付け方
-
河合塾のクラス分けについて
-
C#において、同じインスタンス...
-
オブジェクト参照がオブジェク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB DLLプロジェクトについて
-
(vba)他のアプリケーションの右...
-
【C#】クラスのコンストラクタ...
-
メソッドの引数にクラス名を渡す
-
C# 「データが失なわれる可能性...
-
C#からDLLを呼びたいのですが・...
-
「IOException は対応する try ...
-
c++でのヘッダーファイルの循環...
-
ファイルパスが取得出来ない(P...
-
「ラッパークラス」の存在意義...
-
抽象クラスをJUNITでテストする...
-
ASP.NETでの共通コードの書き方...
-
interface,extend,implementの...
-
「ひとつのインターフェースで...
-
javanoリストのオブジェクト作...
-
オーバーライドとラッパーの違い
-
System.Collections.Generic.Li...
-
VBがオブジェクト指向言語でな...
-
compareToにおける「自然順序付...
-
Commons-Discovery.jarとは?
おすすめ情報
知ったかやめて