[過去ログ]
オブジェクト指向はオワコン (1002レス)
オブジェクト指向はオワコン http://mevius.5ch.net/test/read.cgi/tech/1693054853/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
701: デフォルトの名無しさん [] 2024/01/20(土) 11:29:56.55 ID:ppE6WkEJ trait TraitA { fn method_a(&self); } trait TraitB { fn method_b(&self) { println!("Method B called"); } } // TraitBをTraitAを実装するすべての型に対して実装する impl<T: TraitA> TraitB for T {} struct MyStruct; // MyStructにTraitAを実装する impl TraitA for MyStruct { fn method_a(&self) { println!("Method A called"); } } fn main() { let my_struct = MyStruct; my_struct.method_a(); // TraitAのメソッド my_struct.method_b(); // TraitBのメソッド(TraitAを実装するため自動的に利用可能) } http://mevius.5ch.net/test/read.cgi/tech/1693054853/701
703: デフォルトの名無しさん [sage] 2024/01/20(土) 12:00:42.41 ID:+uoYRouQ >>700 >>701 それは実装継承ではないよ なぜならtraitは具体型ではなく、さらにRustの場合はデフォルト実装から具体型の固有フィールド(メンバ変数)や固有メソッドに一切アクセスができない つまり実装継承における問題が発生しない http://mevius.5ch.net/test/read.cgi/tech/1693054853/703
705: デフォルトの名無しさん [sage] 2024/01/20(土) 12:38:21.50 ID:+uoYRouQ >>704 両方 まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない 次に>>701が例示している件に対して >// TraitBをTraitAを実装するすべての型に対して実装する >impl<T: TraitA> TraitB for T {} これは実装継承ではないだけでなく、類似しているように見えても、実装継承の問題と同じことは発生しない http://mevius.5ch.net/test/read.cgi/tech/1693054853/705
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.036s