Maison > Java > javaDidacticiel > Tâche-7

Tâche-7

Linda Hamilton
Libérer: 2025-01-25 22:04:12
original
410 Les gens l'ont consulté

Tâche-7

Affectation 7: Héritage, super Mot-clé et méthode Override

Cette affectation démontre l'héritage, le mot-clé super et la méthode dominante en java. Décomposons le code et sa sortie.

Classe de grand-mère:

Cette classe représente la classe de base (grand-parent). Il a un champ name et une méthode work().

<code class="language-java">package B15;

public class Grandma {

    String name = "Stella"; // Note: Capitalized for consistency
    int age = 80;

    public void work() {
        System.out.println("Grandma is working."); // More descriptive output
    }
}</code>
Copier après la connexion

Classe mère:

Cette classe hérite de Grandma. Il remplace la méthode work() et ajoute son propre champ name. Le mot-clé super est utilisé pour accéder à la méthode Grandma name et work().

<code class="language-java">package B15;

public class Mother extends Grandma {
    String name = "Arasi"; // Note: Capitalized for consistency
    int age = 50;

    public void work() {
        System.out.println("Mother is working."); // More descriptive output
        System.out.println("Mother's name = " + name);
        System.out.println("Grandma's name = " + super.name);
        System.out.println("Grandma's age = " + super.age);
        super.work();
    }
}</code>
Copier après la connexion

Classe pour enfants:

Cette classe hérite de Mother. Il remplace la méthode work() et ajoute une méthode study(). La méthode main crée un objet Kid et appelle ses méthodes.

<code class="language-java">package B15;

public class Kid extends Mother {

    String name = "Suman"; // Note: Capitalized for consistency
    int age = 30;

    public static void main(String[] args) {
        Kid kid = new Kid();
        kid.work();
        kid.study();
    }

    public void work() {
        System.out.println("Kid is working."); // More descriptive output
        System.out.println("Kid's name = " + name);
        System.out.println("Mother's name = " + super.name);
    }

    public void study() {
        super.work();
        System.out.println("Mother's age = " + super.age);
        System.out.println("Kid's name = " + name);
        System.out.println("Kid's age = " + age);
        System.out.println("Kid is studying."); // More descriptive output
    }
}</code>
Copier après la connexion

Explication de sortie:

La sortie montre que la méthode appelle en cascade dans la hiérarchie de l'héritage. Lorsque kid.work() est appelé, la méthode Kid work() est exécutée en premier, l'impression "Kid fonctionne". Ensuite, kid.study() appelle super.work(), exécutant la méthode Mother S work(), qui à son tour appelle super.work() à nouveau, exécutant la méthode Grandma work(). Le mot-clé super garantit que la méthode correcte de la classe parent est invoquée. La sortie reflète les valeurs des variables name et age à chaque niveau de la hiérarchie d'héritage.

Sortie corrigée et améliorée:

Le code amélioré fournit une sortie plus descriptive, ce qui facilite la compréhension du flux d'exécution. La sortie sera maintenant:

<code>Kid is working.
Kid's name = Suman
Mother's name = Arasi
Mother is working.
Mother's name = Arasi
Grandma's name = Stella
Grandma's age = 80
Grandma is working.
Mother's age = 50
Kid's name = Suman
Kid's age = 30
Kid is studying.</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal