Hjem Personlig finansiering Java Programmering: Opprette en underklasse - dummier

Java Programmering: Opprette en underklasse - dummier

Video: Learn Java Programming with Beginners Tutorial 2024

Video: Learn Java Programming with Beginners Tutorial 2024
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

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...