


Les trois fonctionnalités majeures de Java : encapsulation, héritage et polymorphisme
Nous savons que les trois caractéristiques majeures de l'orientation objet sont l'encapsulation, l'héritage et le polymorphisme. Cependant, nous sommes parfois toujours confus quant à ces concepts. Ces concepts sont organisés ci-dessous pour jeter une base solide pour la future programmation orientée abstraction.
La notion d'encapsulation est quand même facile à comprendre. Si vous pouvez définir des classes, alors je pense que vous avez pleinement saisi le concept d'encapsulation. Les classes définies ci-dessous sont l'encapsulation des données.
L'avantage d'hériter de est la réutilisation du code. Les sous-classes héritées possèdent automatiquement toutes les propriétés et méthodes de la classe parent. Donc hériter de classes existantes signifie réutiliser les méthodes et les champs de ces classes. Sur cette base, les sous-classes peuvent également ajouter de nouvelles méthodes et de nouveaux champs pour répondre à de nouveaux besoins. Il s'agit d'une technologie fondamentale dans la programmation Java.
Alors comment juger si un héritage est nécessaire ? La relation « est-un » est une caractéristique évidente de l’héritage. Le sens de cette phrase peut être interprété comme : La raison pour laquelle l’Étudiant hérite de la Personne est parce que l’Étudiant est une Personne. S’il n’y avait pas une telle relation, il n’y aurait pas besoin d’héritage. C'est aussi la définition du principe de substitution de Liskov, les sous-types doivent pouvoir remplacer leurs types parents.
Lors de la définition d'une sous-classe en étendant une superclasse, il vous suffit de souligner les différences entre la sous-classe et la superclasse. Par conséquent, lors de la conception d'une classe, les méthodes générales doivent être placées dans la super classe,
et les méthodes à des fins spéciales doivent être placées dans des sous-classes. Cette approche consistant à placer des fonctions générales dans la super classe est très courante dans les objets. programmation orientée.
La liaison dynamique a une fonctionnalité très importante : le programme peut être étendu sans modifier le code existant. Le polymorphisme est donc la base du principe ouvert et fermé.
Ce qui suit est un exemple spécifique d'héritage et d'implémentation polymorphe :
abstract est le mot-clé abstract. (Il vaut mieux hériter d’une classe abstraite que d’une classe concrète).
public abstract class Person { // 抽象类
private String name; // 私有变量
public String getName() { // Getter方法
return name;
} public void setName(String name) { //Setter方法
this.name = name;
}
public Person(String name) { // 构造函数,用于初始化name
super(); this.name = name;
} public abstract String getDesc(); // 抽象类中的抽象方法。 只有声明,没有具体实现。
public String toString(){ // toString方法覆盖了Object类的toString方法
return name + getDesc();
}
}
public class Student extends Person { // 继承类
private String major; // 新增加的数据
public String getMajor() { return major;
} public void setMajor(String major) { this.major = major;
}
public Student(String name,String major) { // 构造函数用于初始化
super(name); // 调用超类构造函数
this.major = major;
}
@Override public String getDesc() { // 必须实现超类中的抽象方法 // TODO Auto-generated method stub
return " : a student, major is " + major;
}
Toute sous-classe qui hérite d'une super classe doit implémenter (quelle que soit la méthode d'implémentation) la définition dans la super classe méthode abstraite. public class Employee extends Person{
private double salary;
public double getSalary() {
return salary;
}public void setSalary(double salary) {
this.salary = salary;
}
public Employee(String name, double salary) {
super(name);
this.salary = salary;
}
@Override
public String getDesc() { // TODO Auto-generated method stub
return " :a employee, salary is " + salary;
}
}
Comprendre l'encapsulation, l'héritage et le polymorphisme (en particulier le polymorphisme) est la base pour comprendre les modèles de conception.
Pour en savoir plus sur les tutoriels Java, vous pouvez visiter :
Tutoriel JavaCe 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





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.

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.

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.

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.

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

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.

Dans PhPoop, self :: fait référence à la classe actuelle, Parent :: fait référence à la classe parent, static :: est utilisé pour la liaison statique tardive. 1. self :: est utilisé pour la méthode statique et les appels constants, mais ne prend pas en charge la liaison statique tardive. 2.Parent :: est utilisé pour que les sous-classes appellent les méthodes de classe parent, et les méthodes privées ne sont pas accessibles. 3.Static :: prend en charge la liaison statique tardive, adaptée à l'héritage et au polymorphisme, mais peut affecter la lisibilité du code.

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
