Hem Personliga finanser Java Programmering: Skapa en underklass - dummies

Java Programmering: Skapa en underklass - dummies

Video: Programmering 1 - C# Klasser, en introduktion 2024

Video: Programmering 1 - C# Klasser, en introduktion 2024
Anonim

När du skriver ett objektorienterat program i Java börjar du med att tänka på data. Du skriver om konton. Så vad är ett konto? Du skriver kod för att hantera knapptryckningar. Så vad är en knapp? Du skriver ett program för att skicka lönecheckkontroller till anställda. Vad är en anställd?

I det här exemplet är en anställd någon med namn och jobbtitel. Visst, anställda har andra egenskaper, men för nu håller du dig till grunderna. Koden i den här listan definierar vad det innebär att vara anställd.

importera statisk java. lang. Systemet. ut; offentlig klass Anställd {privat String namn; Private String jobTitle; public void setName (String nameIn) {name = nameIn;} public String getName () {return name;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void cutCheck dubbelbeloppetPaid) {ut. printf ("Betal till ordningen av% s", namn); ut. printf ("(% s) *** $", jobTitle); ut. printf ("%,. 2fn", amountPaid);}}

I noteringen definieras en anställdsklass. Du kan använda det du definierar här och utvidga definitionen till att skapa nya, mer specialiserade klasser. Så i den här nästa noteringen definierar du en ny klass - en FullTimeEmployee-klass.

allmänklass FullTimeEmployee utökar anställd {privat dubbel veckaSalary; privat dubbelförmånsavdrag Offentlig tvistlösningWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn}} public double getWeeklySalary () {return weeklySalary;} Offentlig tomgångssättningBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} Offentlig dubbelförbättradavdrag () {Return BenefitDeduction;}) {return weeklySalary-benefitDeduction;}}

Titta på listan kan du se att varje instans av FullTimeEmployee-klassen har två fält: weeklySalary and benefitDeduction. Men är de de enda fälten som varje FullTimeEmployee-instans har? Nej, det är de inte.

Den första raden säger att FullTimeEmployee-klassen utökar den befintliga Medarbetarklassen. Detta innebär att förutom att ha en veckovisal och en förmånsavdrag har varje FullTimeEmployee-instans också två andra fält: namn och jobTitle. Dessa två fält kommer från definitionen av Medarbetarklassen, som du hittar i den första listan.

I den andra noteringen sträcker sig det magiska ordet . När en klass utökar en befintlig klass, förvärvar den utvidgade klassen automatiskt funktionalitet som definierats i den befintliga klassen.Alltså, FullTimeEmployee-klassen ärverger namnen och jobTitle-fälten.

Klassen FullTimeEmployee ärver även alla metoder som deklareras i Medarbetarklassen - setName, getName, setJobTitle, getJobTitle och cutCheck. FullTimeEmployee-klassen är en underklass i Medarbetarklassen.

Det betyder att Medarbetarklassen är superklassen i FullTimeEmployee-klassen. Du kan också prata när det gäller släktingar. FullTimeEmployee-klassen är barnet i Medarbetarklassen och Medarbetarklassen är föräldern i FullTimeEmployee-klassen.

Det är nästan (men inte riktigt) som om FullTimeEmployee-klassen definierades av koden i den här listan. Denna kod är falsk men informativ.

importera statisk java. lang. Systemet. ut; offentlig klass FullTimeEmployee {privat String namn; Private String jobTitle; privata dubbelvecka varje vecka; privat dubbelförmånsavdrag public void setName (String nameIn) {name = nameIn;} public String getName () {returnamn;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void setWeeklySalary dubbel veckaSalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} offentliga double getBenefitDeduction () {return benefitDeduction;} offentliga double findPaymentAmount () {returnera weeklySalary - benefitDeduction;} public void cutCheck (double amountPaid) {out. printf ("Betal till ordningen av% s", namn); ut. printf ("(% s) *** $", jobTitle); ut. printf ("%,. 2fn", amountPaid);}}

Varför är denna notering falsk kod? Jo, den största skillnaden mellan den här noteringen och arvsituationen i tidigare listor är följande: En barnklass kan inte direkt referera till de privata fälten i sin föräldraklass. För att göra något med föräldrarklassens privata fält måste barnklassen ringa föräldrarklassens accessor metoder.

Tillbaka i den andra noteringen, skulle call setName ("Rufus") vara lagligt, men kodnamnet = "Rufus" skulle inte vara. Om du tror allt du läser i den senaste listan, skulle du tro att den här koden i FullTimeEmployee-klassen kan göra namnet = "Rufus". Jo det kan det inte.

Du behöver inte anställd. java-filen på hårddisken för att skriva kod som utökar medarbetarklassen. Allt du behöver är filen Medarbetare. klass.

Java Programmering: Skapa en underklass - dummies

Redaktörens val

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

I Photoshop Element, Redigera Snabbt läge är en uppskattad version av Redigera fullt läge som ger grundläggande fixverktyg tillsammans med några unika funktioner, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Redigera snabbläge för att reparera dina foton: Välj ett eller flera foton i ...

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Snabb Fotoredigering är en uppskattad version av Full Photo Edit-läge som bekvämt ger grundläggande fixeringsverktyg och kastar i några unika egenskaper, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Quick Photo Edit-läget för att reparera dina foton:

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Fotoeffekter i Photoshop Elements 11 fungerar som applicera filter; medan dialogrutan Filtreringsgalleri ger dig många alternativ för att tillämpa ett filter, ger den guidade panelen dig filtereffekter och tar dig genom steg för att justera ljusstyrka, ändra färgton och mättnad och göra andra justeringar för att perfekta resultatet. Du ...

Redaktörens val

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

När du granskar en bild, bestämmer du om det är en målvakt. Om du tittar på en bild på din Canon EOS 7D Mark II, gillar du inte bilden av någon anledning kan du radera det. Men borttagning av bilder måste ske med stor försiktighet eftersom uppgiften inte kan ångras. När du har raderat en ...

Hur man redigerar filmer på en Canon EOS 60D - dummies

Hur man redigerar filmer på en Canon EOS 60D - dummies

60D Edit-funktionen gör det härligt enkelt för att ta bort oönskade delar från början eller slutet av en film direkt på din kamera. Denna ombordredigering är praktisk men grundläggande, så förvänta dig inte mirakel. Här är de enkla stegen för att trimma början eller slutet på en film: Klicka på ikonen Redigera (det ser ut ...

Redaktörens val

Hur man arbetar med text i ett Word 2010-tabell - dummies

Hur man arbetar med text i ett Word 2010-tabell - dummies

Text hinner i ett bord i Word 2010 på en cell-vid-cell basis. Varje cell i ett Word-bord kan ha ett eget styckeformat och en egen uppsättning flikar. Grupper av celler, rader och kolumner och hela tabellen kan väljas och formateras samtidigt, om du vill. All standardtext ...

Hur man arbetar med Word 2010: s decimala flik - dummies

Hur man arbetar med Word 2010: s decimala flik - dummies

Du kan använda decimalfliken i Word 2010 till rad upp kolumner av siffror. Även om du kan använda en rätt flik för att göra detta jobb är decimalfliken ett bättre val. I stället för högerjusterad text, som den högra fliken gör, justerar decimalfliken siffror efter deras decimaldel - perioden i ...

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

O saker Word 2010 kan göra med dokument! Du kan öppna flera Word-dokument samtidigt och arbeta på mycket av dem, växla mellan de olika öppna dokumenten. Öppnar flera Word-dokument samtidigt Det är inte en fråga om hur Word kan fungera på mer än ett dokument åt gången. Nej, ...