こんにちはnishioです
今週の振り返りと来週どうしたいかを記述していきたいと思います。
今週やったこと
- スッキリわかるJava入門の学習
- インスタンスとクラス
- オブジェクトを生成するためのもの金型が「クラス」、実際に活動するオブジェクトが「インスタンス」
- クラスには属性(フィールド)と操作(メソッド)がある
- new演算子を用いることでインスタンスを生成できる
- 変数名.フィールド名;、変数名.メソッド名();でフィールドやメソッドにアクセスが可能
- クラス型と参照
- クラス型変数の中はインスタンスの情報が先頭番地に格納されている
- コンストラクタ
- コンストラクタはオーバーロードによって複数定義できる
- コンストラクタはコンパイル時に自動で引数および処理なしのデフォルトコンストラクタが生成される
- コンストラクタはクラス名と同じであること、戻り値がないこと
- フィールドに初期値を設定できることで、インスタンス化の際にいちいち初期値を記述しなくて済む
- 継承および高度な継承
- 継承を用いることで既存クラスを利用でき、自クラスと合わせてオブジェクトを楽に生成できる
- 子クラス側のメソッドで対応する
- コンストラクタはスーパークラスから先に呼ばれる
- 高度な継承としては継承するための材料を作れるように意識すること
- 抽象クラス
- 抽象クラスはメソッドの具体的な動作が決まっていないときに作る
- オーバーライドのし忘れやインスタンスを生成できないようになっている
- インタフェース
- 抽象メソッドしか持たず、フィールドも定数以外持たない
- インタフェースは多重継承できる
- 実装する際は、implementsを用いる
- 多態性
- 物事をあいまいにとらえること
- 水、お茶を飲み物として捉えること
- is-aの関係が成立しているなら、親クラスの変数に子クラスのインスタンスを代入できる
- どのメソッドを利用できるかは箱の型で決まる
- メソッドが動くかは中身の型で決まる
- あいまいに捉えることで同じ種類の動作をまとめて対応できる
- 一つの動作で各々が適した行動をとることができる
- インスタンスとクラス
来週はどうしたいか
今週は基礎をしっかり学んだつもりが、親クラスに初期値の設定ができていなかったりと応用できていなかったため、その日やった内容に関する練習問題を行ってしっかりと覚えていきたいです。
また、考えながら人に伝えたりまとめたりをできるようにつまり何を伝えたいか目的意識をもっていきたいです。