Zuhause Persönliche Finanzen Java Programmierung: Erstellen einer Unterklasse - Dummies

Java Programmierung: Erstellen einer Unterklasse - Dummies

Video: Konstruktor - Objektorientierte Programmierung in Java 3 ● Gehe auf SIMPLECLUB.DE/GO 2025

Video: Konstruktor - Objektorientierte Programmierung in Java 3 ● Gehe auf SIMPLECLUB.DE/GO 2025
Anonim

Wenn Sie ein objektorientiertes Programm in Java schreiben, denken Sie zunächst über die Daten nach. Du schreibst über Konten. Also, was ist ein Konto? Sie schreiben Code zum Bearbeiten von Schaltflächenklicks. Was ist ein Knopf? Sie schreiben ein Programm, um Gehaltsschecks an Mitarbeiter zu senden. Was ist ein Angestellter?

In diesem Beispiel ist ein Mitarbeiter jemand mit einem Namen und einer Berufsbezeichnung. Sicher, Mitarbeiter haben andere Eigenschaften, aber im Moment halten Sie sich an die Grundlagen. Der Code in dieser Liste definiert, was es bedeutet, ein Angestellter zu sein.

importiert statisches Java. lang. System. aus; öffentliche Klasse Employee {privater Stringname; private String JobTitel; public void setName (String nameIn) {name = nameIn;} public String getName () {Rückgabenname;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void cutCheck (doppelter BetragPaid) {out. printf ("Bezahlen Sie in der Reihenfolge von% s", Name); aus. printf ("(% s) *** $", Jobtitel); aus. printf ("%,. 2fn", amountPaid);}}

In der Auflistung ist eine Employee-Klasse definiert. Sie können das, was Sie hier definieren, verwenden und die Definition erweitern, um neue, spezialisiertere Klassen zu erstellen. In dieser nächsten Auflistung definieren Sie eine neue Klasse - eine FullTimeEmployee-Klasse.

public class FullTimeEmployee erweitert Employee {private double weeklySalary; privater doppelter Vorteil Abzug; public void setWeeklySalary (doppelte wöchentlicheSalaryIn) {weeklySalary = weeklySalaryIn;} öffentliche doppelte getWeeklySalary () {return weeklySalary;} öffentliche void setBenefitDeduction (doppelte benefitDedIn) {benefitDeduction = benefitDedIn;} öffentliche doppelte getBenefitDeduction () {return benefitDeduction;} öffentliche doppelte findPaymentAmount () {return weeklySalary - benefitDeduction;}}

Wenn Sie sich die Auflistung ansehen, können Sie sehen, dass jede Instanz der FullTimeEmployee-Klasse zwei Felder hat: weeklySalary und benefitDeduction. Aber sind das die einzigen Felder, die jede FullTimeEmployee-Instanz hat? Nein, sind sie nicht.

Die erste Zeile besagt, dass die FullTimeEmployee-Klasse die vorhandene Employee-Klasse erweitert. Das bedeutet, dass jede FullTimeEmployee-Instanz neben einem weeklySalary und einer benefitDeduction auch zwei weitere Felder hat: name und jobTitle. Diese beiden Felder stammen aus der Definition der Employee-Klasse, die Sie in der ersten Auflistung finden.

In der zweiten Auflistung wird das Zauberwort erweitert. Wenn eine Klasse eine vorhandene Klasse erweitert, erbt die Erweiterungsklasse automatisch Funktionalität, die in der vorhandenen Klasse definiert ist.So erbt die FullTimeEmployee-Klasse die Felder name und jobTitle .

Die FullTimeEmployee-Klasse erbt auch alle Methoden, die in der Employee-Klasse deklariert sind - setName, getName, setJobTitle, getJobTitle und cutCheck. Die FullTimeEmployee-Klasse ist eine Unterklasse der Employee-Klasse.

Das bedeutet, dass die Employee-Klasse die Superklasse der FullTimeEmployee-Klasse ist. Sie können auch in Bezug auf Blutsverwandte sprechen. Die FullTimeEmployee-Klasse ist das Kind der Employee-Klasse und die Employee-Klasse ist das -Patent der FullTimeEmployee-Klasse.

Es ist fast (aber nicht ganz) so, als wäre die FullTimeEmployee-Klasse durch den Code in dieser Auflistung definiert worden. Dieser Code ist falsch, aber informativ.

importiert statisches Java. lang. System. aus; Öffentliche Klasse FullTimeEmployee {Privater Stringname; private String JobTitel; private DoppelwocheSalary; privater doppelter Vorteil Abzug; public void setName (String nameIn) {name = nameIn;} public String getName () {Rückgabewert;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void setWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {zurück weekSalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} public double getBenefitDeduction () {return benefitDeduction; public doppelt findPaymentAmount () {return weeklySalarySalary - benefitDeduction;} public void cutCheck (doppelter BetragPaid) {out. printf ("Bezahlen Sie in der Reihenfolge von% s", Name); aus. printf ("(% s) *** $", Jobtitel); aus. printf ("%,. 2fn", amountPaid);}}

Warum ist dieser Code gefälscht? Nun, der Hauptunterschied zwischen dieser Auflistung und der Vererbungssituation in den vorherigen Auflistungen ist dies: Eine untergeordnete Klasse kann nicht direkt auf die privaten Felder ihrer Elternklasse verweisen. Um etwas mit den privaten Feldern der übergeordneten Klasse zu tun, muss die untergeordnete Klasse die Accessor-Methoden der übergeordneten Klasse aufrufen.

Zurück in der zweiten Auflistung wäre der Aufruf von setName ("Rufus") legal, aber der Codename = "Rufus" wäre nicht zulässig. Wenn Sie glauben, alles, was Sie in der letzten Auflistung gelesen haben, könnten Sie denken, dass Code in der FullTimeEmployee-Klasse name = "Rufus" kann. Nun, kann es nicht.

Sie benötigen den Mitarbeiter nicht. Java-Datei auf Ihrer Festplatte, um Code zu schreiben, der die Employee-Klasse erweitert. Alles, was Sie brauchen, ist die Datei Mitarbeiter. Klasse.

Java Programmierung: Erstellen einer Unterklasse - Dummies

Die Wahl des Herausgebers

Wie man Dateien in C ++ kopiert - Dummies

Wie man Dateien in C ++ kopiert - Dummies

Ah, eine Datei kopieren - etwas so einfaches, es passiert alles Zeit. Kopiere diese Datei dorthin; Kopieren Sie diese Datei hier. Aber was genau passiert, wenn Sie eine Datei kopieren? Sie erstellen tatsächlich eine neue Datei und füllen diese mit dem gleichen Inhalt wie die Originaldatei. Und wie machst du das? Nun, ...

Anleitung zum Erstellen eines Verzeichnisses in C ++ - Dummies

Anleitung zum Erstellen eines Verzeichnisses in C ++ - Dummies

Wenn Sie ein Verzeichnis erstellen möchten, können Sie das MKdir Funktion. Wenn die Funktion das Verzeichnis für Sie erstellen kann, gibt sie eine 0 zurück. Andernfalls wird ein Wert ungleich Null zurückgegeben. (Wenn Sie es ausführen, erhalten Sie eine -1, aber Ihre beste Wette - immer - ist es, gegen 0 zu testen.) Hier ist einige ...

Wie man eine einfache mathematische Vorlage in C ++ - Dummies

Wie man eine einfache mathematische Vorlage in C ++ - Dummies

Mit einer mathematischen Vorlage erstellt, die man normalerweise benötigt Zugriff auf eine Vielzahl von Berechnungen, aber nur jeweils eine oder zwei dieser Berechnungen. Zum Beispiel, wenn jemand Ihre Hypothek berechnet, muss er die Amortisationsrechnung nicht kennen. Die Person kann jedoch die Amortisationsberechnung benötigen, wenn Sie mit ...

Die Wahl des Herausgebers

ASVAB: Lesen für die Studie - Dummies

ASVAB: Lesen für die Studie - Dummies

Lesen für die Zwecke des Studiums der ASVAB ist eine andere Art des Lesens. Leseverständnis erfordert nur, dass Sie Informationen lange genug im Kurzzeitgedächtnis speichern, um einige Sekunden später eine Frage zu beantworten. Zum Lesen für die Zwecke des Studiums müssen Sie wichtige Informationen in Ihr Langzeitgedächtnis einpflegen - ...

ASVAB Mathematik Wissenspraxis: Ungleichungen - Dummies

ASVAB Mathematik Wissenspraxis: Ungleichungen - Dummies

Als wäre Algebra nicht anspruchsvoll genug, einige Fragen zur Der Subtest Mathematik auf dem ASVAB wird auch eine Ungleichheit einwerfen - nur um sicherzustellen, dass Sie aufmerksam sind. Wie erkennst du eine Ungleichheit? Halten Sie Ausschau nach Fragen mit mehr als oder weniger als Symbolen oder nach Graphen, die eine Zahlenlinie mit einem ...

ASVAB Mathematische Wissenspraxis: Fraktionen - Dummies

ASVAB Mathematische Wissenspraxis: Fraktionen - Dummies

Der Subtest Mathematikwissen auf dem ASVAB wird Fragen beinhalten, die Sie fragen mit Teilen eines Ganzen oder Fraktionen arbeiten. Diese Fragen können das Multiplizieren, Dividieren, Addieren, Subtrahieren und Konvertieren von Brüchen beinhalten, ähnlich den folgenden Übungsfragen. Übungsfragen Welche Fraktionen sind nicht gleichwertig? Gegeben einfach den Ausdruck. Antworten und Erklärungen Das richtige ...

Die Wahl des Herausgebers

Hinzufügen von Flash-Audio- und Videodateien in Dreamweaver - Dummies

Hinzufügen von Flash-Audio- und Videodateien in Dreamweaver - Dummies

Adobe besitzt sowohl Flash als auch Dreamweaver Daher finden Sie großartige Unterstützung für Flash-Dateien in Dreamweaver. Das Dialogfeld "FLV einfügen" erleichtert das Festlegen von Parametern für Flash. Dreamweaver erkennt sogar automatisch die Größe von Flash-Videodateien. Sie können Flash auch zum Erstellen und Einfügen von Audiodateien verwenden, wobei nur der Player angezeigt wird.

Einstellen von Bildhelligkeit und -kontrast in Dreamweaver - Dummies

Einstellen von Bildhelligkeit und -kontrast in Dreamweaver - Dummies

Dreamweaver bietet Werkzeuge zum Erstellen von Bildern Einstellungen, einschließlich der Helligkeit und des Kontrastes. Durch die Anpassung der Bildhelligkeit können Sie die Gesamtlichtmenge in einem Bild ändern. Kontrast steuert den Unterschied zwischen hellen und dunklen Bereichen eines Bildes. Wenn Sie die Dreamweaver-Bearbeitungswerkzeuge verwenden, wird das Bild dauerhaft geändert, wenn die Seite ...

Hinzufügen von Bildern zu Ihrer Website in Dreamweaver - Dummies

Hinzufügen von Bildern zu Ihrer Website in Dreamweaver - Dummies

Wenn Sie Ihrer Website ein Bild hinzufügen, erscheint anfangs fast magisch, weil der Prozess mit Dreamweaver so einfach ist. Die Herausforderung bei Webgrafiken besteht darin, sie nicht zu Ihren Seiten hinzuzufügen, sondern gut aussehende Bilder zu erstellen, die schnell im Browser Ihres Viewers geladen werden. Sie benötigen ein anderes Programm wie Photoshop, Photoshop Elements oder Fireworks, um ...