Forskjell mellom klasser og strukturer

Anonim

Klasser vs Strukturer

Noen av hovedbegrepene i Objektorienterte (OO) programmeringsspråk er innkapsling, arv og polymorfisme. Klasse og struktur er to av OO-konstruksjonene / verktøyene, som hjelper programmerere til å oppnå disse begrepene innenfor de fleste spennende programmerings-språkene (Java gir ikke strukturer). Klasser er en abstrakt representasjon av virkelige verdensobjekter. Strukturer ligner veldig på klasser med tilsvarende bruk, men har få begrensninger i forhold til klasser. Både klasser og strukturer brukes til å gruppere lignende typer data sammen.

Hva er klasser?

Klasser skildrer den abstrakte representasjonen av virkelige verdenobjekter, mens relasjonene viser hvordan hver klasse er koblet til andre. Både klasser og relasjoner har egenskaper som kalles attributter. Metoder i klassene representerer eller definerer oppførselen til disse klassene. Metoder og attributter til klasser kalles medlemmer av klassen. Typisk innkapsling oppnås ved å gjøre attributtene private, mens du lager offentlige metoder som kan brukes til å få tilgang til disse attributter. Et objekt er forekomsten av en klasse. Arv gir brukeren muligheten til å forlenge klasser (kalt underklasser) fra andre klasser (kalt superklasser). Polymorfisme tillater programmereren å erstatte et objekt av en klasse i stedet for et objekt av sin superklasse. Vanligvis blir substantivene som finnes i problemdefinisjonen direkte klasser i programmet. Og på samme måte blir verker metoder. Offentlige, private og beskyttede er de typiske tilgangsmodifiseringene som brukes til klasser. Et klassediagram viser systemets klasser, relasjoner mellom klasser og deres attributter.

Hva er strukturer?

Som nevnt ovenfor er strukturer svært lik klasser med tilsvarende bruk, men er litt begrensede evner enn klasser. Faktisk kan klasser betraktes som en utvidelse av strukturer. For eksempel er strukturer like som klasser i C ++, men de har som regel offentlige medlemmer. En struktur kan defineres av brukeren for å representere en type som er sammensatt. I likhet med klasser inneholder strukturer medlemmer som kan tilhøre mange typer. Søkeordstrukturen brukes til å definere en struktur i C og C ++, mens søkeordstrukturen brukes til det samme i. NET programmeringsspråket.

Hva er forskjellen mellom klasser og strukturer?

Selv om både klasser og strukturer er lignende konstruksjoner som finnes i programmeringsspråk, har de subtile forskjeller. Typisk er klassen en utvidelse av strukturen, og derfor har strukturer noen relative begrensninger. For eksempel kan strukturer anses som det samme som klasser i C ++, men medlemmer er ikke standard som standard i klasser (i motsetning til strukturer).Dette betyr faktisk at du kan definere en klasse og en struktur med nøyaktig de samme egenskapene ved å bruke de riktige tilgangsmodifikatorene i C ++. Men i C kan strukturer ikke inneholde noen funksjoner eller overbelastede operasjoner. Nøkkelord klasse og struct brukes til å definere en klasse og en struktur i henholdsvis C ++. Når det gjelder. NET-språk (C #, VB. NET, etc.), klassen er en referansetype, mens strukturen er en verdi type. Og vanligvis brukes strukturer til mindre objekter, men klasser brukes til større objekter som holdes i minnet i lengre perioder.