Atšķirība starp klasi un interfeisu

Satura rādītājs:

Atšķirība starp klasi un interfeisu
Atšķirība starp klasi un interfeisu

Video: Atšķirība starp klasi un interfeisu

Video: Atšķirība starp klasi un interfeisu
Video: STARPĪBA STARP ŪDENI UN ALU 2024, Jūnijs
Anonim

Galvenā atšķirība - klase pret interfeisu

Objektorientētā programmēšana (OOP) ir izplatīta paradigma programmatūras izstrādē. Tas palīdz programmēšanai ieviest reālus scenārijus, izmantojot klases un objektus. Klase ir priekšmets objekta izveidei. Programmētājs var izveidot klasi ar īpašībām un metodēm. Students un skolotājs ir objekti. Objekta izveide ir pazīstama kā instantiācija. OOP izmanto arī saskarnes. Saskarnes un klase var šķist līdzīgas, taču tām ir atšķirība. Šajā rakstā ir apskatīta atšķirība starp klasi un saskarni. Galvenā atšķirība starp klasi un interfeisu ir tā, ka klase ir atsauces tips, kas ir priekšmets objekta instantiancei, savukārt saskarne ir atsauces tips, ko nevar izmantot objekta instantiancei.

Kas ir klase?

OOP viss tiek uzskatīts par objektu. Nav iespējams izveidot objektu bez klases. Klase ir priekšmets objekta izveidei. Būvējot māju, arhitekts zīmē plānu. Plāns ir līdzīgs klasei. Māja ir līdzīga objektam. Klase ir objekta būvniecības plāns. Objekts ir tas, kas tiek izveidots, izmantojot klasi.

Klase satur īpašības un metodes. Studentam var būt tādas īpašības kā vārds, pakāpe, indeksa numurs. Studentam var būt tādas metodes kā lasīšana, pastaigas, mācīšanās. Tiek izveidota klase ar nepieciešamajām īpašībām un metodēm.

Klases izveides sintakse daudzās programmēšanas valodās ir šāda. Tas tiek izveidots, izmantojot atslēgvārdu klasi.

class class_name {

// īpašumi

//metodes

}

Programmēšanas valodas, piemēram, C un Java, ievēro līdzīgu sintakse, lai izveidotu objektu, izmantojot klasi. Pieņemsim, ka klases nosaukums ir Student.

Students s1=jauns students ();

Šis s1 ir objekts. Atslēgvārds “jauns” tiek izmantots, lai piešķirtu atmiņu īpašībām. Klasei ir arī konstruktors rekvizītu vai mainīgo inicializēšanai.

Klases dalībniekiem, piemēram, īpašībām un metodēm, ir piekļuves modifikatori. Piekļuves specifikācijas apraksta šo dalībnieku pieejamību un redzamību citām klasēm. Klases dalībniekiem var būt piekļuves specifikācijas, piemēram, publiskas, privātas un aizsargātas. Publiskie dalībnieki ir pieejami citām klasēm. Privātie dalībnieki ir pieejami tikai klasei. Aizsargātie dalībnieki ir pieejami klasē un attiecīgajās apakšklasēs.

Kas ir saskarne?

Abstrakcija ir objektorientētas programmēšanas balsts. Tas ir paredzēts, lai paslēptu ieviešanas informāciju un parādītu lietotājam funkcionalitāti. Abstrakcija tiek panākta, izmantojot abstraktās klases un saskarnes. Abstraktai metodei nav īstenošanas. Klasi, kas satur vismaz vienu abstraktu metodi, sauc par abstrakto klasi.

Ja ir divas abstraktas klases, ir jārealizē šajās klasēs deklarētās metodes. Šo metožu ieviešanai tiek izmantota jauna klase. Ja abām klasēm būtu viena un tā pati metode, tas varētu radīt neskaidrības. Tāpēc tādām programmēšanas valodām kā Java un C ir interfeiss.

Saskarnes satur tikai metožu deklarāciju. Īstenošanas metodes nav. Arī saskarnes nevar izmantot, lai izveidotu objektus. Tos izmanto, lai atbalstītu vairākas mantošanas un nodrošinātu kodu.

Interfeisa sintakse ir šāda. Interfeiss izmantojiet atslēgvārdu “interfeiss”.

interfeisa interfeisa_nosaukums{

type1(parameter_list);

type2(parameter_list);

}

Saskaņā ar iepriekš minēto saskarnēm ir tikai deklarācija. Nav definīcijas. Tātad saskarnes nevar izveidot objektus. Tas sniedz tikai abstraktu priekšstatu par saskarni. Saskarnē deklarētās metodes var ieviest viena vai vairākas klases. Klase izmanto atslēgvārdu “implement”, lai ieviestu saskarni. Skatiet tālāk piemēru, kas rakstīts, izmantojot Java.

Atšķirība starp klasi un interfeisu
Atšķirība starp klasi un interfeisu
Atšķirība starp klasi un interfeisu
Atšķirība starp klasi un interfeisu

Attēls 01: Programma, kas izmanto saskarnes

Saskaņā ar iepriekš minēto programmu A un B ir saskarnes. Interfeisam A ir metodes deklarācija, kas ir summa (). Interfeisam B ir metodes deklarācija sub(). C klase īsteno abas saskarnes, kas ir A un B. Tāpēc C klase definē gan summa () un sub () metodes. Pēc C tipa objekta izveidošanas ir iespējams izsaukt abas metodes sum() un sub().

Saskarnē deklarētajām metodēm vienmēr jābūt publiskām, jo tās nosaka ieviešanas klases. Saskarne var mantot arī no citas saskarnes.

Kādas ir līdzības starp klasi un interfeisu?

  • Abi ir atsauces veidi.
  • Abas ir saistītas ar objektorientētu programmēšanu.

Kāda ir atšķirība starp klasi un interfeisu?

Klase pret interfeisu

Klase ir atsauces veids, kas ir priekšmets objekta izveidei. Saskarne ir atsauces veids, ko nevar izveidot.
Objekta instantiācija
Klase tiek izmantota, lai izveidotu objektu. Nevar izveidot saskarni, jo metodes nespēj veikt nekādas darbības.
Konstruktors
Klasē ir konstruktors, lai inicializētu mainīgos. Saskarne nesatur konstruktoru, jo tie gandrīz nav inicializējami mainīgie.
Atslēgvārds
Klasē tiek izmantots atslēgvārds “class”. Saskarne izmanto atslēgvārdu “interfeiss”.
Piekļuves specifikators
Klases dalībnieki var būt privāti, publiski un aizsargāti. Saskarnes dalībniekiem vienmēr jābūt publiskiem, jo tos nosaka ieviešanas klases.

Kopsavilkums - klase pret interfeisu

Klases un saskarnes tiek plaši izmantotas objektorientētajā programmēšanā. Atšķirība starp klasi un interfeisu ir tāda, ka klase ir atsauces tips, kas ir objekta instantiances projekts, un interfeiss ir atsauces tips, ko nevar izmantot, lai izveidotu objektu. Klase var ieviest daudzas saskarnes. Bet tas var paplašināt tikai vienu superklasi. Saskarnē var mantot daudzas saskarnes, taču nevar būt ieviešanas. Abiem ir sava nozīme. Programmētājs tos var izmantot atbilstoši programmatūras izstrādei.

Lejupielādēt PDF klasi pret interfeisu

Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit Atšķirība starp klasi un interfeisu

Ieteicams: