Hjem Personlig finansiering Java Programmering: Opprette en underklasse - dummier

Java Programmering: Opprette en underklasse - dummier

Video: Learn Java Programming with Beginners Tutorial 2025

Video: Learn Java Programming with Beginners Tutorial 2025
Anonim

Når du skriver et objektorientert program i Java, begynner du å tenke på dataene. Du skriver om kontoer. Så hva er en konto? Du skriver kode for å håndtere knappeklikk. Så hva er en knapp? Du skriver et program for å sende lønnskontroller til ansatte. Hva er en ansatt?

I dette eksemplet er en ansatt noen med et navn og en jobbtittel. Visst, ansatte har andre egenskaper, men for nå holder seg til det grunnleggende. Koden i denne oppføringen definerer hva det betyr å være en ansatt.

importer statisk java. Lang. System. ute; offentlig klasse Ansatt {privat String navn; Private String jobTitle; offentlig stemmegivningsnavn (String NameIn) {name = nameIn;} offentlig String getName () {return navn;} offentlig tomgang setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} offentlig String getJobTitle () {return jobTitle;} offentlig ugyldig kontroll double amountPaid) {out. printf ("Betal til ordren av% s", navn); ute. printf ("(% s) *** $", jobTitle); ute. printf ("%,. 2fn", amountPaid);}}

I noteringen er en Employee-klasse definert. Du kan bruke det du definerer her og utvide definisjonen for å lage nye, mer spesialiserte klasser. Så i denne neste notering definerer du en ny klasse - en FullTimeEmployee-klasse.

offentlig klasse FullTimeEmployee utvider Medarbeider {privat dobbelt ukentligSalar; privat dobbeltfordeler; offentlig ugyldig settWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} offentlig dobbelt getWeeklySalary () {return weeklySalary;} offentlig tomt settBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} offentlig dobbeltbenefitavdrag () {avkastningsavdrag;} offentlig dobbeltfinansieringPremieAmount) {return weeklySalary-benefitDeduction;}}

Når du ser på oppføringen, kan du se at hver forekomst av FullTimeEmployee-klassen har to felt: weeklySalary and benefitDeduction. Men er de de eneste feltene som hver FullTimeEmployee-forekomst har? Nei, det er de ikke.

Den første linjen sier at FullTimeEmployee-klassen utvider den eksisterende Medarbeiderklassen. Dette betyr at i tillegg til å ha en weeklySalary og en benefitDeduction, har hver FullTimeEmployee-forekomst også to andre felt: navn og jobTitle. Disse to feltene kommer fra definisjonen av Medarbeider-klassen, som du finner i den første oppføringen.

I den andre noteringen strekker det magiske ordet . Når en klasse utvider en eksisterende klasse, arver klassen automatisk funksjonalitet som er definert i den eksisterende klassen.Så, FullTimeEmployee-klassen arver navnene og jobTitle-feltene.

FulltimeEmployee-klassen arver også alle metodene som er deklarert i Medarbeider-klassen - setName, getName, setJobTitle, getJobTitle og cutCheck. FullTimeEmployee-klassen er en underklasse av Medarbeider-klassen.

Det betyr at Medarbeider klassen er superklasse av FullTimeEmployee-klassen. Du kan også snakke i form av blodfamilier. FulltimeEmployee-klassen er barn av Medarbeider-klassen, og Medarbeider-klassen er forelder av FullTimeEmployee-klassen.

Det er nesten (men ikke helt) som om FullTimeEmployee-klassen ble definert av koden i denne oppføringen. Denne koden er falsk, men informativ.

importer statisk java. Lang. System. ute; offentlig klasse FullTimeEmployee {private String navn; Private String jobTitle; privat dobbelt ukentligsalg; privat dobbeltfordeler; offentlig tomt settnavn (String NameIn) {name = nameIn;} offentlig String getName () {return navn;} offentlig tomgang setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} offentlig String getJobTitle () {return jobTitle;} offentlig tomgang setWeeklySalary double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} offentlig dobbelt getWeeklySalary () {return weeklySalary;} offentlig tomt settBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} offentlig dobbelt fåBenefitDeduction () {return benefitDeduction;} offentlig double findPaymentAmount () {return weeklySalary - benefitDeduction;} offentlig ugyldig sjekke (dobbeltbeløpPaid) {ut. printf ("Betal til ordren av% s", navn); ute. printf ("(% s) *** $", jobTitle); ute. printf ("%,. 2fn", amountPaid);}}

