Huis Persoonlijke financiën Java Programmeren: een subklasse maken - dummies

Java Programmeren: een subklasse maken - dummies

Video: Learn Java Programming with Beginners Tutorial 2025

Video: Learn Java Programming with Beginners Tutorial 2025
Anonim

Wanneer u een objectgericht programma in Java schrijft, begint u met het nadenken over de gegevens. Je schrijft over accounts. Dus wat is een account? U schrijft code om knopklikken af ​​te handelen. Dus wat is een knop? U schrijft een programma om salariscontroles naar werknemers te sturen. Wat is een werknemer?

In dit voorbeeld is een medewerker iemand met een naam en een functienaam. Zeker, werknemers hebben andere kenmerken, maar houden voorlopig vast aan de basis. De code in deze lijst definieert wat het betekent om een ​​werknemer te zijn.

statische java importeren. Lang. Systeem. uit; public class Employee {private String name; 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 (dubbel bedrag betaald) {uit. printf ("Betaal naar de volgorde van% s", naam); uit. printf ("(% s) *** $", jobTitle); uit. printf ("%,.2fn", amountPaid);}}

In de lijst is een categorie werknemers gedefinieerd. U kunt hetgene dat u hier definieert, gebruiken en de definitie uitbreiden om nieuwe, meer gespecialiseerde klassen te maken. Dus in deze volgende lijst definieert u een nieuwe klasse - een klasse FullTimeEmployee.

