Atšķirība starp abstraktu klasi un interfeisu

Autors: Laura McKinney
Radīšanas Datums: 3 Aprīlis 2021
Atjaunināšanas Datums: 2 Jūlijs 2024
Anonim
Interface vs abstract class in Java C#
Video: Interface vs abstract class in Java C#

Saturs

Galvenā atšķirība

Galvenā atšķirība starp abstraktu klasi un interfeisu ir tāda, ka Java interfeisa procedūras būtībā ir abstraktas un tām nevar būt lietojumprogrammas. Tik plaši izsakoties, interfeiss faktiski ir līgums, un, kad mēs runājam par interfeisu, tas attiecas uz to, ka metodēm nav pamatteksta, tas ir tikai paraugs. Kaut arī abstraktās klases pamatā ir klases, kuras ir dārgi izmantot. Abstraktās klases un interfeiss ir pilnīgi atšķirīgs jēdziens, tās ir divas dažādas lietas, taču dažkārt to ieviešana ir diezgan līdzīga.


Kas ir Abstract klase?

Programmētājs pilnībā nenozīmē abstraktu klasi. Abstraktajai klasei var būt viena vai vairākas abstraktas metodes. Tie ir noderīgi, lai modelētu klases grupēšanu vai klasifikāciju, un, kamēr tas tiek veikts, programmētājs iegūst priekšstatu par to, kas jāveido, ieraudzījis prasības. Uz abstrakto klasi nevar pilnībā paļauties, jo tai trūkst dažu daļu. Galvenais šī argumenta iemesls ir tas, ka abstraktā klase ir stingri orientēta uz objektu, kaut arī tai ir metodes virsraksts, bet tās nav. Kad mēs runājam par abstraktajām klasēm, starp divām klasēm pastāv cieša saikne, jo šīs klases parasti iegūst vai manto viena no otras.

Kas ir interfeiss?

Ja mēs runājam par saskarni, tieši pretēji, tad saikne vai saziņa starp pašu saskarni un klasi, kas norāda uz saskarni, nav tik spēcīga kā abstraktajās klasēs. Java klase var ieviest daudzas saskarnes, bet var mantot no vienas abstraktas klases. Tas nozīmē, ka tad, ja vēlaties vienlaikus norādīt uz daudzām mijiedarbībām, interfeiss ir jūsu lieta. Neatkarīgi no visa šī scenārija, pat ja jūs nevēlaties, lai kādu laiku mainītos API, interfeiss ir vislabākais risinājums. Interfeiss faktiski ir līgums starp diviem dažādiem objektiem. Lai to saīsinātu, interfeiss griežas ap funkcionalitāti.


Galvenās atšķirības

  1. Abstraktā klase ir orientēta uz objektu, bet interfeiss ir orientēts uz funkciju.
  2. Ja vēlaties, lai API kādu laiku paliktu nemainīga, jūs izvēlaties abstraktās klases saskarni.
  3. Vairāku mantojumu var iegūt, izmantojot vairākas saskarnes. Atrodoties abstraktajā klasē, jūs nevarat iegūt vairākus mantojumus.
  4. Ja jums ir viedoklis, ka nākotnē jums būs jāpievieno metodes savā darbā, tiek izvēlēta abstrakta klase, nevis saskarne.
  5. Abstraktā klase dod kopēju bāzes klases lietojumprogrammu, bet interfeisā nekas tāds nenotiek.
  6. Saskarnē visas jūsu ieviestās metodes ir publiskas, taču abstraktajā klasē varat izmantot arī dažas nepubliskas metodes.
  7. Konstruktori nav saskarnē, bet tie notiek abstraktā klasē.
  8. Pilnīgs abstraktās klases loceklis varētu būt statisks, bet nevis saskarnes elements.

Lieu pret Loo - kāda ir atšķirība?

Monica Porter

Jūlijs 2024

Lieu (lietvārd)vieta, vietā; katīt vietā vai vietā Loo (tarpaucien)Raudāt aicinājumu medību uņiem.Loo (darbība vārd)teigtie ar cilpu aucieniem vai ar citu kliegšanu vai ašutumu.Loo (darbība vārd)Pārpē...

Kaut arī intrukcija pārlēdza kaitļošana itēmā, tā ir pilnīgi atšķirīga zona, ka palīdz konkrētajam cilvēkam un klēpjdatoram to uzmanīt. Vi ši vilcien notiek adrešu dēļ, ka palīdz paaulei. Diva frāze, ...

Interesants