logo
  • Galvenais
  • Juridisks
  • Bez Kategorijas
  • Aparatūra
  • Pārstrādāti Pārtikas Produkti

Atšķirība starp abstrakto klasi un Java saskarni

Roderick Dorsey
Programmatūra

Abstraktā klase un interfeiss galvenokārt tiek izmantoti abstrakcijai, tomēr tie ļoti atšķiras viens no otra. Abas ir Java galvenā sastāvdaļa, taču tām ir savs lietojums lietošanai. Lai gan abi termini var būt sinonīmi viens otram, tos nevar aizstāt.

Starp abiem ir būtiskas atšķirības. Kamēr saskarnes metode pēc noklusējuma ir abstrakta , abstrakts var saturēt gan abstraktas, gan ne abstraktas metodes. Nu, kopš Java 8, saskarnēs ir arī metožu ieviešana un viņiem Java var būt gan statiskas, gan noklusējuma metodes . Sīkāk izpētīsim atšķirību starp abiem.



Atšķirība starp abstrakto klasi un Java saskarni



Kas ir Java abstraktā klase?

Abstrakta klase Java ir klase, kas tiek pasludināta par abstraktu - tā var saturēt abstraktas metodes, var arī nebūt. Tas ir diezgan līdzīgs Java saskarnei, izņemot to, ka tajā var iekļaut noklusējuma metodes ieviešanu. Tāpat kā objektorientētā programmēšanā, arī Java abstrakcija tiek panākta, izmantojot abstraktas klases un saskarnes. Java abstrakcija nozīmē nesvarīgu detaļu slēpšanu no lietotāja, lai koncentrētos tikai uz būtiskām detaļām, lai palielinātu efektivitāti, tādējādi samazinot sarežģītību. Atslēgvārds “abstrakts” tiek izmantots, lai izveidotu abstraktu klasi tieši pirms klases atslēgvārda klases deklarācijā.

Abstraktā klase var saturēt abstrakcijas metodes (metodes bez ķermeņa), bet, ja klasē ir vismaz viena abstrakcijas metode, tā jāpasludina par abstraktu. Tomēr ne abstraktas metodes var izmantot arī abstraktā klasē, bet tikai noklusējuma uzvedības ieviešanai. Abstraktās klases metodēm var būt piekļuves modifikatori, piemēram, privāti, publiski, statiski un aizsargāti, atkarībā no redzamības līmeņa. Abstraktu klasi nevar noteikt, un tā nenodrošina simtprocentīgu abstrakciju, jo tai var būt konkrēta metode.



Kas ir saskarne?

Interfeiss, lai arī izskatās kā klase, tā nav. Tā kā Java neatbalsta vairākus mantojumus, interfeiss dažreiz ir ideāls, lai nodrošinātu klases hierarhijas pamatu. Interfeiss drīzāk ir klases projekts, ko izmanto arī abstrakcijas sasniegšanai Java. Tas satur abstraktas metodes un statiskās konstantes. Vienkārši sakot, interfeiss ir abstraktu metožu kopums, kas tiek izmantots, lai norādītu uzvedību, kas klasei jāievieš. Atšķirībā no abstraktās klases interfeiss nodrošina pilnīgu Java abstrakciju. Tam var būt gan metodes, gan mainīgie tāpat kā klase, tomēr saskarnē deklarētās metodes pēc noklusējuma ir abstraktas.

Atšķirība starp abstrakto klasi un Java saskarni

  1. Abstraktās klases un saskarnes “vairākkārtēja mantošana” Java valodā - Neskatoties uz to, ka abstrakcijai galvenokārt tiek izmantota gan abstraktā klase, gan saskarne, tās viena no otras diezgan atšķiras. Kaut arī abstraktā klase ir klase, saskarne ir saskarne. Tas nozīmē, ka, lai gan interfeiss var paplašināt tikai citu Java saskarni, abstraktā klase var ieviest vairākus Java mantojumus. Nu, Java neatbalsta vairākus mantojumus, bet Java var ieviest vairākus mantojumus.
  2. Java abstraktās klases un saskarnes “metodes veids” - Otra būtiskākā atšķirība starp abām ir tā, ka, lai gan saskarnē var būt tikai abstraktas metodes, abstraktā klasē var būt gan abstraktas, gan netrakstas. Tomēr kopš Java 8 saskarnei var būt arī noklusējuma un statiskās metodes.
  3. Java abstraktās klases un saskarnes “piekļuves modifikatori” - Abstraktā klasē var būt publiski, privāti un aizsargāti piekļuves modifikatori, tomēr saskarnes metodes ir netieši publiskas un abstraktas. Ar saskarnes metodēm nevar izmantot nevienu citu piekļuves modifikatoru. ”
  4. Abstraktās klases un saskarnes “ieviešana” Java - Abstrakta klase var nodrošināt saskarnes ieviešanu. Savukārt interfeiss nevar nodrošināt abstraktas klases ieviešanu.
  5. Java abstraktās klases un saskarnes “atslēgvārds” - Lai gan abstrakts atslēgvārds tiek izmantots, lai pasludinātu abstraktas klases metodi par abstraktu, saskarnes ir pavisam cits stāsts; viņiem var būt tikai publiskas, statiskas galīgās konstantes un metožu deklarācijas.
  6. Abstraktās klases un saskarnes “izmantošana” Java - Kaut arī saskarne ir ideāla tipa deklarēšanai, abstraktā klase ir vislabāk piemērota koda atkārtotas izmantošanas un evolūcijas perspektīvai. Interfeiss izskatās kā klase, taču tā nav klase.
  7. Java abstraktās klases un saskarnes “uzticamība” - Vēl viena būtiska atšķirība starp abstraktu klasi un saskarni ir tā, ka pirmā ir nedaudz ātrāka nekā otrā, jo meklēšana parasti tiek veikta saskarnē, pirms Java tiek izsaukta jebkura ignorēta metode.
  8. Java abstraktās klases un saskarnes “galīgie mainīgie” - Interfeisā deklarētie mainīgie pēc noklusējuma ir galīgi, savukārt abstraktā klase var saturēt vai neietvert galīgos mainīgos.