openbare klasse FullTimeEmployee verlengt werknemer {private double weeklySalary; privé dubbele voordeelaftrek; public void setWeeklySalary (double weeklySalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount () {return weeklySalary - benefitDeduction;}}

Als u naar de vermelding kijkt, ziet u dat elk exemplaar van de klasse FullTimeEmployee uit twee velden bestaat: weekSalary en benefitDeduction. Maar zijn dit de enige velden die elk exemplaar van FullTimeEmployee heeft? Nee dat zijn ze niet.

De eerste regel zegt dat de klasse FullTimeEmployee de bestaande klasse Employee uitbreidt. Dit betekent dat naast een WeeklySalary en een BenefitDeduction, elke FullTimeEmployee-instantie ook twee andere velden heeft: naam en jobTitle. Deze twee velden komen uit de definitie van de klasse Werknemers, die u kunt vinden in de eerste lijst.

In de tweede lijst is het toverwoord . Wanneer een klasse een bestaande klasse uitbreidt, neemt de uitbreidingsklasse automatisch de functionaliteit over die is gedefinieerd in de bestaande klasse.Dus de klasse FullTimeEmployee erft de velden naam en jobTitle.

De klasse FullTimeEmployee neemt ook alle methoden over die in de klasse Werknemers zijn gedeclareerd: setName, getName, setJobTitle, getJobTitle en cutCheck. De klasse FullTimeEmployee is een subklasse van de klasse Employee.

Dat betekent dat de klasse Employee de superklasse van de klasse FullTimeEmployee is. Je kunt ook praten in termen van bloedverwanten. De klasse FullTimeEmployee is het kind van de klasse Employee en de klasse Employee is het bovenliggende van de klasse FullTimeEmployee.

Het is bijna (maar niet helemaal) alsof de klasse FullTimeEmployee is gedefinieerd door de code in deze lijst. Deze code is nep, maar informatief.

statische java importeren. Lang. Systeem. uit; public class FullTimeEmployee {private String name; private String jobTitle; privé dubbel wekelijksSalaris; privé dubbele voordeelaftrek; 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 setWeeklySalary (dubbele weekSalaryIn) {weeklySalary = weeklySalaryIn;} openbare dubbele getWeeklySalary () {return weeklySalary;} openbare ongeldige setBenefitDeduction (dubbele benefitDedIn) {benefitDeduction = benefitDedIn;} openbare dubbele getBenefitDeduction () {return benefitDeduction;} openbare dubbele findPaymentAmount () {return weeklySalary - benefitDeduction;} public void cutCheck (double amountPaid) {out. printf ("Betaal naar de volgorde van% s", naam); uit. printf ("(% s) *** $", jobTitle); uit. printf ("%,.2fn", amountPaid);}}

Waarom bevat deze lijst valse code? Nou, het belangrijkste verschil tussen deze vermelding en de overerving in de vorige lijsten is deze: Een onderliggende klasse kan niet rechtstreeks verwijzen naar de privévelden van de bovenliggende klasse. Om iets te doen met de privévelden van de bovenliggende klasse, moet de onderliggende klasse de accessormethoden van de bovenliggende klasse aanroepen.

Terug in de tweede lijst, zou het aanroepen van setName ("Rufus") legaal zijn, maar de codenaam = "Rufus" zou dat niet zijn. Als je gelooft dat alles wat je in de laatste lijst leest, zou je denken dat die code in de klasse FullTimeEmployee naam = "Rufus" kan doen. Nou, dat kan het niet.

U hebt de medewerker niet nodig. java-bestand op uw harde schijf om code te schrijven die de klasse Employee uitbreidt. Het enige dat u nodig hebt, is het bestand Medewerker. klasse.

Java Programmeren: een subklasse maken - dummies

Bewerkers keuze

Te gebruiken hoe de tekstopties op de optiesbalk in Photoshop CS6 te gebruiken - dummies

Te gebruiken hoe de tekstopties op de optiesbalk in Photoshop CS6 te gebruiken - dummies

In Photoshop CS6 bevat de optiebalk een gevarieerde groep opties, sommige (maar niet alle) van deze opties worden gedupliceerd in het deelvenster Teken of onder het menu Type. Die opties die op beide plaatsen verschijnen, zijn de meest gebruikte opties. Over gemak gesproken. Uw opties, van links naar rechts, bevatten Tekst wijzigen ...

Hoe TIFF te gebruiken in Photoshop CS6 - dummies

Hoe TIFF te gebruiken in Photoshop CS6 - dummies

TIFF, Tagged Image File Format, is verreweg een van de beste en handigste indelingen in Photoshop CS6. Een van de grote kwaliteiten van TIFF's is dat ze volledig platformonafhankelijk zijn. Bovendien kan bijna elk programma op de planeet TIFFs importeren. Deze bestandsindeling werkt vooral goed voor afgedrukte of van kleur gescheiden afbeeldingen. Photoshop maakt het mogelijk

Gebruikt om het menu Selecteer in Photoshop CS6 te gebruiken - dummies

Gebruikt om het menu Selecteer in Photoshop CS6 te gebruiken - dummies

Hoewel u optellen, aftrekken en snij selecties in Photoshop CS6 door de toetsen Shift en Alt (Option op de Mac) en de selectieknoppen op de balk Opties te gebruiken, u kunt veel meer doen met de opdrachten in het menu Selecteren. In dit menu kunt u manieren vinden om uit te vouwen, samen te trekken, af te vegen en ...

Bewerkers keuze

Hoe Sent-uitnodigingen op LinkedIn te volgen - dummies

Hoe Sent-uitnodigingen op LinkedIn te volgen - dummies

Het laatste dat je wilt doen is herhaal LinkedIn sturen uitnodigingen voor dezelfde persoon omdat u uw verzonden uitnodigingen niet hebt gecontroleerd. U kunt ook uw verzonden uitnodigingen bekijken om te zien of iemand heeft gereageerd; Zo niet, dan kunt u die persoon een follow-up e-mail sturen via LinkedIn of via uw eigen ...

Hoe u uw LinkedIn-profiel kunt instellen voor openbare weergave - dummies

Hoe u uw LinkedIn-profiel kunt instellen voor openbare weergave - dummies

Nadat u uw LinkedIn-profiel volledig hebt bijgewerkt , je volgende doel is waarschijnlijk om het te delen met de hele wereld, niet alleen met je LinkedIn-netwerk. De beste manier om dit te bereiken, is door je profiel in te stellen zodat je volledige profiel beschikbaar is voor openbare weergave. Door je profiel in te stellen op volledig openbare weergave, krijg je ...

Bewerkers keuze

Hoe maak je een Navigatieformulier in Access 2016 - dummies

Hoe maak je een Navigatieformulier in Access 2016 - dummies

Toegang 2016 biedt verschillende lay-outs voor Navigatieformulieren ; welke je kiest, hangt af van wat je gedaan hebt. Een navigatieformulier helpt eindgebruikers bij het openen van formulieren en het uitvoeren van rapporten in een database zonder veel Access-kennis nodig te hebben. Zo bouwt u een navigatieformulier: Open het databasebestand met de navigatie ...

Databasetabellen bouwen in ontwerpweergave in Access 2016 - dummies

Databasetabellen bouwen in ontwerpweergave in Access 2016 - dummies

Klaar om aan de slag te gaan databasetabellen bouwen in Access 2016? Nou, als je eenmaal georganiseerd bent, kun je je tafels bouwen. Volg deze eenvoudige stappen om in te duiken en uw tafel te bouwen: Klik op het tabblad Maken op het lint. Klik op de knop Tabelontwerp in de groep Tables. Een nieuwe tabel verschijnt in ...

Records zoeken in uw Access 2003-tabellen - dummies

Records zoeken in uw Access 2003-tabellen - dummies

Wanneer u een bepaald record wilt opsporen, een vraag is overdreven. Gelukkig heeft Access 2003 een snelle manier om één specifiek stuk gegevens te vinden in de tabellen en formulieren van uw project: de opdracht Zoeken. Zoeken is zowel op de werkbalk als in het hoofdmenu beschikbaar. (Kies Bewerken -> Zoeken Toetsenbordgeoriënteerde mensen ...