Huis Persoonlijke financiën Begrip van Java's objectgeoriënteerde programmering (OOP) - dummies

Begrip van Java's objectgeoriënteerde programmering (OOP) - dummies

Inhoudsopgave:

Video: Object Georiënteerd programmeren - Polymorphisme 2024

Video: Object Georiënteerd programmeren - Polymorphisme 2024
Anonim

Java is objectgeoriënteerd. Wat betekent dat? In tegenstelling tot talen, zoals FORTRAN, die zich richten op het geven van de computer dwingende "doe dit / doe dat" -opdrachten, richten objectgeoriënteerde talen zich op gegevens. Uiteraard vertellen objectgeoriënteerde programma's nog steeds aan de computer wat te doen. Ze beginnen echter met het organiseren van de gegevens en de opdrachten komen later.

Objectgeoriënteerde talen zijn beter dan "doe dit / doe dat" talen omdat ze gegevens zodanig organiseren dat mensen er allerlei dingen mee kunnen doen. Om de gegevens aan te passen, kunt u bouwen op wat u al hebt, in plaats van alles wat u hebt gedaan te schrappen en opnieuw beginnen elke keer dat u iets nieuws moet doen. Hoewel computerprogrammeurs over het algemeen slimme mensen zijn, hebben ze een tijdje geduurd om dit uit te zoeken.

Objecten en hun klassen

In een objectgeoriënteerde taal gebruikt u de klassen en om uw gegevens te ordenen.

Stel je voor dat je een computerprogramma schrijft om de huizen bij te houden in een nieuwe condominiumontwikkeling (nog in aanbouw). De huizen verschillen slechts weinig van elkaar. Elk huis heeft een opvallende gevelbeplating, een verfkleur binnenshuis, een keukenkaststijl, enzovoort. In uw objectgeoriënteerde computerprogramma is elk huis een object.

Maar objecten zijn niet het hele verhaal. Hoewel de huizen enigszins van elkaar verschillen, delen alle huizen dezelfde lijst met kenmerken. Elk huis heeft bijvoorbeeld een kenmerk dat bekend staat als gevelverfijning. Elk huis heeft een ander kenmerk dat bekend staat als keukenkaststijl. In uw objectgeoriënteerde programma hebt u een hoofdlijst nodig die alle kenmerken bevat die een huisobject kan bezitten. Deze hoofdlijst met kenmerken wordt een -klasse genoemd.

Dus daar heb je het. Objectgeoriënteerd programmeren is verkeerd benoemd. Het zou eigenlijk "programmeren met klassen en objecten" moeten worden genoemd. "

Merk op dat het woord klassen het eerst werd vermeld? Denk opnieuw aan een woningbouw die in aanbouw is. Ergens op het terrein, in een gammele trailer geparkeerd op kale aarde, is een hoofdlijst van kenmerken bekend als een blauwdruk. De blauwdruk van een architect is als een objectgerichte programmeursklasse. Een blauwdruk is een lijst met kenmerken die elk huis zal hebben. De blauwdruk zegt: "zijspoor. "Het werkelijke huisobject heeft grijze gevelbeplating. De blauwdruk zegt: "keukenkast. "Het eigenlijke huisobject heeft Lodewijk XIV keukenkasten.

Een jaar nadat je de blauwdruk hebt gemaakt, gebruik je deze om tien huizen te bouwen. Het is hetzelfde met klassen en objecten. Eerst schrijft de programmeur code om een ​​klasse te beschrijven. Wanneer het programma wordt uitgevoerd, maakt de computer objecten uit de klasse (blauwdruk).

Dus dat is de echte relatie tussen klassen en objecten. De programmeur definieert een klasse en van de klassedefinitie maakt de computer afzonderlijke objecten.

Wat is er zo goed aan een objectgerichte taal?

Stel je voor dat je al een computerprogramma hebt geschreven om de bouwinstructies voor huizen in een nieuwe ontwikkeling bij te houden. Vervolgens beslist de grote baas over een aangepast plan - een plan waarbij de helft van de huizen drie slaapkamers heeft en de andere helft er vier heeft.

Als u de oude FORTRAN / C-stijl van de computerprogrammering gebruikt, zien uw instructies er als volgt uit:

Graaf een greppel voor de kelder.

Leg beton langs de zijkanten van de sloot.

Leg twee bij vouwen langs de zijkanten voor het frame van de kelder.

Dit lijkt op een architect die een lange lijst met instructies maakt in plaats van een blauwdruk. Om het plan te wijzigen, moet u de lijst doorlopen om de instructies voor het bouwen van slaapkamers te vinden. Om de zaken nog erger te maken, konden de instructies worden verspreid over de pagina's 234, 394-410, 739, 10 en 2. Als de bouwer ingewikkelde instructies van andere mensen moest ontcijferen, zou de taak tien keer moeilijker zijn.

Beginnen met een klasse is echter hetzelfde als beginnen met een blauwdruk. Als u besluit om zowel huizen met drie als met vier slaapkamers te hebben, kunt u beginnen met een blauwdruk met de naam woning die een begane grond en een tweede verdieping heeft, maar geen binnenmuren heeft getekend op de tweede verdieping.. Vervolgens maak je nog twee blauwdrukken op de tweede verdieping - één voor het huis met drie slaapkamers en één voor het huis met vier slaapkamers. (Noem deze nieuwe blauwdrukken de huis met drie slaapkamers en de huis met vier slaapkamers blauwdruk.)

De collega's van je bouwers staan ​​versteld van je gevoel voor logica en organisatie, maar ze maken zich zorgen. Ze stellen een vraag. "Je noemde een van de blauwdrukken de blauwdruk van de 'drieslaapkamerwoning'. Hoe kun je dit doen als het een blauwdruk is voor een tweede verdieping en niet voor een hele woning? "

Je glimlacht willens en antwoordt:" De blauwdruk van het huis met de drie slaapkamers kan zeggen: 'Zie voor informatie over de onderste verdiepingen de originele blauwdruk van het huis. 'Op die manier beschrijft de huisblauwdruk met drie slaapkamers een heel huis. De blauwdruk van het huis met vier slaapkamers kan hetzelfde zeggen. Met deze opstelling kunnen we profiteren van al het werk dat we al hebben gedaan om de originele huisblauwdruk te maken en veel geld te besparen. “

In de taal van objectgeoriënteerd programmeren, zijn de huisklassen met drie en vier slaapkamers die de kenmerken van de oorspronkelijke huisklasse overerven . Je kunt ook zeggen dat de huisklassen met drie en vier slaapkamers zijn die de oorspronkelijke huisklasse van uitbreiden. De oorspronkelijke huisklasse wordt de

superklasse van de huisklassen met drie en vier slaapkamers genoemd.In die geest zijn de huisklassen met drie en vier slaapkamers subklassen van de oorspronkelijke huisklasse. Anders gezegd, de oorspronkelijke huisklasse wordt de ouderklasse genoemd van huisklassen met drie en vier slaapkamers. De huisklassen met drie en vier slaapkamers zijn kinderklassen van de oorspronkelijke huisklasse. Onnodig te zeggen dat de collega's van je huisbouwer jaloers zijn. Een menigte huis-aannemers pompt om je heen om je geweldige ideeën te horen. Dus op dat moment laat je nog een bom vallen: "Door een klasse met subklassen te maken, kunnen we de blauwdruk in de toekomst opnieuw gebruiken. Als iemand langskomt en een huis met vijf slaapkamers wil, kunnen we onze oorspronkelijke huisblauwdruk uitbreiden door een huisblauw te maken met vijf slaapkamers. We hoeven nooit meer geld uit te geven voor een originele huisblauwdruk. "

" Maar ", zegt een collega in de achterste rij," wat gebeurt er als iemand een ander ontwerp op de eerste verdieping wil? Gieten we de originele huisblauwdruk weg of beginnen we overal in de originele blauwdruk te krabbelen? Dat kost veel geld, nietwaar? "

Op een zelfverzekerde toon antwoord je:" We hoeven niet te rotzooien met de originele huisblauwdruk. Als iemand een jacuzzi in zijn woonkamer wil, kunnen we een nieuwe, kleine blauwdruk maken die alleen de nieuwe woonkamer beschrijft en dit de

blueprint van de jacuzzi-in-woonkamer noemen. Dan kan deze nieuwe blauwdruk verwijzen naar de originele huisblauwdruk voor info over de rest van het huis (het deel dat niet in de woonkamer is). "In de taal van objectgeoriënteerd programmeren, breidt de jacuzzi-in-woonkamer blauwdruk nog steeds uit de oorspronkelijke huisblauwdruk. De jacuzzi-blauwdruk is nog steeds een subklasse van de oorspronkelijke huisblauwdruk. In feite is alle terminologie over superklasse, ouderklasse en kindklasse nog steeds van toepassing. Het enige dat nieuw is, is dat de jacuzzi-blauwdruk voorrang heeft op de woonkamer in de originele huisblauwdruk. In de dagen vóór objectgeoriënteerde talen kende de programmeerwereld een crisis in softwareontwikkeling. Programmeurs schreven code, ontdekten vervolgens nieuwe behoeften en moesten vervolgens hun code vernietigen en helemaal opnieuw beginnen. Dit gebeurde keer op keer omdat de code die de programmeurs aan het schrijven waren niet kon worden hergebruikt. Objectgeoriënteerd programmeren heeft dit alles ten goede veranderd.

Begrip van Java's objectgeoriënteerde programmering (OOP) - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...