トップページ > プログラム > 2014年04月15日 > d1+oXg+5

書き込み順位&時間帯一覧

32 位/204 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000011002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
オブジェクト指向の活用方法を教えて下さい

書き込みレス一覧

オブジェクト指向の活用方法を教えて下さい
289 :デフォルトの名無しさん[sage]:2014/04/15(火) 20:46:27.61 ID:d1+oXg+5
>>287
>つまりnilとNilは別々のオブジェクトであり、

nil はインスタンスでありNil はクラスだから、別々のオブジェクトってこと


>NilがObjectのサブクラスであることとnilは何の関係もない、

Nil と Object とは「サブクラス-スーパークラス」という継承関係であり、
Nil と nil とは「クラス-インスタンス」というインスタンス化関係であり、
二種類の関係をごっちゃにしてはいけない、ってこと
オブジェクト指向の活用方法を教えて下さい
290 :デフォルトの名無しさん[sage]:2014/04/15(火) 21:07:45.24 ID:d1+oXg+5
>>286
>> 基本的な派生元となるObjectやProtoObjectは、
>>それらから派生したUndefinedObjectのインスタンスオブジェクトである
>>nilを継承しており再帰関係を持つ。

Rubyの場合
・ClassクラスのスーパークラスはModuleクラスである(継承関係)
・ModuleクラスのスーパークラスはObjectクラスである(継承関係)
・ObjectクラスはClassクラスをインスタンス化したオブジェクトである(インスタンス化関係)

$ irb2.0
irb(main):001:0> Class.superclass
=> Module
irb(main):002:0> Module.superclass
=> Object
irb(main):003:0> Object.kind_of?(Class)
=> true

結果として、各クラス間の関係は「循環的」に定義されることになる
ただしRubyコミュニティでは、それを(その循環関係)を「再帰的」と呼ぶ事はない

Smalltalkは知らんけど、おそらく、そのWikipediaの著者が
継承とインスタンス化をごっちゃに理解しているんじゃないかと思われ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。