編集の要約なし |
編集の要約なし |
||
2行目: | 2行目: | ||
* クラスとは、サブルーティーン群を論理的にフォルダにまとめて整合整理するための仕組み | * クラスとは、サブルーティーン群を論理的にフォルダにまとめて整合整理するための仕組み | ||
* フォルダ1 (SuperClass) -> フォルダ2 (SuperClass) -> | * フォルダ1 (SuperClass) -> フォルダ2 (SuperClass) -> SubClassファイル群と階層整理ができる | ||
* さらに、Interfaceクラスを使ってそのクラスの仕様や概要を明示し、しかもコントロールできる | * さらに、Interfaceクラスを使ってそのクラスの仕様や概要を明示し、しかもコントロールできる | ||
* 階層整理をすると各クラス群の役割状況、ポリモやメソッド等の使い回し状況などが俯瞰できる | * 階層整理をすると各クラス群の役割状況、ポリモやメソッド等の使い回し状況などが俯瞰できる |
2019年7月1日 (月) 14:19時点における版
< Java基本文法
- クラスとは、サブルーティーン群を論理的にフォルダにまとめて整合整理するための仕組み
- フォルダ1 (SuperClass) -> フォルダ2 (SuperClass) -> SubClassファイル群と階層整理ができる
- さらに、Interfaceクラスを使ってそのクラスの仕様や概要を明示し、しかもコントロールできる
- 階層整理をすると各クラス群の役割状況、ポリモやメソッド等の使い回し状況などが俯瞰できる
- この本質を知っていれば「継承」だの「親子関係」だの、分かりづらいノイズ概念は不要になる
クラスヒエラルキー
1. インターフェース
- フィールドには自動的に「public static final」が付き定数になる
- メソッドには自動的に「public abstract」が付く
- 「default」を付ければデフォルトメソッドを定義できる(Java8から)
2. スーパークラス
- implementsでインターフェースを使い回せる
- 同名メソッドで、インターフェースのデフォルトメソッドをオーバーライドできる
- 「abstract」が付いたクラスはnewできなくなり、使い回し専用クラスになる
- 「final」が付いたクラスはextendsできなくなり、完成品クラスとなる
- 「final」が付いたメソッドはサブでオーバーライドできない
3. サブクラス
- extendsでスーパークラスを使い回せる
- 同名メソッドで、スーパークラスのメソッドをオーバーライドできる
- オーバーライドしていても「super」でスーパークラスのメソッドにアクセスできる
その他の機能
- 所属グループの型に対して処理を一括適用できる。ポリモーフィズム
- シグニチャが違えば1つのクラスに同名メソッドを幾つでも定義できる。オーバーロード