Forskjellen Mellom Klasser Og Strukturer

Forskjellen Mellom Klasser Og Strukturer
Forskjellen Mellom Klasser Og Strukturer

Video: Forskjellen Mellom Klasser Og Strukturer

Video: Forskjellen Mellom Klasser Og Strukturer
Video: VÅR-konferanse 2021 2024, November
Anonim

Klasser mot strukturer

Noen av hovedkonseptene i Object Oriented (OO) programmeringsspråk er innkapsling, arv og polymorfisme. Klasse og struktur er to av OO-konstruksjonene / verktøyene, som hjelper programmerere å oppnå disse konseptene innen de fleste av de spennende OO-programmeringsspråkene (Java gir ikke strukturer). Klasser er en abstrakt representasjon av virkelige objekter. Strukturer er veldig like klasser med lignende bruk, men har få begrensninger sammenlignet med klasser. Både klasser og struktur brukes til å gruppere lignende type data sammen.

Hva er klasser?

Klasser skildrer den abstrakte representasjonen av virkelige objekter, mens forholdene skildrer hvordan hver klasse er knyttet 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 klassens medlemmer. Innkapsling oppnås vanligvis ved å gjøre attributtene private, mens man lager offentlige metoder som kan brukes til å få tilgang til disse attributtene. Et objekt er forekomsten av en klasse. Arv tillater brukeren å utvide klasser (kalt underklasser) fra andre klasser (kalt superklasser). Polymorfisme lar programmereren erstatte et objekt i en klasse i stedet for et objekt i sin superklasse. Vanligvis blir substantivene som finnes i problemdefinisjonen direkte klasser i programmet. Og på samme måte,verb blir metoder. Offentlig, privat og beskyttet er de typiske tilgangsmodifikatorene som brukes til klasser. Et klassediagram viser systemklasser, forhold mellom klasser og attributter.

Hva er strukturer?

Som nevnt ovenfor, strukturer er veldig like klasser med lignende bruk, men har litt begrensede muligheter enn klasser. Faktisk kan klasser betraktes som en utvidelse av strukturer. For eksempel er strukturer de samme som klasser i C ++, men de har offentlige medlemmer som standard. 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. Nøkkelordet struct brukes til å definere en struktur i C og C ++, mens søkeordet Structure brukes til det samme i. NET programmeringsspråk.

Hva er forskjellen mellom klasser og strukturer?

Selv om både klasser og strukturer er like konstruksjoner som finnes i programmeringsspråk, har de subtile forskjeller. Vanligvis er klassen en utvidelse av strukturen, og derfor har strukturer noen relative begrensninger. For eksempel kan strukturer betraktes som det samme som klasser i C ++, men medlemmer er ikke offentlige som standard i klasser (i motsetning til i 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 ++. Imidlertid kan strukturer ikke inneholde noen funksjoner eller overbelastede operasjoner i C. Nøkkelord klasse og struktur brukes til å definere en klasse og en struktur i henholdsvis C ++. Når det gjelder. NET-språk (C #, VB. NET, etc.), er klasse en referansetype, mens struktur er en verditype. Og vanligvis,strukturer brukes til mindre objekter, men klasser brukes til større objekter som holdes i minnet i lengre perioder.

Anbefalt: