Forskel mellem klasser og strukturer

Forskel mellem klasser og strukturer
Forskel mellem klasser og strukturer

Video: Forskel mellem klasser og strukturer

Video: Forskel mellem klasser og strukturer
Video: #14 Forskellen på økologiske og konventionelle æbler | GoCook by Coop 2024, November
Anonim

klasser vs strukturer

Nogle af hovedbegreberne i objektorienterede (OO) programmeringssprog er indkapsling, arv og polymorfi. Klasse og struktur er to af OO-konstruktionerne/værktøjerne, som hjælper programmører med at opnå disse koncepter inden for de fleste af de spændende OO-programmeringssprog (Java giver ikke strukturer). Klasser er en abstrakt repræsentation af objekter i den virkelige verden. Strukturer minder meget om klasser med en lignende anvendelse, men har få begrænsninger i forhold til klasser. Både klasser og struktur bruges til at gruppere lignende type data sammen.

Hvad er klasser?

Klasser skildrer den abstrakte repræsentation af objekter i den virkelige verden, mens relationerne skildrer, hvordan hver klasse er forbundet med andre. Både klasser og relationer har egenskaber kaldet attributter. Metoder i klasserne repræsenterer eller definerer disse klassers adfærd. Metoder og attributter for klasser kaldes medlemmer af klassen. Typisk opnås indkapsling ved at gøre attributterne private, mens der skabes offentlige metoder, der kan bruges til at få adgang til disse attributter. Et objekt er instansen af en klasse. Nedarvning giver brugeren mulighed for at udvide klasser (kaldet underklasser) fra andre klasser (kaldet superklasser). Polymorfi tillader programmøren at erstatte et objekt i en klasse i stedet for et objekt i dens superklasse. Typisk bliver de navneord, der findes i problemdefinitionen, direkte klasser i programmet. Og på samme måde bliver verber til metoder. Offentlige, private og beskyttede er de typiske adgangsmodifikatorer, der bruges til klasser. Et klassediagram viser systemernes klasser, relationer mellem klasser og deres attributter.

Hvad er strukturer?

Som nævnt ovenfor minder strukturer meget om klasser med en lignende anvendelse, men har lidt begrænsede muligheder end klasser. Faktisk kan klasser betragtes som en udvidelse til strukturer. For eksempel er strukturer de samme som klasser i C++, men de har offentlige medlemmer som standard. En struktur kan defineres af brugeren til at repræsentere en type, der er sammensat. I lighed med klasser indeholder strukturer medlemmer, der kan tilhøre mange typer. Nøgleordet struct bruges til at definere en struktur i C og C++, mens nøgleordet Structure bruges til det samme i. NET programmeringssprog.

Hvad er forskellen mellem klasser og strukturer?

Selv om både klasser og strukturer er lignende konstruktioner, der findes i programmeringssprog, har de subtile forskelle. Typisk er klassen en forlængelse af strukturen, og derfor har strukturer nogle relative begrænsninger. For eksempel kan strukturer betragtes som de samme som klasser i C++, men medlemmer er som standard ikke offentlige i klasser (i modsætning til i strukturer). Dette betyder faktisk, at du kan definere en klasse og en struktur med nøjagtig de samme karakteristika ved hjælp af de passende adgangsmodifikatorer i C++. Men i C kan strukturer ikke indeholde nogen funktioner eller overbelastede operationer. Nøgleord klasse og struct bruges til at definere henholdsvis en klasse og en struktur i C++. Når det kommer til. NET-sprog (C, VB. NET osv.), er klasse en referencetype, mens struktur er en værditype. Og norm alt bruges strukturer til mindre objekter, men klasser bruges til større objekter, der opbevares i hukommelsen i længere perioder.

Anbefalede: