« Rubyとオブジェクト指向についてアウトプットしてみる【Mixin(include)】 | メイン | Rubyとオブジェクト指向についてアウトプットしてみる【委譲】 »

Rubyとオブジェクト指向についてアウトプットしてみる【Mixin(extend)】

8.Mixin(extend)

module Hiden_of_Kuririn
  def kienzan
    print "気円斬!"
  end
end

class Kamesennin
  def kamehameha
    print "かめはめ波!"
  end
end

class Goku < Kamesennin
  def shunkanidou
    print "瞬間移動!"
  end

  def kamehameha
    print "界王拳4倍かめはめ波"
  end
end


goku1 = Goku.new
goku1.extend Hiden_of_Kuririn
goku1.kienzan   #=> 気円斬!


今回の亀仙人(Kamesennin)は昔、クリリンの書(Hiden_of_Kuririn)を取得していませんでした。
しかし悟空(Goku)の分身は使わなければいけませんでした。
そこで、登場したのが extend です。
extend を利用して、悟空の分身(Gokuのインスタンス)は
クリリンの書(Hiden_of_Kuririn)を手に入れ、"気円斬!"を利用できるようになれるのです。
これが、Mixin(extend)です。


○Rubyとオブジェクト指向についてアウトプットしてみる○
1.メッセージ ~オブジェクトは「問いかけたらきちんと返事をしてくれる」~
2.継承とは
3.メソッドの実行
4.特異メソッド
5.特異クラス
6.オーバーライド
7.Mixin(include)
8.Mixin(extend)
9.委譲


トラックバック

このエントリーのトラックバックURL:
http://synth.jp/pg/mt-tb.cgi/228

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カレンダー


2007年06月
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Map

About

2007年04月12日 17:27に投稿されたエントリーのページです。

ひとつ前の投稿は「Rubyとオブジェクト指向についてアウトプットしてみる【Mixin(include)】」です。

次の投稿は「Rubyとオブジェクト指向についてアウトプットしてみる【委譲】」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。