Video: Atšķirība Starp Abstrakto Klasi Un Saskarni
2024 Autors: Mildred Bawerman | [email protected]. Pēdējoreiz modificēts: 2023-12-16 08:40
Abstrakta klase vs saskarne
Abstraktā klase un saskarne ir divi uz objektu orientēti konstrukcijas, kas atrodamas daudzās objektorientētās programmēšanas valodās, piemēram, Java. Abstrakto klasi var uzskatīt par parastas (konkrētas) klases abstraktu versiju, savukārt saskarni - par līguma izpildes līdzekli. Abstraktā klase ir klase, kuru nevar inicializēt, bet kuru var pagarināt. Interfeiss ir veids, kas jāievieš citām klasēm. Java valodā abstraktās klases tiek deklarētas, izmantojot Abstract atslēgvārdu, savukārt interfeisa definēšanai tiek izmantots interfeisa atslēgvārds.
Kas ir abstraktā klase?
Parasti abstraktās klases, kas pazīstamas arī kā Abstract Base Classes (ABC), nevar instantizēt (šīs klases instanci nevar izveidot). Tātad, abstraktām klasēm ir nozīme tikai tad, ja programmēšanas valoda atbalsta mantošanu (spēja izveidot apakšklases, paplašinot klasi). Abstraktās klases parasti attēlo abstraktu jēdzienu vai entītiju ar daļēju vai bez ieviešanas. Tāpēc abstraktās klases darbojas kā vecāku klases, no kurām tiek iegūtas bērnu klases, lai bērnu klasei būtu kopīgas vecāku klases nepilnīgās iezīmes, un to pabeigšanai var pievienot funkcionalitāti.
Abstraktās klasēs var būt abstraktas metodes. Apakšklases, kas paplašina abstraktu klasi, var ieviest šīs (pārmantotās) abstraktās metodes. Ja bērnu klase īsteno visas šādas abstraktās metodes, tā ir konkrēta klase. Bet, ja tā nenotiek, bērnu klase kļūst arī par abstraktu klasi. Tas viss nozīmē to, ka tad, kad programmētājs izvirza klasi kā abstraktu, viņa saka, ka klase būs nepilnīga un tajā būs elementi, kas jāpabeidz mantotajām apakšklasēm. Tas ir jauks veids, kā izveidot līgumu starp diviem programmētājiem, kas vienkāršo uzdevumus programmatūras izstrādē. Programmētājam, kurš raksta kodu, lai iegūtu mantojumu, precīzi jāievēro metožu definīcijas (bet, protams, tai var būt sava ieviešana).
Kas ir saskarne?
Saskarne ir abstrakts veids, ko izmanto, lai norādītu līgumu, kas būtu jāievieš klasēm, kuras ievieš šo saskarni. Interfeisa atslēgvārds tiek izmantots, lai definētu saskarni, un Implements atslēgvārds tiek izmantots, lai interfeisu ieviestu pēc klases (Java programmēšanas valodā). Parasti saskarnē būs tikai metodes paraksti un nemainīgas deklarācijas. Jebkurai saskarnei, kas ievieš konkrētu saskarni, būtu jāīsteno visas saskarnē definētās metodes vai tā būtu jādeklarē kā abstrakta klase. Java valodā objekta atsauces tipu var definēt kā interfeisa tipu. Bet šim objektam jābūt vai nu nulles vērtībā, vai arī tam ir jābūt klases objektam, kas īsteno šo konkrēto saskarni. Izmantojot Java Java atslēgvārdu, vienā klasē varat ieviest vairākas saskarnes.
Kāda ir atšķirība starp abstrakto klasi un saskarni?
Abstraktās klases parasti attēlo abstraktu jēdzienu vai entītiju ar daļēju vai bez ieviešanas. No otras puses, interfeiss ir abstrakts veids, ko izmanto, lai norādītu līgumu, kas būtu jāievieš pa klasēm. Abstraktām klasēm vajadzētu būt iedzimtām (vai paplašinātām), savukārt saskarnes būtu jāievieš. Abstraktās klasēs var būt abstraktas metodes, bet saskarnē - tikai abstraktas metodes. Abstraktās klasēs var būt jebkurš mainīgais, bet saskarnes var definēt tikai konstantes. Klase nevar mantot no vairāk nekā vienas abstraktas klases, bet var ieviest vairākas saskarnes. Interfeiss nevar ieviest citu saskarni. Tomēr interfeiss var paplašināt klasi.
Ieteicams:
Atšķirība Starp USPS Pirmo Klasi Un Prioritāti
USPS pirmā klase un prioritāte Viena atšķirība starp USPS pirmo klasi un prioritāti ir ilgums, kas nepieciešams preces piegādei. USPS ir saīsinājums, ka sv
Atšķirība Starp Abstrakto Klasi Un Mantojumu
Abstraktā klase pret mantojumu Abstraktā klase un mantojums ir divi svarīgi objektorientēti jēdzieni, kas sastopami daudzās objektorientētās programmēšanas valodās
Atšķirība Starp Virtuālo Un Abstrakto
Virtuāls un abstrakts Virtuāls un abstrakts ir divi atslēgvārdi, kas tiek izmantoti lielākajā daļā objektorientēto (OO) programmēšanas valodu, piemēram, Java un C #. Lai gan ir s
Atšķirība Starp Mantojumu Un Saskarni Java
Galvenā atšķirība - mantojums pret saskarni Java Java ir programmēšanas valoda, kuru izstrādājusi Sun Microsystems. Java var izmantot dažādu lietojumprogrammu izstrādei
Atšķirība Starp Biznesa Klasi Un Pirmo Klasi
Biznesa klase pret pirmo klasi Atšķirība starp biznesa klasi un pirmo klasi ir ļoti interesanta joma, kas jāzina, kad vēlaties lidot ar komfortu. Busins