Accueil Finances personnelles Programmation java: Création d'une sous-classe - dummies

Programmation java: Création d'une sous-classe - dummies

Vidéo: Exercice Java Débutant : Classe Voiture 2025

Vidéo: Exercice Java Débutant : Classe Voiture 2025
Anonim

Lorsque vous écrivez un programme orienté objet en Java, vous commencez par penser aux données. Vous écrivez à propos des comptes. Alors qu'est-ce qu'un compte? Vous écrivez du code pour gérer les clics sur les boutons. Alors, qu'est-ce qu'un bouton? Vous écrivez un programme pour envoyer des chèques de paie aux employés. Qu'est-ce qu'un employé?

Dans cet exemple, un employé est une personne avec un nom et un titre d'emploi. Bien sûr, les employés ont d'autres caractéristiques, mais pour l'instant s'en tenir aux bases. Le code dans cette liste définit ce que signifie être un employé.

importer static java. lang. Système. en dehors; Classe publique Employee {private String name; private String jobTitle; public void setName (Chaîne nameIn) {public name} getName () {nom de retour;} public void setJobTitle (chaîne jobTitleIn) {jobTitle = jobTitleIn;} chaîne publique getJobTitle () {return jobTitle;} public void cutCheck (double montantPaid) {out. printf ("Payer à l'ordre de% s", nom); en dehors. printf ("(% s) *** $", jobTitre); en dehors. printf ("%,. 2fn", amountPaid);}}

Dans la liste, une classe Employee est définie. Vous pouvez utiliser ce que vous définissez ici et étendre la définition pour créer de nouvelles classes plus spécialisées. Donc, dans cette liste suivante, vous définissez une nouvelle classe - une classe FullTimeEmployee.

public class FullTimeEmployee extends Employé {private double weeklySalary; double bénéficeDeduction privé; public void setWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double bénéficeDedIn) {bénéficeDéduction = bénéficeDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount (public) {return weeklySalary - benefitDeduction;}}

En regardant la liste, vous pouvez voir que chaque instance de la classe FullTimeEmployee a deux champs: weeklySalary et benefitDeduction. Mais sont-ils les seuls champs que chaque instance de FullTimeEmployee a? Non, ils ne sont pas.

La première ligne indique que la classe FullTimeEmployee étend la classe Employee existante. Cela signifie qu'en plus d'avoir un weeklySalary et un benefitDeduction, chaque instance FullTimeEmployee a aussi deux autres champs: name et jobTitle. Ces deux champs proviennent de la définition de la classe Employé, que vous pouvez trouver dans la première liste.

Dans la deuxième liste, le mot magique s'étend . Lorsqu'une classe étend une classe existante, la classe d'extension hérite automatiquement de la fonctionnalité définie dans la classe existante.Ainsi, la classe FullTimeEmployee hérite de les champs name et jobTitle.

La classe FullTimeEmployee hérite également de toutes les méthodes déclarées dans la classe Employee: setName, getName, setJobTitle, getJobTitle et cutCheck. La classe FullTimeEmployee est une sous-classe de la classe Employee. Cela signifie que la classe Employee est la

superclasse de la classe FullTimeEmployee. Vous pouvez également parler en termes de parents par le sang. La classe FullTimeEmployee est l'enfant enfant de la classe Employee et la classe Employee est le parent de la classe FullTimeEmployee. C'est presque (mais pas tout à fait) comme si la classe FullTimeEmployee était définie par le code dans cette liste. Ce code est faux, mais informatif.

