メソッド (1)

前回のまとめ等

  • 変数・演算子・制御文はCとだいたい同じだが、Cにはなかった型としてbooleanとStringがある。比較演算子等がbooleanを返すことに注意。
  • パッケージ(教科書P.164〜)
    • クラスをひとまとめにしたもの
    • パッケージが違えば名前のクラスでも同時に存在できる
    • パッケージに所属した状態とは?: 1) パッケージを表すディレクトリ(フォルダの中にソースコードが入っている)、2) ソースコードにパッケージ宣言が書かれている
  • クラスとは(前回までの説明。クラスの説明の全てではないことに注意すること)
    • データと処理をまとめたもの(教科書P.68)
    • 既存の型を組み合わせて、「新しい型」を作る仕組み
    • 構造体に関数がついたもの(C言語がきちんとわかっている人向けの説明)
  • 前回作ったクラスについて
    • 既存の型(int型)を組み合わせて、新しい型を作った。
    • クラスの中で定義される変数のことを「フィールド」という(教科書P.72)。
    • クラスの定義とその中のフィールドの定義には「public」をつける(今のところ、本講義では)。
    • クラスは「設計図」といえる。実際に使うには、「実体」を作る必要がある。実体のことを「インスタンス」という(教科書では「オブジェクト」と呼んでいる)。
    • インスタンス化(インスタンスを作ること)にはnew演算子を使う(教科書P.70,71)。
    • インスタンスのフィールドにアクセスするには「.」を使う(例えば、以下はフィールドに代入する場合)。

復習

  1. パッケージ「d00000.lecture05」を作る。
  2. d00000.lecture05に、前回と同様にPersonクラスを作る。
  3. さらに次のフィールドを追加する。
    • 名前を表すnameフィールド
    • 年齢を表すageフィールド
    • 運転免許証の有無を表すhasDriverLicenseフィールド

クラスにメソッドを追加する

  • 教科書P.74
  • メソッドとは?Cにおける関数と大体同じ。
  • メソッドは、クラスの中に定義される。
  • Cとの違い: メソッドは、同じクラスのフィールドを使うことができる。
  • メソッドの定義には「public」をつける(今のところ、本講義では)
  • フィールドとメソッドのことを「メンバー」という。
  • trivia: 教科書に「return (x);とも書きます。」とあるが、今時、カッコはつけない(つけるべきではない)ので、当該箇所は無視すること。詳しくは「c言語 return カッコ」等で検索。

フィールド2つ、メソッド1つ(引数が2つの場合)のクラスの例:

PersonにBMIを計算するメソッドを付け加えてみよう。

ポイント:

  • BMIの計算には2つの値(身長と体重)が必要。Cの場合は関数の引数としたが、Personクラスにメソッドを記述する場合、フィールドの値を使えば良い(使うべき)なので、引数無しになる。