Programming Methodology 7〜9
この一週間の隙間時間を使いながら、三回分の講義を視聴しました。一応、各回毎にメモを取っていたのですが、ここに書き起こすのを怠ってしまいましたので、今回はまとめて書いてしまいます。
第七回目は、methodについて語られていました。以下、箇条書きします。
- 数学の関数とは違う
- methodにparameterを渡す、すると何かがreturnされる
- methodの中では、何らかのcomputeが行なわれている
- Mathクラスを使った事例
- everything is function or method
- CDプレーヤーに、CDを入れて再生ボタンを入れる
- どんな曲が流れるかはCD次第
- CDがparameter/曲がreturnValue/CDプレーヤーがmethod
- receiver.name(arguments)
- argumentsがparametersとなり、これによってreceiverオブジェクトに
- 何らかの作用が起こる。または、何かのreturnValueが返る
- voidはspecialType。何もvalueを返さない関数
- logical operation
- 演算子の一種
- これが式の中で使われていたらboolean型を返す
第八回目は、methodの特徴について、以下のようなことが述べられていました。
- information hiding
- 処理の複雑さを軽減してくれる
- 全てのメソッドの実装を気にしなくてもいい
- ブラックボックスとして扱う
- stack frame
- メソッドの呼び出し
- 引数とパラメータ、呼び出し元と呼び出し先の値は異なる(intの場合、コピーされる)
- 新しいstackの中特有の変数
- stack内の処理が終わったら、そのstackは破棄される(元の処理に戻る)
また、オブジェクト内で利用されるinstance variableについても触れられていました。
- instance variable
- 状態を持つ
- 計算した後も、その状態に意味がある
- local variableは、計算後の状態はない
- オブジェクト内で生成され、どのメソッドでも使える
第九回目は、クラスの実装(Implementing Class)について語られました。
- 全てのClassはObjectを継承している
- public/privateの違い
- 外からアクセスできるか否か
- eclipseでClassを作る
- constructorを実装
- クラス名と同じ名前
- コンストラクタは何も返さない
- オブジェクトを初期化する
- パラメータとiVar(instance variable)が同じ名前の場合
- thisをつけないと、ローカル変数だと判断される
- iVarだと示す場合は、thisをつける
- instance variableの実装
- クラス内で使う変数
- この講義では、ファイルの最後で定義している
- メソッドの実装
- local variableを使いながら処理を書く
- publicにして外部に公開する
- Classの使い方
- newを使ってオブジェクトを生成する
- 必要に応じてパラメータを渡す
- オブジェクトについて
- methodのパラメータとして渡すことができる
- 渡されるのはオブジェクトのコピーではない
- referenceが渡される(オブジェクトそのものが渡される)
- どこに何があるかわかるから、それができる
- intなどの場合は、それができない
- Class variable
- 環境の全てで共有される
- staticを使う
- 今回は、そこまで詳しい話は出てこなかった