importer du java statique. lang. Système. en dehors; classe publique FullTimeEmployee {private String name; private String jobTitle; double hebdomadaire privéSalaire; double bénéficeDeduction privé; public void setName (Chaîne nameIn) {public name} getName () {return name;} public void setJobTitle (chaîne jobTitleIn) {jobTitle = jobTitleIn;} chaîne publique getJobTitle () {return jobTitle;} public void setWeeklySalary (double weeklySalaryIn) {weeklySalary = hebdomadaireSalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double bénéficeDedIn) {bénéficeDéduction = avantageDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount () {return weeklySalary - benefitDeduction;} public void cutCheck (double amountPaid) {out. printf ("Payer à l'ordre de% s", nom); en dehors. printf ("(% s) *** $", jobTitre); en dehors. printf ("%,. 2fn", amountPaid);}}

Pourquoi cette liste est-elle fausse? Eh bien, la principale différence entre cette liste et la situation d'héritage dans les listes précédentes est la suivante: Une classe enfant ne peut pas référencer directement les champs privés de sa classe parente. Pour faire quoi que ce soit avec les champs privés de la classe parente, la classe enfant doit appeler les méthodes d'accès de la classe parente.

Dans la deuxième liste, appeler setName ("Rufus") serait légal, mais le nom de code = "Rufus" ne le serait pas. Si vous croyez tout ce que vous lisez dans la dernière liste, vous pourriez penser que le code de la classe FullTimeEmployee peut faire name = "Rufus". Eh bien, ça ne peut pas.

Vous n'avez pas besoin de l'employé. fichier java sur votre disque dur pour écrire du code qui étend la classe Employee. Tout ce dont vous avez besoin est le fichier Employee. classe.

Programmation java: Création d'une sous-classe - dummies

Le choix des éditeurs

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Windows, avec un W majuscule, tire son nom de sa caractéristique principale: Windows, avec un w minuscule. Se familiariser avec Windows signifie apprendre à ouvrir, fermer, redimensionner, déplacer et basculer entre les fenêtres, ce qui est la clé pour jongler avec succès avec plusieurs activités. Chaque programme que vous exécutez occupe sa propre fenêtre. Une fenêtre peut occuper une partie de ...

Comment accepter ou rejeter les cookies dans Safari - dummies

Comment accepter ou rejeter les cookies dans Safari - dummies

Un cookie est un petit fichier qu'un site Web enregistre automatiquement sur le disque dur de votre Mac. Il contient des informations, telles que vos préférences ou votre date de naissance, que le site utilisera lors de vos prochaines visites. Dans Mac OS X Snow Leopard, Safari vous permet de choisir d'accepter ou non tous les cookies ...

Le choix des éditeurs

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Pour créer une boîte ou une ligne dans QuarkXPress plus complexe qu'un simple rectangle, ovale ou starburst, vous entrez dans le domaine du chemin de Bézier. Si vous avez utilisé l'outil Plume dans Adobe Illustrator ou Photoshop, vous comprenez déjà les chemins de Bézier. Il faut un peu de pratique et un esprit détendu ...

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Le choix des éditeurs

Les connexions cachées sur le Nikon D5600 - les nuls

Les connexions cachées sur le Nikon D5600 - les nuls

Ouvrent les couvercles sur les côtés gauche et droit du Nikon D5600 caméra, et vous verrez plusieurs ports de connexions cachées. Les ports de connexion suivants sont indiqués sur cette image: Terminal d'accessoires: ce terminal accepte les accessoires suivants: câble déclencheur à distance Nikon MC-DC2; Télécommandes sans fil WR-1 et WR-R10; et les unités GPS GP-1 / GP-1A. I ...

Les connexions cachées sur votre Nikon D5200 - les nuls

Les connexions cachées sur votre Nikon D5200 - les nuls

ÉParpillés sur l'extérieur de votre appareil photo sont nombreuses commandes que vous utilisez pour changer d'image -prend des paramètres, revoir et modifier vos photos, et effectuer diverses autres opérations. Caché sous le couvercle sur le côté gauche de la caméra, vous trouverez les quatre ports de connexion suivants, étiquetés dans cette figure: Borne accessoire: Vous pouvez brancher le Nikon en option ...

Des boutons et autres commandes du Nikon D7500 - mannequins

Des boutons et autres commandes du Nikon D7500 - mannequins

C'est génial d'avoir une carte pour le boutons et commandes sur votre appareil photo, mais ce n'est pas beaucoup d'aide si vous ne pouvez pas vous rappeler quel bouton appuyer sur quand (et pourquoi). Alors, voici un aperçu des fonctions des contrôles les plus importants. (Certains contrôles ont des fonctions supplémentaires pendant certaines opérations, mais la table ...