[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: staticの使い方
[From] "kodutumi" <kodutumi@xxxxxxxxxx>
[Date] Fri, 23 Apr 1999 16:16:26 +0900
[Sub] [jfriends] staticの使い方
[MsgID] <050701be8d59$374f4420$4b01a8c0@xxxxxxxxxx>
> というのは、昨日上司から
> 「プロジェクトのパーツを作るときパブリックなものは変数もメソッドもスタティッ
> クで書くように」
> と言われたのです。
> 私はほとんどインスタンスを生成して使っているので、何か気持ち悪く
> その設計はまずいんじゃないかと思うのですが、まずい理由が説明できません。
> 皆様はどう思いますか?できたら以下の趣旨でお聞かせください。
変数を staticにすると、その変数が含まれたクラスの
インスタンスを幾つ作っても変数の実体はひとつですよ
ね? たとえば、
class Point { // 座標X,Yを表す
public static int x, y;
Point(int x, int y) { this.x = x; this.y = y; }
public int getX() { return this.x;}
public int getY() { return this.y;}
}
import Point;
class View {
public static void main(String[] args) {
Point p1 = new Point(1,1);
Point p2 = new Point(2,2);
System.out.println("p1.x ="+p1.getX());
System.out.println("p1.y ="+p1.getY());
System.out.println("p2.x ="+p2.getX());
System.out.println("p2.y ="+p2.getY());
}
}
↑の結果は
p1.x =2
p1.y =2
p2.x =2
p2.y =2
です。これじゃ複数の座標を扱えないので「無条件に
static化」という事なら
>2.上司は間違っている。理由はこれこれ。
僕は2です。
でも、これは明らかに変ですから、なにか
別の真意があるんじゃないですか?
----------
無津呂晃 / MUTSURO Akira.