C#, C♯, C#相談室 Part98 (518レス)
C#, C♯, C#相談室 Part98 http://mevius.5ch.net/test/read.cgi/tech/1719656321/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
209: デフォルトの名無しさん (ワッチョイ 476d-Ahcx) [] 2024/12/12(木) 10:34:43.14 ID:m/Fq7DtI0 鳥とペンギンだと近すぎて例えとして微妙だった 例えば「動物のリスト」のようなデータを持ち、動物には鳥のように飛べるクラス (Flyメソッドを持つ) と、トラやライオンのように走るクラス (Runメソッドを持つ) があるといった場合 動物の一覧を持つには List<IAnimal> のような型を使うと思うけど、これは合ってるよね? その上で動物によって違うアクションを行わせたいとする IAnimal側に CanFly のようなメソッドを追加していくと、例えばサルのように「道具を使う動物」が後から追加された場合、IAnimalにメソッド追加が必要になり、それはBirdなどの各クラスにも影響する Birdクラスは「道具を使う」なんてことは知らないのに、インターフェースのために CanUseTool のようなメソッドを後から追加するのは違う気がする そうするとやっぱインターフェース分離の形になりそうで、そうなると利用側で is でキャストするのが落としどころなのかと http://mevius.5ch.net/test/read.cgi/tech/1719656321/209
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 309 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s