Skillnaden mellan klasser och strukturer

Skillnaden mellan klasser och strukturer
Skillnaden mellan klasser och strukturer

Video: Skillnaden mellan klasser och strukturer

Video: Skillnaden mellan klasser och strukturer
Video: Vad är skillnaden mellan privat körprov och skolprov 2024, November
Anonim

Klasser kontra strukturer

Några av huvudkoncepten för objektorienterade (OO) programmeringsspråk är inkapsling, arv och polymorfism. Klass och struktur är två av OO-konstruktionerna/verktygen som hjälper programmerare att uppnå dessa koncept inom de flesta av de spännande OO-programmeringsspråken (Java tillhandahåller inga strukturer). Klasser är en abstrakt representation av verkliga objekt. Strukturer är mycket lika klasser med liknande användning, men har få begränsningar jämfört med klasser. Både klasser och struktur används för att gruppera liknande typer av data tillsammans.

Vad är klasser?

Klasser skildrar den abstrakta representationen av verkliga objekt, medan relationerna skildrar hur varje klass är kopplad till andra. Både klasser och relationer har egenskaper som kallas attribut. Metoder i klasserna representerar eller definierar beteendet hos dessa klasser. Metoder och attribut för klasser kallas medlemmarna i klassen. Vanligtvis uppnås inkapsling genom att göra attributen privata, samtidigt som man skapar offentliga metoder som kan användas för att komma åt dessa attribut. Ett objekt är instansen av en klass. Arv tillåter användaren att utöka klasser (kallade underklasser) från andra klasser (kallade superklasser). Polymorfism tillåter programmeraren att ersätta ett objekt i en klass i stället för ett objekt i dess superklass. Norm alt blir substantiven som finns i problemdefinitionen direkt klasser i programmet. Och på liknande sätt blir verb metoder. Offentliga, privata och skyddade är de typiska åtkomstmodifierare som används för klasser. Ett klassdiagram visar systemens klasser, relationer mellan klasser och deras attribut.

Vad är strukturer?

Som nämnts ovan är strukturer mycket lika klasser med liknande användning, men har något begränsade möjligheter än klasser. I själva verket kan klasser betraktas som en förlängning av strukturer. Till exempel är strukturer samma som klasser i C++, men de har offentliga medlemmar som standard. En struktur kan definieras av användaren för att representera en typ som är sammansatt. I likhet med klasser innehåller strukturer medlemmar som kan tillhöra många typer. Nyckelordet struct används för att definiera en struktur i C och C++, medan nyckelordet Structure används för detsamma i. NET-programmeringsspråk.

Vad är skillnaden mellan klasser och strukturer?

Även om både klasser och strukturer är liknande konstruktioner som finns i programmeringsspråk, har de subtila skillnader. Typiskt är klassen en förlängning av strukturen, och därför har strukturer vissa relativa begränsningar. Till exempel kan strukturer betraktas som samma som klasser i C++, men medlemmar är inte offentliga som standard i klasser (till skillnad från i strukturer). Detta betyder faktiskt att du kan definiera en klass och en struktur med exakt samma egenskaper med hjälp av lämpliga åtkomstmodifierare i C++. Men i C kan strukturer inte innehålla några funktioner eller överbelastade operationer. Nyckelorden class och struct används för att definiera en klass respektive en struktur i C++. När det kommer till. NET-språk (C, VB. NET, etc.) är klass en referenstyp, medan struktur är en värdetyp. Och vanligtvis används strukturer för mindre objekt, men klasser används för större objekt som sparas i minnet under längre perioder.

Rekommenderad: