[過去ログ] ふらっと C#,C♯,C#(初心者用) Part155 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
26(2): デフォルトの名無しさん (ササクッテロラ Sp3b-RW72) [sage] 2022/06/22(水) 11:32:21.14 ID:cmFMiTtgp(1/2) AAS
>>24すごい。設問で理解できた気がする。
つまり現存するのが少数の自前クラスだけならまだ全てのクラスを引数にするメソッドを作成できるが、将来に渡って作られるであろうあらゆるクラスを引数にした関数は普通は作れない
そこでinterfaceを使って引数を抽象化する事で、あらゆるクラスを引数に取る事を可能にする。しかもHoge()は確定実装なので相手が何であれHoge()を叩けるのは保証される。よって相手を限定しない疎結合になる。
ってことか?この認識であってます?
29(1): デフォルトの名無しさん (ワッチョイ 3ea7-9kHe) [sage] 2022/06/22(水) 11:56:22.30 ID:/fjoIry/0(1) AAS
>>26
外野だけど大体そんな感じ
ただ、「そのインターフェースを実装しているクラスに限る」けどね
だからといって闇雲に継承したりインターフェースを実装したりするのではなく、is-aの関係であるべき
「車」や「飛行機」は抽象化すると「乗り物
」となるけど、「家」は抽象化しても「乗り物」とはならないね(抽象化すると「建物」とかになるはず)
車、飛行機、家はそれぞれ通常クラスとして、
乗り物、建物はインターフェースとして定義する
そうすればどの乗り物だろうと同じ「前進」とかで動かせる
この抽象化して、どれでインスタンス化したか関係なく動かすためにinterfaceがある
35: デフォルトの名無しさん (ワッチョイ 5fda-fNRM) [sage] 2022/06/22(水) 15:18:26.16 ID:IP7+Sy+B0(2/2) AAS
>>26
合ってる。
小難しく考えず、要は「俺のこと呼び出すならこれとこれのメソッド実装しとけ」ってこと。
だんだん使いこなせてきて、もうちょっと凝ったことやろうと思うと型制約とかが出てくる
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s