Vidéo: UML Class Diagram Tutorial 2024
La plupart des programmes informatiques fonctionnent entièrement dans le domaine virtuel. Ils n'ont pas de briques, de clous ou de poutres. Donc, vous pouvez taper un programme informatique assez compliqué en quelques minutes. Même sans muscle et sans équipement lourd, vous pouvez créer une structure dont la complexité rivalise avec celle de nombreuses structures physiques compliquées. Vous, le développeur, avez le pouvoir de construire des ponts virtuels complexes.
L'un des objectifs de la programmation informatique est de gérer la complexité. Une bonne application n'est pas simplement utile ou visuellement attrayante - le code d'une bonne application est bien organisé, facile à comprendre et facile à modifier.
Certains langages de programmation, comme C ++, supportent l'héritage multiple, dans lequel une classe peut avoir plus d'une classe parent. Par exemple, en C ++, vous pouvez créer une classe Book, une classe TeachingMaterial et une classe Textbook. Vous pouvez faire en sorte que Textbook étende à la fois Book et TeachingMaterial.
Cette fonctionnalité rend les hiérarchies de classe assez flexibles, mais rend également ces mêmes hiérarchies extrêmement compliquées. Vous avez besoin de règles complexes pour décider comment hériter des méthodes de déplacement de la classe Souris de l'ordinateur et de la classe Souris du rongeur.
Pour éviter toute cette complexité, Java ne supporte pas l'héritage multiple. En Java, chaque classe a une (et une seule) superclasse. Une classe peut avoir n'importe quel nombre de sous-classes. Vous pouvez (et allez) créer de nombreuses sous-classes de la classe d'activité d'Android.
Et d'autres développeurs créent leurs propres sous-classes de la classe Activity d'Android. Mais les classes n'ont pas plusieurs personnalités. Une classe Java peut avoir un seul parent. La classe Executive mentionnée dans cette liste ne peut pas étendre à la fois la classe FullTimeEmployee et la classe PartTimeEmployee.
paquet org. allyourcode. compagnie; exécutif de classe publique étend FullTimeEmployee {double bonus; public Executive () {} public Executive (Nom de chaîne, Chaîne de titre d'emploi, double salaire, double bonus) {this. nom = nom; ce. jobTitle = jobTitle; ce. salaire = salaire; ce. bonus = bonus;} @Ouverture du double salaire public () {salaire de retour + bonus;}}