[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>
度々オブジェクト指向についての質問ですいません。
17 messages
2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について
— Yukihiro Matsumoto <matz@...>
2008/01/04
まつもと ゆきひろです
[#44453] RSS取得時<enclosure>タグでエラー? — "garyo hosu" <garyohosu@...>
garyoです。いつもお世話になっております。
5 messages
2008/01/08
[#44463] [ANN] Rails勉強会@東京 第26回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2008/01/11
[#44464] [ANN] rcairo 1.5.1 — Kouhei Sutou <kou@...>
須藤です。
5 messages
2008/01/11
[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>
はじめまして、青木ルイスと申します、
14 messages
2008/01/12
[#44479] ファイル出力時のprintについて
— m-hatake@...
2008/01/16
畠山と申します。
[#44481] Re: ファイル出力時のprintについて
— KIMURA Koichi <kimura.koichi@...>
2008/01/16
木村です。
[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>
山崎(ゆ)です。
14 messages
2008/01/16
[#44487] Re: format %g の丸めについて
— "GOTO Kentaro" <gotoken@...>
2008/01/16
2008/1/16 山崎雄介 <y-yamasaki@saeilo.co.jp>:
[#44517] www.ruby-lang.org/ja/man/ を静的HTMLに変更 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
6 messages
2008/01/20
[#44536] カタカナ→ひらがな変換 — "Hideo Konami" <konami@...>
小波です。
8 messages
2008/01/25
[ruby-list:44434] Re: [ruby-list:44431] コンストラクタの引数について&インスタンス変数の持ち方について
From:
"Shingo Hagiwara" <rindou@...>
Date:
2008-01-04 16:47:39 UTC
List:
ruby-list #44434
萩原と言います。
基本的には全て趣味によると思います。
ただ、自分の場合は以下のようにするかもしれません。
(1)
# ある車用のFactory
Class HogeCarFactory
def create
tire = Tire.new
tire.diameter = 10 #数値は適当
car = Car.new
car.tire = tire
return car
end
end
#車クラス
Class Car
def initalize
@tire=nil
end
attr_accessor :tire
end
#タイヤクラス
Class Tire
def initialize
@diameter=nil
end
attr_accessor :diameter
end
car_a = HogeCarFactory.new.create
(2)
Class Point
def initialize(x=0,y=0)
@x=x
@y=y
end
def to_array
return [@x,@y]
end
attr_accessor :x, :y
end
point = Point.new(2,3)
p point.x
p point.y
p point.to_array[0]
p point.to_array[1]
point.to_array.each{|value|
p value
}
なお、Rubyに通しているわけではないので、どこか間違っていたらすいません。
08/01/05 に Akira Hayakawa<ruby@i-mail.jp> さんは書きました:
> 度々オブジェクト指向についての質問ですいません。
> 先日は、メソッドが他の自作オブジェクトを引数にとってよいかという話でしたが、
> ぼくはRubyが始めてで、静的なオブジェクト指向をやったことがありません。
> なので、Javaを3日で集中的に勉強して、目の前にある課題を書こうとしましたが、すごくめんどくさい事が分かりました。
> いちいち型をつけないといけないのは、すごくめんどくさい事なのですね。
> というわけで、Rubyに戻ってきました。
>
> そこで質問が2つあります。
>
> (質問1)
> 今、AとBというクラスを考えます。
> BはAにオブジェクトコンポジションでもたれる事にします。
> 例えば、
> Aが車で、Bがタイヤだとします。
> ここで、Aは、コンストラクタの引数で
>
> class A
> def initialize(class_B_instancere)
> @tyre = class_B_instance
>
> ととるのがいいのか、
> もしくは、Bのコンストラクタが、タイヤの直径だとします。
> つまり、
>
> class B
> def initialize(wheel_size)
> という形であるとして、
>
> class A
> def initialize(wheel_size)
> @tyre = B.new(wheel_size)
>
> とするのがいいか、どちらでしょう?
>
> (質問2)
> 今、ある座標上の点を表すクラスPointというものを考えます。
> このPointは当然、x座標とy座標を持つと思いますが、ここで質問です。
>
> class Point
> def initialize(x, y)
> @x = x
> @y = y
> の形で持つのと、xとyは所詮座標であり、仲間であるという事を意識する為に
> class Point
> @where[0] = x
> @where[1] = y
> の形で持つのはどちらがいいのでしょうか?
>
> ぼく個人の意見では後者ではないかというのが今の考えです。
> なぜなら何かアルゴリズムをいじる時に、数字をindexとして持っていた方が便利だと思うからです。
> 前者は例えば、テーブルの値を
> a00 = 3
> a10 = 1
> のように持つのと同様で、後者は
> a[0][0] = 3
> a[1][0] = 1
> のように持つのと同様ではないかと考えています。
>
> 以上2点を質問します。
> ぼくは考えすぎでしょうか・・・
> --
> Akira Hayakawa <ruby@i-mail.jp>
>
>