Dans le dernier article, j'ai parlé de l'interface. https://qiita.com/QiitaD/items/835ed6ee4e52cb6b214a Cette fois, je décrirai des "classes abstraites" qui sont souvent comparées aux interfaces.
Une classe qui a une ou plusieurs méthodes abstraites. Les méthodes abstraites doivent être implémentées dans des sous-classes, les développeurs peuvent donc être forcés de les remplacer.
Il existe les règles suivantes pour gérer les classes abstraites.
Voici un tableau des différences.
Classe abstraite | interface | |
---|---|---|
Méthode avec mise en œuvre | Peut être mis en œuvre | Ne peut pas être implémenté |
Variables de membre | Variables de membre de classe | constant |
Héritage multiple | Impossible | Oui |
Peut être implémenté comme suit
//抽象クラスViecleの実装
abstract class Viecle {
//抽象メソッド
}
Les sous-classes peuvent être implémentées en héritant de classes abstraites.
//抽象クラスViecleの実装
abstract class Car extends Vielce {
//スーパークラスのコンストラクタ呼び出し
//抽象メソッドのオーバーライド
}
Recommended Posts