Hvorfor er denne oppføringen falsk kode? Vel, den største forskjellen mellom denne oppføringen og arvssituasjonen i tidligere oppføringer er dette: En barneklasse kan ikke direkte referere til de private feltene i sin overordnede klasse. For å gjøre noe med foreldreklassens private felt, må barneklassen ringe til foreldreklassens tilgangsmetoder.

Tilbake i den andre oppføringen, ville det være lovlig å kalle setName ("Rufus"), men kodenavnet = "Rufus" ville ikke være. Hvis du tror alt du leser i den siste oppføringen, tror du at koden i FullTimeEmployee-klassen kan gjøre navnet = "Rufus". Vel, det kan det ikke.

Du trenger ikke Medarbeider. java-fil på harddisken din for å skrive kode som utvider ansattes klassen. Alt du trenger er filen Ansatt. klasse.

Java Programmering: Opprette en underklasse - dummier

Redaktørens valg

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Noen ganger trenger du målserier i Excel-oversikten og rapportene dine. I enkelte bedrifter er et mål ikke en verdi - det er en rekke verdier. Det vil si at målet er å holde seg innenfor et definert målområde. Tenk deg at du klarer en liten bedrift som selger esker med kjøtt. En del av jobben din er å ...

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Hvis du skal bruke slicers på en Excel-dashbordet, bør du gjøre litt formatering for å få dine skiver til å passe til temaet og oppsettet på instrumentpanelet. Følgende diskusjon dekker noen formateringsjusteringer du kan gjøre til dine skiver. Størrelse og plassering av skiver En skiver oppfører seg som en standard Excel ...

Enkel statistikk i Excel Data Analyse - dummies

Enkel statistikk i Excel Data Analyse - dummies

Excel gir flere praktiske, brukervennlige verktøy for å analysere informasjon som du lagrer i et bord, inkludert noen raske og skitne statistiske verktøy. Se på følgende enkle bord. En enkel dagligvareliste. Et av de smaleste og raskeste verktøyene som Excel gir, er muligheten til enkelt å beregne summen, gjennomsnittet, antall, minimum og maksimum av ...

Redaktørens valg

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Hvis du klikker Tilpass rapport- QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

QuickBooks kan hjelpe deg skriv en hvit-papir forretningsplan. Folk skriver ofte en forretningsplan for hvitt papir når de vet at de trenger en strategisk plan, men ikke ønsker å ta de harde beslutningene som er nødvendige for en strategisk plan. Personen i denne konfronten skriver en lang hvit-papir forretningsplan for å camouflere den fraværende strategiske planen. ...

Redaktørens valg

Canon 60D elektronisk nivåfunksjon - dummies

Canon 60D elektronisk nivåfunksjon - dummies

Ikke hvert fotografi må være nivå med horisonten. Imidlertid lider mange typer bilder (landskap, bybilder og arkitektonisk fotografi) sterkt når kameraet er vippet. Den gammeldags løsningen for å utjevne kameraet ditt er å bruke et boble- eller åndnivå (funnet i fotobutikker) for å kontrollere kameraets justering med ...

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

På din Canon Rebel T3 eller T3i, kan du se en samling av tilleggsinnstillingsdata via kamerainnstillingsdisplayet. Denne skjermen er bare et informasjonsverktøy, men; Du kan ikke justere noen av de rapporterte innstillingene fra denne skjermen. For å vise skjermbildet Kamerainnstillinger på T3i, vis først innstillingsinnstillingene ...

Canon EOS 70D Kameraoppsett - dummies

Canon EOS 70D Kameraoppsett - dummies

Her er en oversikt over knappene, ringer og andre eksterne kontroller på Canon EOS 70D-kameraet ditt. Objektivet vist i de følgende figurene er Canon EF-S 18-135mm IS (bildestabiliseringsmodell) som selges med kameraet; Andre linser kan variere.