Maison > Java > javaDidacticiel > Comprendre l'héritage en Java à travers un exemple pratique

Comprendre l'héritage en Java à travers un exemple pratique

Mary-Kate Olsen
Libérer: 2025-01-03 16:35:42
original
149 Les gens l'ont consulté

Comprendre l'héritage en Java à travers un exemple pratique

L'héritage est un concept central de la programmation orientée objet (POO) qui permet à une classe d'acquérir les propriétés (attributs et méthodes) d'une autre classe. En Java, l'héritage est implémenté à l'aide du mot-clé extends et représente une relation « est-un ». Cet article explique l'héritage en Java à travers un exemple pratique.

L'exemple de code

// Defining a class
class Animal {
    // General attributes
    protected String colour;
    protected String breed;
    protected int age;

    // General methods
    public String sleep() {
        return "Both cats and dogs sleep";
    }

    public String eat() {
        return "They also eat";
    }

    // Constructor
    public Animal(String colour, String breed, int age) {
        this.colour = colour;
        this.breed = breed;
        this.age = age;
    }

    // Getters and setters
    public String getColour() {
        return colour;
    }

    public void setColour(String colour) {
        this.colour = colour;
    }

    public String getBreed() {
        return breed;
    }

    public void setBreed(String breed) {
        this.breed = breed;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

// Cat class inheriting from Animal class
class Cat extends Animal {
    private String catName;

    public Cat(String colour, String breed, int age, String catName) {
        super(colour, breed, age); // Call the parent class constructor
        this.catName = catName;
    }

    public String getCatName() {
        return catName;
    }

    public void setCatName(String catName) {
        this.catName = catName;
    }

    public String catSound() {
        return "Cat meows!";
    }
}

// Dog class inheriting from Animal class
class Dog extends Animal {
    private String dogName;

    public Dog(String colour, String breed, int age) {
        super(colour, breed, age);
    }

    public String getDogName() {
        return dogName;
    }

    public void setDogName(String dogName) {
        this.dogName = dogName;
    }

    public String dogSound() {
        return "Dog barks!";
    }
}

public class Demo {
    public static void main(String[] args) {
        Cat myCat = new Cat("Brown", "Persian", 2, "Tom");
        Dog myDog = new Dog("Black", "Labrador", 3);

        // Display Cat details
        System.out.println("Cat's Name: " + myCat.getCatName());
        System.out.println("Cat's Colour: " + myCat.getColour());
        System.out.println("Cat's Breed: " + myCat.getBreed());
        System.out.println("Cat's Age: " + myCat.getAge());
        System.out.println("Cat Sound: " + myCat.catSound());
        System.out.println("Cat Behavior: " + myCat.eat() + " and " + myCat.sleep());

        // Display Dog details
        System.out.println("Dog's Colour: " + myDog.getColour());
        System.out.println("Dog's Breed: " + myDog.getBreed());
        System.out.println("Dog's Age: " + myDog.getAge());
        System.out.println("Dog Sound: " + myDog.dogSound());
    }
}
Copier après la connexion

Concepts clés du code

Classe parentale (Animal) :

  • Définit les attributs communs (couleur, race, âge) et les méthodes (dormir, manger) qui sont partagés entre tous les animaux.
  • Fournit un constructeur pour initialiser ces attributs.
  • Comprend des getters et des setters pour l'encapsulation.

Cours enfants (chat et chien) :

Understanding Inheritance in Java Through a Practical Example
Understanding Inheritance in Java Through a Practical Example

  • Étendez la classe Animal et héritez de ses attributs et méthodes.
  • Ajoutez des attributs spécifiques (catName, dogName) et des comportements (catSound, dogSound).
  • Utilisez le mot-clé super pour appeler le constructeur de la classe parent et initialiser les attributs hérités.

Classe de démonstration :

  • Sert de point d'entrée au programme.
  • Montre comment créer des objets de classes Cat et Dog et accéder à leurs propriétés et méthodes.

Avantages de l'héritage

  • Réutilisabilité du code : Les classes Chat et Chien réutilisent le code de la classe Animal.
  • Extensibilité : De nouvelles classes enfants (par exemple, Bird, Fish) peuvent être ajoutées facilement en étendant la classe Animal.
  • Polymorphisme : les méthodes partagées comme dormir et manger peuvent être remplacées dans les classes d'enfants pour fournir des comportements spécifiques.

Résultat du programme

Cat's Name: Tom
Cat's Colour: Brown
Cat's Breed: Persian
Cat's Age: 2
Cat Sound: Cat meows!
Cat Behavior: They also eat and Both cats and dogs sleep
Dog's Colour: Black
Dog's Breed: Labrador
Dog's Age: 3
Dog Sound: Dog barks!

Copier après la connexion

mon GitHub
dépôt java

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:dev.to
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