[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>

度々オブジェクト指向についての質問ですいません。

17 messages 2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について — Yukihiro Matsumoto <matz@...> 2008/01/04

まつもと ゆきひろです

[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>

はじめまして、青木ルイスと申します、

14 messages 2008/01/12
[#44479] ファイル出力時のprintについて — m-hatake@... 2008/01/16

畠山と申します。

[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>

山崎(ゆ)です。

14 messages 2008/01/16

[ruby-list:44444] Re: コンストラクタの引数について&インスタンス変数の持ち方について

From: NAKAMURA Akifumi <BXQ04723@...>
Date: 2008-01-05 15:52:48 UTC
List: ruby-list #44444
Akira Hayakawa さんは書きました:

> ぼくの考えからいうと、
> PCは
> 
> def initialize(display, box, keyboard)
> 
> となるべきです。

というか、
個人の考えをコンストラクタにぶつけても
しょーがないんじゃないかなあ…

class PC
def self.new_for_Hayakawa_san(display, box, keyboard)
....

ならOKですよきっと(^^;

言語の微妙な相違の話としてですが、
Rubyのコンストラクタって結局は
特に特別のことが有るわけでもない
クラスメソッド(インスタンスメソッドではないという意味で)
ですよね。
だから欲しければ作ってしまえばいいや。


あるいはクラスのほうを

class PC_for_Hayakawa_san
def initialize(display, box, keyboard)
....

にしちゃうのもOKですかね。

状況次第(一般論は存在しません)では
1つの例えばPCクラスを
複数のプログラムで共用したいかも知れないんで、
そういう場合は
1つのクラスに複数の
「それぞれの都合に合わせたコンストラクタもどき」
を作っちゃえばいいかなと。



> 車やさんとしては、タイヤやさんがどういう製法で作ろうが、どんな形をしてようが、
> とりあえずタイヤとして機能するものであればなんでもいい。
> だからタイヤのインスタンスを引数をとるべきではないのですか?

「なんでもいい」と言い切れるかどうかは車やさんの事情次第だ、
ということじゃないでしょうか?

Hayakawa自動車株式会社、の事情ならば
Hayakawaさんが明確に決めれるかも知れません。




In This Thread