Verschil Tussen Klassen En Structuren

Verschil Tussen Klassen En Structuren
Verschil Tussen Klassen En Structuren

Video: Verschil Tussen Klassen En Structuren

Video: Verschil Tussen Klassen En Structuren
Video: The Axiom of Choice 2024, Mei
Anonim

Klassen versus structuren

Enkele van de belangrijkste concepten van Object Oriented (OO) programmeertalen zijn inkapseling, overerving en polymorfisme. Klasse en structuur zijn twee van de OO-constructies / -tools die programmeurs helpen om deze concepten te bereiken binnen de meeste bestaande OO-programmeertalen (Java biedt geen structuren). Klassen zijn een abstracte weergave van objecten uit de echte wereld. Structuren lijken sterk op klassen met een vergelijkbaar gebruik, maar hebben weinig beperkingen in vergelijking met klassen. Zowel klassen als structuur worden gebruikt om vergelijkbare soorten gegevens samen te groeperen.

Wat zijn klassen?

Klassen geven de abstracte weergave van objecten uit de echte wereld weer, terwijl de relaties weergeven hoe elke klasse met andere is verbonden. Zowel klassen als relaties hebben eigenschappen die attributen worden genoemd. Methoden in de klassen vertegenwoordigen of definiëren het gedrag van deze klassen. Methoden en attributen van klassen worden de leden van de klas genoemd. Meestal wordt inkapseling bereikt door de attributen privé te maken, terwijl openbare methoden worden gecreëerd die kunnen worden gebruikt om toegang te krijgen tot die attributen. Een object is de instantie van een klasse. Overerving stelt de gebruiker in staat om klassen (subklassen genoemd) uit andere klassen (superklassen genoemd) uit te breiden. Met polymorfisme kan de programmeur een object van een klasse vervangen in plaats van een object van zijn superklasse. De zelfstandige naamwoorden die in de probleemdefinitie worden gevonden, worden doorgaans direct klassen in het programma. En op dezelfde manierwerkwoorden worden methoden. Openbaar, privé en beschermd zijn de typische toegangsmodificatoren die voor klassen worden gebruikt. Een klassendiagram toont de klassen van het systeem, relaties tussen klassen en hun attributen.

Wat zijn structuren?

Zoals hierboven vermeld, lijken structuren sterk op klassen met een vergelijkbaar gebruik, maar hebben ze enigszins beperkte mogelijkheden dan klassen. Klassen kunnen in feite worden beschouwd als een uitbreiding op structuren. Structuren zijn bijvoorbeeld hetzelfde als klassen in C ++, maar hebben standaard openbare leden. Een structuur kan door de gebruiker worden gedefinieerd om een type weer te geven dat samengesteld is. Net als bij klassen, bevatten structuren leden die tot veel typen kunnen behoren. Het trefwoord struct wordt gebruikt om een structuur te definiëren in C en C ++, terwijl het trefwoord Structure hiervoor wordt gebruikt in. NET-programmeertalen.

Wat is het verschil tussen klassen en structuren?

Hoewel zowel klassen als structuren vergelijkbare constructies zijn die in programmeertalen worden aangetroffen, hebben ze subtiele verschillen. Meestal is de klasse een uitbreiding van de structuur en daarom hebben structuren enkele relatieve beperkingen. Structuren kunnen bijvoorbeeld als hetzelfde worden beschouwd als klassen in C ++, maar leden zijn niet standaard openbaar in klassen (in tegenstelling tot structuren). Dit betekent eigenlijk dat u een klasse en een structuur met exact dezelfde kenmerken kunt definiëren met behulp van de juiste toegangsmodificatoren in C ++. In C kunnen structuren echter geen functies of overbelaste bewerkingen bevatten. Sleutelwoorden class en struct worden gebruikt om respectievelijk een klasse en een structuur in C ++ te definiëren. Als het gaat om. NET-talen (C #, VB. NET, etc.), is klasse een referentietype, terwijl structuur een waardetype is. En meestalstructuren worden gebruikt voor kleinere objecten, maar klassen worden gebruikt voor grotere objecten die voor langere tijd in het geheugen worden bewaard.

Aanbevolen: