Pour l'acquisition de Java Silver, je résumerai les parties qui ne sont pas bien comprises dans les bases de Java.
Je pense que je comprends le concept d'héritage lui-même. Personnellement, je pense que c'est plus facile à comprendre si vous l'exprimez comme une extension de la fonction plutôt que comme une héritage. L'image d'une sous-classe est que la superclasse a un degré d'abstraction plus élevé et moins de fonctions, et des fonctions plus spécifiques ont été ajoutées pour en faire une superclasse + α (extension).
・ Super classe
SuperA.java
class SuperA {}
-Sous-classe qui hérite de la super classe
SubA.java
class SubA extends SuperA {}
--Plusieurs superclasses ne peuvent pas être spécifiées après étend.
SubA.java
class SubA extends SuperA, SuperB {}
Les membres définis dans la superclasse peuvent être utilisés dans la sous-classe, mais les membres privés ne peuvent être utilisés qu'à partir de la même classe, ils ne peuvent donc pas être utilisés dans la sous-classe.
Par exemple, si vous souhaitez remplacer une méthode qui spécifie public dans une superclasse, vous devez spécifier public. (La plage de divulgation ne peut pas être réduite.)
・ Gamme publique de modificateurs d'accès
large | ─ | ─ | étroit |
---|---|---|---|
public | protected | Défaut | private |
Accessible depuis n'importe quelle classe | Sous-classe ou même package | Même paquet | Même classe seulement |
Il existe les deux types suivants de conversion de type dans la superclasse et la sous-classe.
Conversion de type implicite Sous-classe → Super classe Classe d'implémentation → interface
Conversion de type par distribution Sous-classe ← Super classe Classe d'implémentation ← interface
En d'autres termes, est-ce une image que la conversion de type implicite peut être effectuée si les fonctions qui peuvent être utilisées après la conversion ne sont pas réduites?
--Membres appelés lors du remplacement
Lorsqu'un objet de sous-classe est affecté à une variable de type superclasse, les membres de la superclasse sont appelés à l'exception de la méthode d'instance.
Recommended Posts