abstract メソッド
abstractメソッドとは
- 処理内容が未定義なメソッド
- 処理内容は継承先のクラスで記述する。
Abstractメソッドを作成する目的
- 子クラスの記述・仕様・設計デザインを指定するのに使用する
- アプリケーションデザインが統一されて開発が行いやすくなる
宣言方法
void normalMethod(){
// 処理
}
abstract void abstractMethod();
Abstractメソッドを含むクラスはabstractなクラス
である必要がある
abstractなクラス
- Abstractメソッドを含むクラス
- 継承元とするために使用する
宣言方法
abstract class ClassName{
// メソッドなど
}
abstractクラスの継承
class ChildClass extends AbstractClass{
void abstractMethod(){
// 処理内容
}
}
具体例
例: 以下のstudentクラスを継承した子クラスはstudyメソッドを持たなければならなくなる
説明
「Studentクラス」のオブジェクトは「studyメソッド」を持たせるよう設計したい。
しかし、具体的なstudyメソッドの内容はわからないのでabstractで抽象的に記述。
「InformaicsStudentクラス」は、studentクラスを継承したクラス。
studyメソッドに「情報学を勉強している」と記述する。
abstractクラス
abstract class Student(){
abstract void study();
}
子クラス
class InformaicStudent() extends Student{
void study(){
System.out.println("情報学を勉強しました");
}
}