Wat is het verschil tussen klasse en structuur

De grootste verschil tussen Klasse en Structuur is dat het Klasse is een gegevenstype van het referentietype, terwijl de structuur een gegevenstype van het waardetype is.

Bij het programmeren is een variabele een opslaggebied om gegevens op te slaan. Elke variabele heeft een specifiek gegevenstype dat het kan opslaan. Hoofdzakelijk zijn er twee gegevenstypen als waardetype en referentietype. Bij het waarde type wordt een waarde direct toegewezen. Bovendien zijn int, float en double enkele voorbeelden van datatypen van het waardetype. Aan de andere kant slaan datatypen van het referentietype de feitelijke gegevens niet op. In plaats daarvan wordt een verwijzing naar de variabele opgeslagen. Klasse en structuur zijn twee programmeerconcepten. Zoals hierboven vermeld, is Class een gegevenstype van het referentietype, terwijl Structure een gegevenstype van het waardetype is.

Key Areas Covered

1. Wat is Klasse
     - Definitie, functionaliteit
2. Wat is structuur
    - Definitie, functionaliteit
3. Wat is het verschil tussen klasse en structuur
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

Klasse, structuur

Wat is Klasse

Alles is een object in Object Oriented Programming (OOP). Objecten worden gemaakt met behulp van een klasse. Een klas is een blauwdruk om een ​​object te maken. Bovendien bestaat een klasse uit attributen en methoden. Attributen worden ook eigenschappen genoemd en ze bepalen de kenmerken van een object. De methoden bepalen het gedrag van het object. Bovendien wordt het maken van een object met een klasse instantiatie genoemd.

Figuur 1: UML-diagram van een klasse

Leden van een klasse zijn de attributen en methoden van een klasse. Het zijn voornamelijk drie toegangsspecificaties om gegevens te ondersteunen die zich verbergen in OOP: openbaar, privé en beschermd. Ten eerste zijn de openbare leden zichtbaar voor alle klassen. Ten tweede zijn de privé-leden alleen zichtbaar binnen dezelfde klasse. Ten derde zijn de beschermde leden zichtbaar binnen het pakket en door de subklassen.

Bovendien bevat een klasse ook een speciale functie, een constructor. Het helpt om een ​​nieuw object te maken. Bovendien heeft het dezelfde naam als klasse en heeft het geen retourtype. Het kan een standaardconstructor of een geparametriseerde constructor zijn.

Een voorbeeldklasse is als volgt.

Klasse medewerker

publieke int id;

openbare reeksnaam;

Het hoofdprogramma is als volgt.

Werknemer e = nieuwe werknemer ();

e.id = 101;

e.name = "Ann";

Volgens het bovenstaande programma heeft de klasse twee eigenschappen: id en naam. Ze zijn openbaar en toegankelijk voor elke andere klas. In het hoofdprogramma maakt de constructor een type Employee-type. Vervolgens worden de waarden gegeven aan id en naam.

Wat is structuur

Structuur is een enkele variabele die meerdere gegevenstypen bevat. Met andere woorden, het is een verzameling variabelen van ongelijke gegevenstypen, allemaal verwijzend naar één naam. Structuurverklaring vormt een sjabloon die helpt bij het maken van een exemplaar van de structuur. Een voorbeeld is als volgt.

struct Employee

publieke int id;

openbare reeksnaam;

;

Het hoofdprogramma is als volgt.

Werknemer e;

e.id = 101;

e.name = "Ann";

Volgens het bovenstaande programma bevat de structuur twee eigenschappen: id en naam. In het hoofdprogramma verklaart 'Employee e' statement 'e' als een struct type Employee. Vervolgens worden waarden gegeven aan id en naam.

Verschil tussen klasse en structuur

Definitie

Een klasse is een blauwdruk die de variabelen en de methoden definieert die voor alle objecten van een bepaalde soort gelden. Het is een gegevenstype van het referentietype. Omgekeerd is een structuur een gegevenstype van het waardetype dat gerelateerde gegevens van verschillende gegevenstypen kan bevatten. Daarom is het belangrijkste verschil tussen klasse en structuur het gegevenstype.

Erfenis

Een Klasse kan erven van andere klassen of structuren terwijl een Structuur geen andere klassen of structuren kan erven.

destructor

Ook is destructor een ander verschil tussen klasse en structuur. Class kan een destructor hebben, maar de structuur heeft geen destructor.

instantiëring

Verder is er nog een verschil tussen klasse en structuur dat een klasse een object instantiseert met een nieuw sleutelwoord, terwijl een structuur een object aanstuurt zonder een nieuw sleutelwoord te gebruiken.

Aanleg

Bovendien is de instantie van een klasse een object, terwijl de instantie van een structuur een structuurvariabele is. Dit is dus een ander verschil tussen klasse en structuur. 

keyword

Bovendien definieert het sleutelwoord "klasse" een klasse. Het trefwoord "struct" definieert een structuur.

Default Access Specifier

Als er bovendien in een klas geen toegangsspecifiers zijn opgegeven, zijn de leden privé. Als er in een structuur geen toegangsspecificaties zijn opgegeven, zijn de leden openbaar.

Conclusie

Tijdens het programmeren is het noodzakelijk om gegevens op te slaan. Een variabele is een locatie die wordt gebruikt om gegevens op te slaan. Er zijn twee soorten variabelen als waardetype en referentietype. Het basisverschil tussen klasse en structuur is dat een klasse een gegevenstype van het referentietype is, terwijl een structuur een gegevenstype van het waardetype is.

Referentie:

1. "C # klassen." Www.tutorialspoint.com, hier beschikbaar.
2. "C # -structuren." Www.tutorialspoint.com, hier beschikbaar.

Afbeelding met dank aan:

1. "Oop-uml-class-voorbeeld" door De oorspronkelijke uploader was Esap op Engelse Wikipedia. - Overgebracht van en.wikipedia naar Commons (CC BY-SA 3.0) via Commons Wikimedia