Salīdzinājuma diagrammas
Salīdzinājuma pamats | Paplašinās | Īsteno |
---|---|---|
Pamata | Paplašinātais atslēgvārds tiek izmantots, lai izveidotu apakšklasi, izmantojot super klases funkcijas. | Darbarīka atslēgvārds tiek izmantots saskarnes ieviešanai |
Metodes | Paplašinātais atslēgvārds nedrīkst ignorēt visas super klases metodes. | Atslēgvārdam ir jāīsteno visas realizētās saskarnes metodes. |
Klase | Klase var paplašināt tikai vienu super klasi. | Klase var īstenot vairākas interfeisus. |
Saskarne | Saskarne var paplašināt vairāk nekā vienu interfeisu. | Saskarne nevar īstenot citu saskarni. |
Atslēgvārda paplašināšana
Mantojums, kas ir svarīgs objekta orientētas programmēšanas jēdziens, tiek sasniegts, ja apakšklase paplašina vēl vienu klasi. Apakškategorijai ir atļauts paplašināt tikai vienu klasi. Klase nekad nevar paplašināt vairāk nekā vienu super klasi Java. Ja klase paplašina citu klasi, tā var ignorēt superklases definētās metodes. Ļaujiet mums saprast atslēgvārdu, izmantojot piemēru.
A klase {String s; A (String s1) {s = s1; } // parādīt virknes tukšumu displeju () {System.out.println (+ s); }} B klase paplašina A {String i; B (String s1, String i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * A klases displejs (), uz kuru atsaukts. * / System.out.println (+ i); }} klase Pārslēgt {public static void main (String args []) {B ob = new B (Tech, atšķirības); ob.display (); / * B klases izsaukums * /}} / * out * / Tech atšķirības
Iepriekš minētajā kodā jūs varat novērot, ka B klasei ir paplašināta A klase un ir pārspīlēta A klasē definētā metodi (). Līdzīgi interfeiss vienlaikus var paplašināt vairāk nekā vienu interfeisu. Tā kā interfeisam nav jāīsteno jebkura paplašinātās saskarnes metode, ir atļauts vienlaikus mantot vairākas saskarnes.
Darbarīku atslēgvārdu definīcija
Izmantojot atslēgvārdu rīkus, klase mantos visas saskarnes metodes. Ja klase īsteno interfeisu, šai klasei jāīsteno visas realizētās saskarnes metodes. Interfeiss nekad nevar īstenot citu saskarni, jo atslēgvārdu īstenošana paredz metožu ieviešanu, bet interfeiss tajā nekad neīsteno metodes, tāpēc interfeisam nav iespējams ieviest citu saskarni. Ļaujiet mums, izmantojot piemēru, saprast īstenojamo atslēgvārdu.
interfeisa virknes {void display (String s); } interfeiss vesels skaitlis {void show (int i); } klases Demo īsteno virknes, vesels skaitlis {void show (int i) {System.Out.Println ("vesels skaitlis:" + i); } void display (String s) {System.Out.Println ("string vērtība:" + s); }} klase Demo_main {public static void main (virkne args []) {Demo d = jauna demo (); d.display ("TechDifferences"); d.show (2); }} / * izvade * / tehniskās atšķirības 2
Kā redzams iepriekš minētajā kodā, redzams, ka klases demo ievieš divas saskarņu virknes un veselu skaitli un ir ieviesis metodes, kas deklarētas gan saskarnēs, kas ir displejs (), gan parādīt ().
Galvenās atšķirības starp paplašinājumiem un darbarīkiem
- Klase var mantot citu klasi, vai interfeiss pārmanto citas saskarnes, izmantojot atslēgvārdu, bet klasē var ieviest saskarnes, izmantojot atslēgvārdu rīkus.
- Apakšklase, kas paplašina superklasi, var ignorēt visas metodes, kas ir iekļautas augstākās klases klasē. No otras puses, klasei, kas ievieš saskarni, jādefinē / jāīsteno visas šīs saskarnes metodes.
- Viena klase var vienlaikus izmantot jebkuru interfeisa numuru. No otras puses, klase var paplašināt tikai vienu super klasi.
- Saskarne var paplašināt jebkuru saskarņu skaitu, bet interfeiss nekad nevar īstenot nevienu citu saskarni, jo īstenošanas līdzekļi, kas definē metodes un saskarni, vienmēr ir abstrakti, tāpēc interfeiss nekad nevar īstenot citu saskarni.
Secinājums:
Noslēdzu diskusiju, sakot, ka saskarnes ieviešana padara kodu elastīgāku nekā klases paplašināšana. Tā kā tas novērš ierobežojumu, ka Java var pārmantot tikai vienu super klasi. Izmantojot atslēgvārdu, klase var mantot vairāk nekā vienas saskarnes funkcijas.