Klasser mot 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 inte strukturer). Klasser är en abstrakt representation av verkliga föremål. Strukturer liknar klasser med liknande användning men har få begränsningar jämfört med klasser. Båda klasserna och strukturen används för att gruppera liknande typ av data tillsammans.
Vad är klasser?
Klasser visar den abstrakta representationen av verkliga världsobjekt, medan relationerna visar 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 klassmedlemmar. Inkapsling uppnås normalt 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 förekomsten av en klass. Arv tillåter användaren att utvidga klasser (kallade underklasser) från andra klasser (kallade superklasser). Polymorfism tillåter programmeraren att ersätta ett objekt i en klass istället för ett objekt i dess superklass. Typiskt blir substantiv som finns i problemdefinitionen direkt klasser i programmet. Och på samma sätt,verb blir metoder. Offentliga, privata och skyddade är de typiska åtkomstmodifierare som används för klasser. Ett klassdiagram visar systemens klasser, förhållanden mellan klasser och deras attribut.
Vad är strukturer?
Som nämnts ovan liknar strukturer mycket klasser med liknande användning, men har lite begränsad kapacitet än klasser. Faktum är att klasser kan 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. Nyckelordstrukturen används för att definiera en struktur i C och C ++, medan nyckelordstrukturen används för samma 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. Vanligtvis är klassen en förlängning av strukturen och därför har strukturer vissa relativa begränsningar. Till exempel kan strukturer betraktas som klasser i C ++, men medlemmar är inte offentliga som standard i klasser (till skillnad från 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. Nyckelordsklass och struktur används för att definiera en klass respektive en struktur i C ++. När det gäller. NET-språk (C #, VB. NET, etc.) är klass en referens typ, medan struktur är en värdetyp. Och vanligtvis,strukturer används för mindre objekt, men klasser används för större objekt som hålls i minnet under längre perioder.