Forskellen Mellem Klasser Og Strukturer

Forskellen Mellem Klasser Og Strukturer
Forskellen Mellem Klasser Og Strukturer

Video: Forskellen Mellem Klasser Og Strukturer

Video: Forskellen Mellem Klasser Og Strukturer
Video: Автоматизированные электротехнические комплексы и системы 2024, November
Anonim

Klasser vs strukturer

Nogle af de vigtigste begreber i Object Oriented (OO) programmeringssprog er indkapsling, arv og polymorfisme. 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 ligner meget klasser med lignende brug, 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 forholdet 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 opførsel. Metoder og attributter for klasser kaldes klassens medlemmer. Indkapsling opnås typisk ved at gøre attributterne private, mens der oprettes offentlige metoder, der kan bruges til at få adgang til disse attributter. Et objekt er forekomsten af en klasse. Arv giver brugeren mulighed for at udvide klasser (kaldet underklasser) fra andre klasser (kaldet superklasser). Polymorfisme tillader programmøren at erstatte et objekt i en klasse i stedet for et objekt i sin superklasse. Typisk bliver navneordene, der findes i problemdefinitionen, direkte klasser i programmet. Og på samme mådeverb bliver metoder. Offentligt, privat og beskyttet er de typiske adgangsmodifikatorer, der bruges til klasser. Et klassediagram viser systemernes klasser, forholdet mellem klasser og deres attributter.

Hvad er strukturer?

Som nævnt ovenfor ligner strukturer meget klasser med lignende anvendelse, men er lidt begrænsede muligheder end klasser. Faktisk kan klasser betragtes som en udvidelse af strukturer. For eksempel er strukturer de samme som klasser i C ++, men de har som standard offentlige medlemmer. 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øgleordsstrukturen bruges til at definere en struktur i C og C ++, mens nøgleordsstrukturen bruges til det samme i. NET-programmeringssprog.

Hvad er forskellen mellem klasser og strukturer?

Selvom både klasser og strukturer er lignende konstruktioner, der findes i programmeringssprog, har de subtile forskelle. Typisk er klassen en udvidelse 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 ikke offentlige som standard i klasser (i modsætning til strukturer). Dette betyder faktisk, at du kan definere en klasse og en struktur med nøjagtigt de samme egenskaber ved hjælp af de passende adgangsmodifikatorer i C ++. Men i C kan strukturer ikke indeholde nogen funktioner eller overbelastede operationer. Nøgleordsklasse og struktur 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 normalt,strukturer bruges til mindre objekter, men klasser bruges til større objekter, der opbevares i hukommelsen i længere perioder.

Anbefalet: