Java / pavasaris - mantojuma, polimorfisma un atkarības injekcija

Satura rādītājs
Mēs apskatīsim 2 Java programmēšanas jēdzienus (Mantojums Y Polimorfisms), lai sagatavotu mūs, lai saprastu progresīvāku jēdzienu, ko sauc Atkarības injekcija kas ir raksturīgs tādām sistēmām kā pavasaris un hibernācija, kuras mūsdienās parasti izmanto un par kurām mēs runāsim turpmākajās apmācībās.
Nē, tas neattiecas uz tiem miljoniem, ko tavs bagātais tēvocis atstāja tev, kad viņš beidzot nomira, tas ir tipisks Java programmēšanas jēdziens un sastāv no “mantošanas” laukiem un metodēm, kas pieder superklase ietvaros a apakšklase.
Mantojuma pamati:
  • Tiek saukta klase, kas iegūta no citas klases apakšklase (vai paplašināta klase, meitas klase vai atvasinātā klase). Arī tās klase apakšklase tiek atvasināts superklase (arī bāzes klase vai vecāku klase). Visā šajā apmācībā un turpmākajās apmācībās es izmantošu terminus apakšklase Y superklase.
  • Speciāli Java, izņemot klasi Objekts, VISAS klases pārmanto tieši VIENAM superklase (vienkārša mantošana). Gadījumā, ja virsklase nav skaidri definēta, katra klase manto netieši no klases Objekts.
  • Klase var mantot no citas klases, kas manto no citas klases, kas manto no citas klases, līdz mantošanai no klases Objekts, tad saka, ka minētā klase "nolaižas" no visām hierarhijas klasēm uz klasi Objekts.
Mēģināsim to vienkāršot ar piemēru:
Pieņemsim, ka mantojuma paketē ir šādas 3 klases:
 pakešu mantojums; publiskās klases Suns {private int numberOfLegs; privāta String matu krāsa; privāts stīgu skrējiens; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = skaitsOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = matu krāsa; } public String getRace () {atgriešanās sacensības; } public void setRace (Stīgu skrējiens) {this.race = race; } public void miza () {System.out.println ("Suns iet WOW"); }} 

 pakešu mantojums; publiskās klases Kaķis {private int numberOfLegs; privāta String matu krāsa; privāts stīgu skrējiens; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = skaitsOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = matu krāsa; } public String getRace () {atgriešanās sacensības; } public void setRace (Stīgu skrējiens) {this.race = race; } public void meow () {System.out.println ("Kaķis dara MEOW"); }} 

 pakešu mantošana; publiskās klases zirgs {private int numberOfLegs; privāta String matu krāsa; privāts stīgu skrējiens; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = skaitsOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = matu krāsa; } public String getRace () {atgriešanās sacensības; } public void setRace (Stīgu skrējiens) {this.race = race; } public void kaimiņš () {System.out.println ("Zirgs dara IIIIGGGHHHH"); }} 

Var redzēt, ka 3 klases ģenerē 3 dažāda veida objektus, bet ar vairākām līdzīgām īpašībām, patiesībā tās ir pilnīgi vienādas, izņemot mizas, ņaudēšanas un kaimiņu metodes. Tāpēc, izmantojot mantojuma jēdzienu, būtu lietderīgi pārrakstīt a superklase un mainīt katru apakšklase lai viņi pievienotu tikai atbilstošo metodi šādi:
[krāsa = # a9a9a9]1[/Krāsa]
Mēs izveidojam superklase Dzīvnieks:
 pakešu mantošana; public class Animal {private int numberOfLegs; privāta String matu krāsa; privāts stīgu skrējiens; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = skaitsOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = matu krāsa; } public String getRace () {atgriešanās sacensības; } public void setRace (Stīgu skrējiens) {this.race = race; }} 

[krāsa = # a9a9a9]2 [/Krāsa]
Mēs mainām 3 apakšklases esošos, lai mantotu no dzīvnieku klases (izmantojot atslēgvārdu "paplašina") un vienkārši pievienojiet vienu metodi:
 pakešu mantojums; publiskās klases suns paplašina dzīvnieku {public void miza () {System.out.println ("Suns iet WOW"); }} 

 pakešu mantojums; publiskā klase Kaķis paplašina Dzīvnieks {public void meow () {System.out.println ("Kaķis dara MEOW"); }} 

 pakešu mantošana; publiskās klases zirgs paplašina dzīvnieku {public void kaimiņš () {System.out.println ("Zirgs dara IIIIGGGHHHH"); }} 

Tādā veidā mēs kulminācijas tēmu "Mantojums" Java, drīzumā mēs turpināsim ar jēdzienu "polimorfisms", kas ir cieši saistīts ar "Mantojumu" un palīdzēs mums saprast "atkarības injekcijas" jēdzienu, lai sāktu saprast Ietvars "Pavasaris".
Neaizmirstiet atstāt savus komentārus līdz nākamajai reizei!Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave