Programmeren in Java/Introductie in klassen

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Programmeren in Java In ontwikkeling. Revisiedatum: onbekend

Inleiding Redelijk ontwikkeld. Revisiedatum: 22 augustus 2008
  1. Klassen Goed ontwikkeld. Revisiedatum: 24 november 2007
  2. Overerving In ontwikkeling. Revisiedatum: 20 januari 2007
  3. Geavanceerde klassen In ontwikkeling. Revisiedatum: 24 november 2007
  4. Enums Goed ontwikkeld. Revisiedatum: 15 augustus 2020
  5. Generics Nog vrijwel niets. Revisiedatum: 24 november 2007
Appendices

Zoals eerder vermeld in dit boek is Java een objectgeoriënteerde programmeertaal. Net zoals in de echte wereld kun je in een objectgeoriënteerde programmeertaal objecten hebben die je kunt omschrijven en gebruiken. In de echte wereld heb je bijvoorbeeld dieren. Dieren hebben namen, ze hebben een bepaalde kleur vacht, sommige kunnen vliegen, andere kunnen zwemmen enzoverder. Maar je kunt ook meer abstractere zaken omschrijven in een objectgeoriënteerde programmeertaal, zoals een databaseconnectie. Een databaseconnectie maakt een connectie met een database op een bepaalde locatie, maakt een verbinding met de database en kan die verbreken, er kunnen gegevens gestuurd worden naar de databank en gegevens opgehaald, enzoverder.

Inleiding[bewerken]

Het object in programmeren kun je dus vergelijken met een object in het echte leven, neem nu volgende foto.

Renault Clio immat 78 in Wilberforce Road.jpg

Hoe zou je dit noemen? Net zoals in de echte wereld kun je een naam geven aan een type object. In dit geval een Auto of Car in het engels.

Kun je dit object omschrijven? Deze Car heeft een kleur, gebruikt een soort brandstof, heeft een soort versnellingsbak, heeft een nummerplaat, enzoverder. Deze worden de eigenschappen van een object genoemd.

Wat doet dit object? Deze Car kan rijden, kan remmen, kan ramen open en dicht doen, enzoverder. Dit zijn de functionaliteiten van deze Auto deze worden methodes genoemd.

Een object heeft dus bepaalde eigenschappen en methodes.

Eigenschappen[bewerken]

Eigenschappen(properties in het engels), ook wel velden genoemd, bevat informatie over het object. Informatie die ondere ander het object kunnen omschrijven, identificiëren of ook de functionaliteit van de auto beïnvloeden.

Bij Car kan bijvoorbeeld kleur de kleur van een auto omschrijven, de nummerplaat kan helpen de auto identificiëren en het type versnellingsbak kan bijvoorbeeld de functionalteit van rijden beïnvloeden.

Methodes[bewerken]

Methodes geven functionaliteit aan de klasse. Bij Car is dat dus bijvoorbeeld de auto laten rijden, de auto laten remmen enzoverder.

Ook zijn er methodes die getters en setters worden genoemd. Die zijn verantwoordelijk om gegevens op te halen van een object en gegevens te sturen naar een object zodat het object die kan bewaren. Dit heeft niet echt rechtstreeks iets te maken met functionaliteit, maar hier komen we later nog op terug.

De klasse[bewerken]

Als je de eigenschappen en de methodes samen neemt, kun je dit samenvoegen om een klasse te maken. Een klasse is te vergelijken met een blauwdruk. Je kunt hierin in grote lijnen een Car omschrijven zonder in detail te gaan. Dit will zeggen dat je kunt zeggen dat een auto een kleur heeft of een type versnellingsbak, zonder te zeggen welke kleur of type.

Het object[bewerken]

Het object is een instantie van een klasse, dit wil zeggen dat als een klasse Car een blauwdruk is van een auto dan is een object een echte auto die je kunt gebruiken. De klasse Car omschrijft dat de auto een kleur heeft, een object van de klasse Car heeft als kleur rood. Of de klasse Car heeft een functionaliteit dat bepaald hoe een auto rijdt, bij een object zal de de functionaliteit rijden de auto laten rijden.

Klasse versus Object
Klasse Object
een auto heeft een kleur de auto is rood
een auto heeft een type versnellingsbak de auto heeft een manuele versnellingsbak
een auto kan rijden de auto rijdt
een auto kan remmen de auto remt
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.