Abstract klases vs saskarne Java: salīdzināšanas tabula

Abstrakta klase Saskarne
Abstraktais atslēgvārds tiek izmantots abstraktas klases izveidošanai, un to var izmantot ar metodēm. Interfeisa atslēgvārds tiek izmantots, lai izveidotu interfeisu, taču to nevar izmantot ar metodēm.
Klase var pagarināt tikai vienu abstraktu klasi. Klase var ieviest vairāk nekā vienu saskarni.
Abstraktā klasē var būt gan abstraktas, gan ne abstraktas metodes. Interfeisam var būt tikai abstraktas metodes.
Mainīgie pēc noklusējuma nav galīgi. Tas var saturēt galīgos mainīgos. Mainītāji pēc noklusējuma saskarnē ir galīgi.
Abstrakta klase var nodrošināt saskarnes ieviešanu. Saskarne nevar nodrošināt abstraktas klases ieviešanu.
Tam var būt metodes ar ieviešanu. Tas nodrošina absolūtu abstrakciju un nevar būt metožu ieviešana.
Tam var būt publiski, privāti, statiski un aizsargāti piekļuves modifikatori. Java saskarnē metodes ir netieši publiskas un abstraktas.
Tas neatbalsta vairākus mantojumus. Tas atbalsta vairākus mantojumus.
Tas ir ideāli piemērots koda atkārtotai izmantošanai un evolūcijas perspektīvai. Tas ir ideāli piemērots tipa deklarēšanai.

Kopsavilkuma punkti par abstrakto klasi un saskarni Java

Abstrakcijai tiek izmantota gan abstraktā klase, gan saskarne; tomēr viņiem ir taisnīga atšķirību daļa. Galveno atšķirību starp abām nosaka abstrakcijas metodes. Pirmajam var būt vai nebūt abstraktas metodes, bet otrajam ir netieši abstrakts. Abstraktā klasē var būt gan abstraktas, gan ne abstraktas metodes. Interfeisam, no otras puses, var būt tikai abstraktas metodes, tādējādi tām nevar būt ieviešanas, kas vienkārši nozīmē, ka saskarnē nevar būt abstraktas metodes. Nevar izveidot tādu abstraktu klasi, kas aizliedz objekta izveidi. Savukārt saskarne var izskatīties kā klase, bet tā nav.

Ieteicams

Atšķirība starp HTC Fuze un HTC Touch Pro
Atšķirība starp HTC Fuze un HTC Touch Pro
Roderick Dorsey
Sīkrīki
Šons Holijs atbrīvos jūs tūlīt
Šons Holijs atbrīvos jūs tūlīt
Roderick Dorsey
Žurnāls
Linkolna starpposmi
Linkolna starpposmi
Roderick Dorsey
Amerikas Pilsoņu Karš
Starpība starp poniju un zirgu
Starpība starp poniju un zirgu
Roderick Dorsey
Dzīvnieki
Uzpildes stacijas debesīs
Uzpildes stacijas debesīs
Roderick Dorsey
Aviācijas Vēsture
Čikāgas sacīkšu sacelšanās 1919. gadā: kā Jevgeņija Viljamsa nāve satricināja Ameriku
Čikāgas sacīkšu sacelšanās 1919. gadā: kā Jevgeņija Viljamsa nāve satricināja Ameriku
Roderick Dorsey
Bez Kategorijas
Jaunā muzeja izstāde atklāj Otrā pasaules kara “Spoku armijas” noslēpumus
Jaunā muzeja izstāde atklāj Otrā pasaules kara “Spoku armijas” noslēpumus
Roderick Dorsey
Otrais Pasaules Karš
Kā doties iepirkties veikalā, kad vienkārši nevarat izturēt aukstumu, lietu - jebkādi nelabvēlīgi laikapstākļi
Kā doties iepirkties veikalā, kad vienkārši nevarat izturēt aukstumu, lietu - jebkādi nelabvēlīgi laikapstākļi
Roderick Dorsey
Stils
21 veids, kā valkāt kaķu acu grimu, tieši no 2012. gada rudens modes nedēļas
21 veids, kā valkāt kaķu acu grimu, tieši no 2012. gada rudens modes nedēļas
Roderick Dorsey
Skaistums
Kolagēna un elastīna atšķirības
Kolagēna un elastīna atšķirības
Roderick Dorsey
Bioloģija

Populārākās Stāsti

Copyright © Visas Tiesības Aizsargātas | asayamind.com