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: Metingen zijn nooit exact 1: accuraatheid versus precisie versus ruis 2024, November
Anonim

Klassen versus structuren

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

Wat zijn klassen?

Klassen geven de abstracte representatie weer van objecten uit de echte wereld, terwijl de relaties weergeven hoe elke klasse is verbonden met andere. 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 klasse 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 te breiden van andere klassen (superklassen genoemd). Met polymorfisme kan de programmeur een object van een klasse vervangen door een object van zijn superklasse. Meestal worden de zelfstandige naamwoorden in de probleemdefinitie direct klassen in het programma. En op dezelfde manier worden werkwoorden methoden. Openbaar, privé en beveiligd zijn de typische toegangsmodifiers die voor klassen worden gebruikt. Een klassendiagram toont de klassen van de systemen, relaties tussen klassen en hun attributen.

Wat zijn structuren?

Zoals hierboven vermeld, lijken structuren erg op klassen met een soortgelijk gebruik, maar hebben ze iets beperktere mogelijkheden dan klassen. In feite kunnen klassen 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 klassen, bevatten structuren leden die tot veel typen kunnen behoren. Het sleutelwoord struct wordt gebruikt om een structuur in C en C++ te definiëren, terwijl het sleutelwoord Structuur voor hetzelfde wordt gebruikt in. NET-programmeertalen.

Wat is het verschil tussen klassen en structuren?

Hoewel beide klassen en structuren vergelijkbare constructies zijn die in programmeertalen worden gevonden, 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 standaard niet openbaar in klassen (in tegenstelling tot structuren). Dit betekent eigenlijk dat je een klasse en een structuur met exact dezelfde kenmerken kunt definiëren met behulp van de juiste toegangsmodifiers in C++. In C kunnen structuren echter geen functies of overbelaste bewerkingen bevatten. Trefwoorden 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, enz.), is klasse een referentietype, terwijl structuur een waardetype is. En meestal worden structuren gebruikt voor kleinere objecten, maar klassen worden gebruikt voor grotere objecten die voor langere tijd in het geheugen worden bewaard.

Aanbevolen: