Les classes ont deux membres importants : les variables membres et les méthodes. Certains membres d'une sous-classe sont déclarés et définis par la sous-classe elle-même, tandis que d'autres sont hérités de sa classe parent. La sous-classe hérite de la variable membre de la classe parent comme l'une de ses propres variables membres, comme si la variable membre était directement déclarée dans la sous-classe, et peut être exploitée par n'importe quelle méthode d'instance définie dans la sous-classe. La sous-classe hérite de la méthode de la classe parent comme l'une de ses propres méthodes, comme si la méthode était directement définie dans la sous-classe, et peut être appelée par n'importe quelle méthode d'instance définie dans la sous-classe.
Héritage entre sous-classes et classes parents dans le même package :
Si la sous-classe et la classe parent sont dans le même package, alors la sous-classe hérite naturellement des variables membres non privées de la classe parent en tant que ses propres variables membres, et hérite également naturellement des méthodes non privées de la classe parent en tant que siennes. . L'accès aux méthodes, aux variables membres héritées ou aux méthodes reste inchangé.
Héritage lorsque la sous-classe et la classe parent ne sont pas dans le même package :
Si la sous-classe et la classe parent ne sont pas dans le même package, les variables membres à accès privé et convivial de la classe parent ne seront pas héritées par la sous-classe, c'est-à-dire que la sous-classe hérite uniquement des variables et méthodes membres à accès protégé et public dans la classe parent en tant que variables membres et méthodes des sous-classes.
Explications supplémentaires sur protégé :
Les variables et méthodes membres protégées d'une classe A peuvent être héritées par ses classes descendantes. Par exemple, si B est une sous-classe de A, C est une sous-classe de B et D est une sous-classe de C, alors les classes B, C, et D héritent tous des variables membres protégées et des méthodes de la classe A.
Si vous créez un objet dans D lui-même à l'aide de la classe D, l'objet peut toujours accéder aux variables protégées héritées ou auto-définies et aux méthodes protégées via l'opérateur "." Cependant, s'il se trouve dans une autre classe, telle que Autre objet. est créé à l'aide de la classe D dans la classe. Les autorisations de cet objet pour accéder aux variables protégées et aux méthodes protégées via l'opérateur "."
1. Pour les variables et méthodes membres protégées déclarées par la sous-classe D elle-même, tant que la classe Autre et la classe D sont dans le même package, l'objet objet peut accéder à ces variables et méthodes membres protégées.
2. Pour les variables membres protégées ou les méthodes protégées dont la sous-classe D hérite de la classe parent, elles doivent être retracées jusqu'à la classe « ancêtre » où se trouvent ces variables ou méthodes membres protégées. Par exemple, il peut s'agir de la classe A, tant que la classe Other et la classe A sont dans le même package, l'objet objet peut accéder aux variables protégées héritées et aux méthodes protégées.