Klassi ja liidese erinevus

Peamine erinevus - klass vs liides
 

Objektorienteeritud programmeerimine (OOP) on tarkvara arendamisel tavaline paradigma. See aitab klasside ja objektide abil programmeerimisse viia reaalse maailma stsenaariume. Klass on objekti loomise plaan. Programmeerija saab luua omaduste ja meetoditega klassi. Õpilane ja õpetaja on objektid. Objekti loomist tuntakse kui silmapilk. OOP kasutab ka liideseid. Liidesed ja klass võivad tunduda sarnased, kuid neil on erinevus. Selles artiklis käsitletakse klassi ja liidese erinevust. võtme erinevus klassi ja liidese vahel on see klass on võrdlustüüp, mis on objekt objekti kiirendamiseks, samas kui liides on võrdlustüüp, mida ei saa kasutada objekti kiirendamiseks.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on klass
3. Mis on liides
4. Klassi ja liidese sarnasused
5. Kõrvuti võrdlus - klass vs liides tabelina
6. Kokkuvõte

Mis on klass?

OOP-is peetakse kõike objektiks. Ilma klassita pole objekti võimalik luua. Klass on objekti loomise plaan. Maja ehitades joonistab arhitekt plaani. Plaan sarnaneb klassiga. Maja sarnaneb objektiga. Klass on objekti ehitamise plaan. Objekt on see, mis on loodud klassi kasutades.

Klass sisaldab omadusi ja meetodeid. Õpilasel võivad olla sellised omadused nagu nimi, klass, indeksi number. Õpilasel võivad olla sellised meetodid nagu lugemine, kõndimine, õppimine. Klass luuakse vajalike omaduste ja meetoditega.

Klassi loomise süntaks paljudes programmeerimiskeeltes on järgmine. Selle loomiseks kasutatakse märksõna klassi.

klass klassi_nimi

// omadused

// meetodid

Programmeerimiskeeled nagu C # ja Java järgivad klassi abil objekti loomiseks sarnast süntaksi. Oletame, et klassi nimi on õpilane.

Õpilane s1 = uus õpilane ();

See s1 on objekt. Atribuutide jaoks mälu eraldamiseks kasutatakse märksõna „uus”. Klassil on ka konstruktor omaduste või muutujate lähtestamiseks.

Klassiliikmetel, näiteks omadustel ja meetoditel, on juurdepääsu modifikaatorid. Juurdepääsu spetsifikaadid kirjeldavad nende liikmete juurdepääsu ja nähtavust teistele klassidele. Klassi liikmetel võib olla juurdepääs spetsifikatsioonidele nagu avalik, privaatne ja kaitstud. Avalikud liikmed pääsevad teistesse klassidesse. Eraliikmetele pääseb ainult klassiga. Kaitstud liikmetele on juurdepääs klassis ja vastavates alaklassides.

Mis on liides?

Abstraktsioon on objektorienteeritud programmeerimise tugisammas. See on rakenduse üksikasjade peitmine ja funktsioonide kuvamine kasutajale. Abstraktsioon saavutatakse abstraktsete klasside ja liideste abil. Abstraktsel meetodil puudub rakendus. Klassi, mis sisaldab vähemalt ühte abstraktset meetodit, nimetatakse abstraktseks klassiks.

Kui on kaks abstraktset klassi, tuleks rakendada nendes klassides deklareeritud meetodeid. Nende meetodite rakendamiseks kasutatakse uut klassi. Kui mõlemal klassil oleks sama meetod, võib see põhjustada ebamäärasust. Seetõttu on programmeerimiskeeltel nagu Java ja C # liides.

Liidesed sisaldavad ainult meetodite deklaratsiooni. Rakendusmeetodit pole. Samuti ei saa liideste abil objekte luua. Neid kasutatakse mitme pärimise toetamiseks ja koodi kinnitamiseks.

Liidese süntaks on järgmine. Liides kasutab märksõna “liides”.

liidese liides_nimi

tüüp meetod1 (parameetri_loend);

tüüp meetod2 (parameetri_loend);

Eelneva kohaselt on liidestel ainult deklaratsioon. Määratlust pole. Niisiis, liidesed ei saa objekte kiirendada. See annab ainult abstraktse ülevaate sellest, mis on liides. Liideses deklareeritud meetodeid saab rakendada ühe või mitme klassi abil. Klass kasutab liidese rakendamiseks märksõna „rakendada“. Allpool leiate Java abil kirjutatud näite.

Joonis 01: Programm liideste abil

Ülaltoodud programmi kohaselt on A ja B liidesed. Liidesel A on meetodideklaratsioon, mis on summa (). Liidesel B on meetodi deklareerimise alam (). Klass C rakendab mõlemat liidest, mis on A ja B. Seetõttu määratleb klass C nii sum () kui ka sub () meetodid. Pärast C-tüüpi objekti loomist on võimalik kutsuda mõlemad meetodid sum () ja sub ().

Liidese sees deklareeritud meetodid peavad alati olema avalikud, kuna rakendusklassid määratlevad need. Liides võib pärida ka teisest liidesest.

Millised on klassi ja liidese sarnasused?

  • Mõlemad on võrdlustüübid.
  • Mõlemad on seotud objektorienteeritud programmeerimisega.

Mis vahe on klassil ja liidesel??

Klass vs liides

Klass on viitetüüp, mis on objekti loomise plaan. Liides on viitetüüp, mida ei saa realiseerida.
 Objekti kirjeldus
Klassi kasutatakse objekti kiirendamiseks. Liidest ei saa realiseerida, kuna meetodid ei suuda mingeid toiminguid teha.
Konstruktor
Klass sisaldab muutujate lähtestamiseks konstruktorit. Liides ei sisalda konstruktorit, kuna need pole peaaegu üldse initsialiseeritavad muutujad.
 Märksõna
Klass kasutab märksõna „klass“. Liides kasutab märksõna “liides”.
Juurdepääsu spetsifikaator
Klassi liikmed võivad olla era-, avalikud ja kaitstud. Liidese liikmed peaksid olema alati avalikud, sest rakendusklassid määratlevad nad.

Kokkuvõte - klass vs liides

Klasse ja liideseid kasutatakse objektorienteeritud programmeerimises laialdaselt. Klassi ja liidese erinevus seisneb selles, et klass on võrdlustüüp, mis on objekt objekti kiirendamiseks, ja liides on võrdlustüüp, mida ei saa kasutada objekti kiirendamiseks. Klass saab rakendada paljusid liideseid. Kuid see võib laiendada ainult ühte superklassi. Liides võib pärida palju liideseid, kuid rakendamist ei saa olla. Mõlemal on oma tähtsus. Programmeerija saab neid vastavalt tarkvara arendamisele kasutada.

Laadige alla PDF Class vs Interface

Selle artikli PDF-versiooni saate alla laadida ja seda võrguühenduseta otstarbel kasutada tsitaatide märkuse kohaselt. Laadige alla PDF-versioon siit. Klassi ja liidese erinevus

Viide:

1.tutorialspoint.com. “Java objekt ja klassid.”, The point. Saadaval siin 
2.navinreddy20. Liides javas koos näitega, Java Autor: Navin Reddy, 11. detsember 2012. Saadaval siin