C++相談室 part155 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
862: 21/05/15 22:02:21.21 JZCPEXPS.net >>846 そのリスコフ置換原則= is-a が必ずしもいつも使えるとは限らないのですよ 例えば、数の体系は例えば 複素数⊃実数⊃有理数⊃整数⊃自然数 ですが、じゃあ、「複素数」からインプリメントするか?というと、私はそうは思えません 863:デフォルトの名無しさん 21/05/15 22:02:48.30 ROEIM7pX.net Ruby の委譲は、Forwardable を使う 例えば、自分でスタッククラスを作る場合、 Array 型のインスタンス変数に丸投げして、push/pop を使う ただし、他のメソッドを呼ばれても困るので、使えるメソッドを限定する 文字列・配列などは継承用のクラスじゃないから、 継承するのはアンチパターンなので、委譲を使う ただし例外的に、Ruby on Rails など、有名なフレームワークでは、 標準クラスを継承して、カスタマイズする事も認められる require 'forwardable' class Stack extend Forwardable def initialize( ) @ary = [ ] end def_delegators( :@ary, :push, :pop ) end stack = Stack.new stack.push 1 stack.push 2 stack.pop p stack #=> @ary=[1]
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
287日前に更新/299 KB
担当:undef