カテゴリー:
クラスとオブジェクト
閲覧数:406 配信日:2016-12-09 09:02
「日本人」クラスを設計
class 日本人 {
}
}
氏名
プロパティ
・日本人なら誰もが持っていて、みな異なる(同じ場合もある)
・個々のインスタンス(例、山田太郎、鈴木花子)で異なる
class 日本人 {
氏名;
}
氏名;
}
生年月日
プロパティ
・日本人なら誰もが持っていて、みな異なる(同じ場合もある)
・個々のインスタンス(例、山田太郎1990-01-01、鈴木花子2000-02-02)で異なる
class 日本人 {
氏名;
生年月日;
}
氏名;
生年月日;
}
年齢
メソッドより求める
・日本人なら誰もが持っていて、みな異なる(同じ場合もある)
・個々のインスタンス(例、山田太郎27、鈴木花子17)で異なる
・プロパティを利用して算出可能
class 日本人 {
氏名;
生年月日;
年齢計算 function{生年月日プロパティを使用して求める};
}
氏名;
生年月日;
年齢計算 function{生年月日プロパティを使用して求める};
}
公用言語
staticプロパティ
・全ての日本人で共通
・すべてのインスタンス(例、山田太郎、鈴木花子)で共通なもの(であるがゆえに1つだけあればよい代物)
class 日本人 {
static 公用言語;
氏名;
生年月日;
年齢計算 function{生年月日を使用して求める};
}
static 公用言語;
氏名;
生年月日;
年齢計算 function{生年月日を使用して求める};
}
まとめ1
「氏名」「生年月日」「年齢」
・「日本人」ではなく、個々のインスタンス(例、山田太郎、鈴木花子)に属している
→ staticを付与しない
「公用言語」
・「日本人」に属している
→ staticを付与
まとめ2
インスタンスメソッド内より
・staticプロパティとstaticメソッドは呼出可
山田太郎の公用語を求める
staticメソッド内より
・普通のプロパティと普通のメソッドは呼び出し不可
日本人に共通な氏名を求める
日本人に共通な生年月日を求める
日本人に共通な年齢を求める