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 2024

Vidéo: Exercice Java Débutant : Classe Voiture 2024
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

Résolution des conflits de ressources humaines avec Microsoft Office Project 2007 - dummies

Résolution des conflits de ressources humaines avec Microsoft Office Project 2007 - dummies

Lorsqu'un membre de l'équipe de projet est suropposée dans votre projet Microsoft Office Project 2007, vous pouvez prendre des mesures pour corriger le problème en utilisant les suggestions suivantes. Gardez à l'esprit que les circonstances de votre projet déterminent si une solution particulière est réalisable. Par exemple, vous pouvez ajouter des ressources uniquement si votre budget le permet ...

Comment enregistrer plusieurs lignes de base dans Project 2013 - mannequins

Comment enregistrer plusieurs lignes de base dans Project 2013 - mannequins

Le concept de lignes de base multiples semble presque contraire définition d'une ligne de base. Après tout, le but d'une base de référence est de mettre l'enjeu proverbial dans le sable et de mesurer les progrès contre elle. Vous pouvez conserver plusieurs lignes de base dans Project 2013 à plusieurs fins. Considérez ces raisons: Vous avez un plan de base pour ...

Comment enregistrer une référence dans Project 2013 - mannequins

Comment enregistrer une référence dans Project 2013 - mannequins

Vous pouvez enregistrer une référence à tout moment en ouvrant la boîte de dialogue Définir la ligne de base dans Project 2013. Un paramètre - qui contrôle la manière dont le projet regroupe les données dans les tâches récapitulatives lorsque vous définissez une ligne de base pour une partie des tâches - nécessite une explication. Après avoir enregistré une base de données la première fois dans Project 2013, ...

Le choix des éditeurs

Comment classer les modèles d'analyse prédictive - mannequins

Comment classer les modèles d'analyse prédictive - mannequins

Vous avez plusieurs façons de classer les modèles utilisés pour l'analyse prédictive. En général, vous pouvez les trier en fonction des problèmes métier qu'ils résolvent et des principales fonctions métier qu'ils servent (ventes, publicité, ressources humaines ou gestion des risques, par exemple). L'implémentation mathématique utilisée dans le modèle (comme les statistiques, l'exploration de données et la machine ...

Comment appliquer n'importe quelle grappe de colonies dans l'analyse prédictive - les nuls

Comment appliquer n'importe quelle grappe de colonies dans l'analyse prédictive - les nuls

Un exemple naturel de groupe auto-organisateur vous pouvez appliquer dans le comportement d'analyse prédictive est une colonie de fourmis à la recherche de nourriture. Les fourmis optimisent collectivement leur trajectoire de manière à prendre toujours le chemin le plus court possible vers une cible alimentaire. Même si vous essayez de déranger une colonie de fourmis et de les empêcher de ...

Comment choisir un algorithme pour un modèle d'analyse prédictive - mannequins

Comment choisir un algorithme pour un modèle d'analyse prédictive - mannequins

Diverses statistiques, data-mining et des algorithmes d'apprentissage automatique sont disponibles pour votre modèle d'analyse prédictive. Vous êtes dans une meilleure position pour sélectionner un algorithme après avoir défini les objectifs de votre modèle et sélectionné les données sur lesquelles vous allez travailler. Certains de ces algorithmes ont été développés pour résoudre des problèmes métier spécifiques, améliorer des algorithmes existants ou fournir ...

Le choix des éditeurs

Excel Tableaux de bord et rapports: La fonction VLOOKUP - les nuls

Excel Tableaux de bord et rapports: La fonction VLOOKUP - les nuls

Ne vous feront rien tout bien si vous ne pouvez pas gérer efficacement vos modèles de données. La fonction VLOOKUP est le roi de toutes les fonctions de recherche dans Excel. Le but de VLOOKUP est de trouver une valeur spécifique à partir d'une colonne de données où la valeur de ligne la plus à gauche correspond à un critère donné. Prenez ...

Excel Outils d'analyse de données - dummies

Excel Outils d'analyse de données - dummies

L'outil d'analyse d'excel est un complément utile qui fournit un ensemble complet d'outils d'analyse statistique . Voici quelques outils dans le ToolPak. Outil Analyse Anova: Facteur unique Analyse de variance pour deux échantillons ou plus Anova: Facteur double avec réplication Analyse de la variance avec deux variables indépendantes et observations multiples ...

Excelent Touches de raccourci d'entrée de données - mannequins

Excelent Touches de raccourci d'entrée de données - mannequins

Lorsque vous travaillez dans Excel et saisissez des données dans une cellule, il est essentiel pour compléter l'entrée soit en cliquant sur une autre cellule avec le pointeur de la souris ou en utilisant l'une des touches de raccourci pratiques montrées ici pour déplacer le curseur de la cellule: Appuyez sur les touches To Arrow (& uarr;, & darr; move ...