Par exemple, supposons que vous ayez une méthode voiture ou vélo. Tous les véhicules ont la capacité de «courir». Même par programme, toutes les classes qui héritent de la classe Vehicle doivent avoir une méthode d'exécution. Par conséquent, ce serait bien si la méthode d'exécution pouvait être définie et héritée dans la classe Vehicle, mais comme la méthode de conduite est différente pour chaque véhicule, le contenu du traitement ne peut pas être défini dans la classe Vehicle.
Pour définir une méthode dont le traitement est indécis, vous pouvez définir une méthode appelée méthode abstraite en ajoutant "abstract" au début de la méthode. N'écrivez pas ** traitement de contenu ** dans la méthode abstraite. «Abstrait» signifie «abstrait». Elle est appelée "méthode abstraite" car c'est une méthode inachevée pour laquelle aucun traitement spécifique n'a été décidé. Une méthode abstraite entraînera une erreur si la sous-classe n'a pas remplacé la méthode. Vous pouvez donc forcer une sous-classe à remplacer cette méthode et définir ce qu'elle fait. Si vous voulez qu'une sous-classe ait toujours une méthode, définissez-la comme une méthode abstraite dans la superclasse.
Une classe qui a au moins une méthode abstraite est appelée «classe abstraite» et est précédée de «abstract». Les classes abstraites ne peuvent pas instancier. Une classe qui a une méthode incomplète appelée méthode abstraite est également incomplète. Vous ne pouvez pas créer une instance à partir d'une classe incomplète. [Exemple]
abstract class SuperClass { //Définition de la classe abstraite
abstract public void hello(); //Définition de la méthode abstraite
}
Recommended Posts