Table des matières
Le concept d'héritage
Maison Java javaDidacticiel Héritage en Java : concepts et utilisation

Héritage en Java : concepts et utilisation

Apr 22, 2023 pm 04:19 PM
java

    Le concept d'héritage

    L'héritage signifie que la sous-classe hérite des caractéristiques et des comportements de la classe parent, de sorte que l'objet de la sous-classe (instance) possède les champs et méthodes d'instance de la classe parent, ou que la sous-classe hérite du méthode de la classe parent, afin que la sous-classe ait le même comportement que la classe parent.

    Grâce à l'héritage, vous pouvez créer rapidement de nouvelles classes, réaliser la réutilisation du code, améliorer la maintenabilité du programme, gagner beaucoup de temps dans la création de nouvelles classes et améliorer l'efficacité et la qualité du développement.

    Avantages de l'héritage :

    • Réduire la duplication de code

    • Améliorer la réutilisabilité du code

    • Faciliter l'expansion des fonctions

    ✅Format d'héritage class A extends B{}

    A : sous-classe, classe dérivée, sous-classe, B : parent classe, super classe, classe de base, superclasse

    Réflexion : Une fois que la sous-classe A hérite de la classe parent B, la sous-classe A obtient tous les attributs et méthodes déclarés dans la classe parent B, notamment Oui, pour les attributs ou méthodes déclarés privés dans la classe parent, une fois que la sous-classe a hérité de la classe parent, elle est toujours considérée comme ayant obtenu la structure privée de la classe parent. Ceci est uniquement dû à l'influence de l'encapsulation, la sous-classe ne peut pas appeler directement la structure de la classe parent

    Après avoir hérité du parent. classe, la sous-classe peut également déclarer ses propres attributs ou méthodes uniques : pour réaliser l'expansion des fonctions. Une classe parent peut avoir plusieurs sous-classes.Héritage unique de classes en Java : Une classe ne peut avoir qu'une seule classe parent. Les sous-classes sont un concept relatif. La classe parent dont une sous-classe hérite directement est appelée : Classe parente indirectement. hérité est appelé : classe parent indirecte.Une fois que la classe enfant a hérité de la classe parent, elle obtient les attributs et les méthodes déclarés dans la classe parent directe et dans toutes les classes parent indirectes.Si nous ne déclarons pas explicitement le parent d'une classe,Si c'est le cas. une classe, alors cette classe hérite de la classe java.lang.Object. La classe Object est la classe parent racine de toutes les classes Java.

    Points à noter lors de l'héritage :

    1.

    2 .Java ne prend pas en charge l'héritage multiple, mais une classe peut implémenter plusieurs interfaces, palliant ainsi les inconvénients de l'héritage unique

    3 La méthode de construction ne sera pas héritée par la sous-classe, mais la méthode de construction de la classe parent le peut ; être appelé depuis la sous-classe.

    Par exemple, la réécriture de la méthode

    class teacher{             //声明一个teacher类为父类
    	String name;      	   //定义父类的成员变量name、age   
    	int age;
    	void show(){           //定义父类成员方法,将成员变量输出
    		System.out.println(name); 	  
    		System.out.println(age); 
    	}
    }
    class Student extends teacher {     //声明一个Student类为子类并继承父类
    }
    public class myfirst {
    	public static void main(String[] args) {
    	System.out.println("学生");
    	Student student=new Student();     //声明一个Student类的实例对象student
    	student.name="Tom";                //子类调用父类的成员变量name并赋值
    	student.age=19;                    //子类调用父类的成员变量age并赋值
    	student.show();                    //子类调用父类的成员方法show
    	}
    }
    Copier après la connexion

    Dans les applications réelles, les fonctions des classes enfant et parent que nous écrivons sont différentes, nous devons donc réécrire ou masquer la méthode de la classe parent.

    1 Réécriture : une fois qu'une sous-classe a hérité d'une classe parent, elle peut remplacer les méthodes portant le même nom et les mêmes paramètres dans la classe parent.

    2 Application : après la réécriture, lorsqu'un objet de sous-classe est créé, l'objet de sous-classe peut être appelé via. l'objet sous-classe. Lorsqu'il y a une méthode avec le même nom et les mêmes paramètres dans une classe, ce qui est réellement exécuté, c'est que la sous-classe remplace la méthode de la classe parent

    3 Règles de réécriture :

    Déclaration de méthode :

    .

    Nom de la méthode du type de valeur de retour du modificateur d'autorisation (liste de paramètres formels)

    La méthode de la sous-classe est appelée la méthode remplacée, et la méthode de la classe parent est appelée la méthode remplacée. Le nom de la méthode et la liste des paramètres formels de la méthode remplacée. La méthode de la sous-classe est la même que le nom de la méthode et la liste des paramètres formels de la méthode substituée dans la classe parent. La liste des paramètres est la même et le modificateur d'autorisation de la méthode substituée par la sous-classe n'est pas inférieur au modificateur d'autorisation de. la méthode surchargée de la classe parent.Cas particulier : la sous-classe ne peut pas surcharger la méthode déclarée comme autorisation privée dans la classe parent. À propos du type de valeur de retour :

    Le type de valeur de retour de la méthode surchargée de la classe parent est nul, alors. le type de valeur de retour de la méthode remplacée par la sous-classe ne peut être que nul.Le type de valeur de retour de la méthode remplacée par la classe parent est de type A, alors le type de valeur de retour de la méthode remplacée par la sous-classe ne peut être que nul. Le type de valeur de retour de la méthode substituée par la classe peut être la classe A ou une sous-classe de la classe A. Le type de valeur de retour de la méthode substituée de la classe parent est un type de données de base (par exemple : double), puis le type de valeur de retour de la méthode remplacée par la sous-classe est Le type de valeur de retour doit être le même

    Les méthodes avec des paramètres du même nom dans la sous-classe et la classe parent doivent être déclarées comme non statiques pour être remplacées. Si elles sont statiques, elles ne le sont pas. overridden

    Par exemple

    class A{
    	public void sayHello() {                      //输出英文欢迎
    		System.out.println("Hello,Welcome to Java!!!");
    	}
    	public void sayBye() {
    		System.out.println("GoodBye,everyone");
    	}
    }
    class B extends A {           
        public void sayHello() {                      //输出中文欢迎  
        	System.out.println("大家好,欢迎学习Java!!!");
        }
    }
    public class myfirst {
    	public static void main(String[] args) {
    	B b=new B();                                //创建子类B的一个实例对象,使用默认构造方法
    	b.sayHello();                               //调用子类中重写的方法
    	b.sayBye();                                 //调用父类中的方法
    	}
    }
    Copier après la connexion

    Utilisation du mot-clé super

    Super est compris comme : de la classe parent, super peut être utilisé pour appeler des attributs, des méthodes et des constructeurs

    L'utilisation de super peut être effectuée dans les méthodes ou. constructeurs de sous-classes. En utilisant "super.property" ou "super.method", vous pouvez appeler explicitement les propriétés ou méthodes déclarées dans la classe parent. Cependant, généralement, nous avons l'habitude d'omettre "super.

    Cas particulier : lorsque la sous-classe et When. une propriété du même nom est définie dans la classe parent, si on veut appeler la propriété déclarée dans la classe parent dans la sous-classe, il faut utiliser explicitement la méthode "super.property" pour indiquer que la propriété déclarée dans la classe parent est appelé. Une fois que la sous-classe a remplacé la méthode dans la classe parent, lorsque nous voulons appeler la méthode substituée dans la classe parent dans la méthode de la sous-classe, nous devons explicitement utiliser la méthode "super.method" pour indiquer que l'appel est Méthodes remplacées dans la classe parent.

    super appelle le constructeur

    Nous pouvons explicitement utiliser "super (liste de paramètres formels)" dans le constructeur de la sous-classe pour appeler le constructeur spécifié déclaré dans la classe parent. "super (liste formelle de paramètres)" doit être déclaré dans la première ligne du constructeur de sous-classe, nous ciblons "this (liste formelle de paramètres)" ou super (liste formelle de paramètres)" Vous ne pouvez en choisir qu'un. des deux et ne peut pas apparaître en même temps. Dans la première ligne du constructeur, il n'y a pas de déclaration explicite de "this (liste formelle de paramètres)" ou "super (liste formelle de paramètres)".

    Par exemple

    package first;
    class A{
        public String name="张飞";         //添加成员变量
    	public void say() {                //添加成员方法say
    		System.out.println("我是父类A成员方法say");
    	}
    }
    class B extends A{
        public String name="关羽";         //与父类中同名的字段,隐藏父类
    	public void say(){                 //重写方法say
    		super.say();                   //使用super关键字调用父类中的方法
    		System.out.println("我是子类B成员方法say");
            System.out.println("父类的name名字:"+super.name); //使用super关键字访问父类中的变量
    	}
    }
    public class myfirst {
    	public static void main(String[] args) {
    	  B b=new B();                     //创建子类的一个实例对象
    	  b.say();                         //调用子类中重写的方法
    	  System.out.println("子类的name名字:"+b.name);   //调用子类中的name
    	}
    }
    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!

    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

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Commandes de chat et comment les utiliser
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

    Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

    Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

    Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

    Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

    Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

    Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

    Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

    Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

    Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

    Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

    Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

    Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

    Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

    Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

    Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

    See all articles