[過去ログ]
オブジェクト指向はオワコン (1002レス)
オブジェクト指向はオワコン http://mevius.5ch.net/test/read.cgi/tech/1693054853/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
247: デフォルトの名無しさん [] 2023/09/25(月) 17:09:03.89 ID:F0mcF4FZ Rustはトレイトのデフォルト実装で継承の一部をまかなってる それ以上の部分はマクロでコピペコードを生成するかそのままコピペすることで継承相当を実現している http://mevius.5ch.net/test/read.cgi/tech/1693054853/247
250: デフォルトの名無しさん [] 2023/09/25(月) 17:12:48.35 ID:moYp0tPu >>247 Derefが継承の代替として使われることもあるよ http://mevius.5ch.net/test/read.cgi/tech/1693054853/250
256: デフォルトの名無しさん [sage] 2023/09/25(月) 22:27:07.39 ID:SCrjiBQI >>247 ちょっと違うので補足するね Rustのトレイトは機能・性質を示すもので型でもクラスでもなく変数(やその値)を持つこともなく各型に対して横断的な位置付けであり クラスとその継承を排除したRustでは各型に対して必要な複数のトレイトを実装すなわち合成していくわけだけど トレイトのメソッドは二種類に分かれていて 必須メソッド(required methods)は各型で実装コードが異なるメソッド 提供メソッド(provided methods)は各型で実装コードが共通にできるメソッドで必須メソッドやトレイト境界となる他のトレイトのメソッドを用いてデフォルト実装している つまり機能性質を示すトレイトに対して各型固有の実装と各型共通の実装の二種類に整理しているだけにすぎないよ したがってRustではトレイトとそのメソッドをきちんと設計すればコピペは出て来ない 複数の型でコードが全く同じとなるならば上述のように各型共通の実装となる提供メソッド(provided methods)になりデフォルト実装となる もしマクロでメソッド実装を自動生成する場合はそれは各型固有の実装となる必須メソッド(required methods)に対してマクロの引数指定部分だけが各型で実装が異なる場合になりコピペではないね http://mevius.5ch.net/test/read.cgi/tech/1693054853/256
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s