ArvutidProgrammeerimine

Elemendid Java objekti mudel: abstraktne klass, liides

Peamine idee abstraktse klassi sisaldub järgmine teesid: mõnikord ei nõua toiduvalmistamise tunnid ja "märg" abil. Sellised toorikud ei saa otseselt kasutatud (algväärtustan).

Mis on abstraktne klass Java

Mõtle teine näide. On Java abstraktse klassi Calendar java.util paketi. See ei rakendama konkreetset kalender, mida kasutatakse näiteks Lääne- ja Ida-Euroopa, Hiina, Põhja-Korea, Tai, jne Aga see on palju kasulikke omadusi, nagu lisades paar päeva kindlal kuupäeval: .. Need funktsioonid on vajalikud mis tahes kalender rakendamise. On võimatu toota koopia abstraktse klassi.

Abstraktsed klassid, abstraktse Java meetodid

Oletame, et soovite arendada mitu graafilisi elemente, näiteks geomeetrilised kujundid: .. ringiga, ristkülik, star, jne Ja seal on konteiner, mis juhib neid. Iga komponent välimus on erinev, nii et sobiva meetodi (isegi kui seda nimetatakse värvi) rakendatakse erinevalt. Kuid iga komponendi on palju sarnasusi: .. Joonisel tuleks lisada kasti võib olla värvi nähtav ja nähtamatu, jne Teisisõnu, teil on vaja luua vanema klassi kõik need arvud, kus iga osa pärivad üldised omadused. Aga värv meetod? Lõppude lõpuks, vanema klassi ole visuaalne esitus. Kui te kuulutada värvi iga meetodi klassi sõltumatult, siis tuleb analüüsida, mida komponendi töödeldakse ja seejärel täita valatud. Seetõttu tuleb meetodi deklareeritud abstraktsed vanema klassi nimetatud meetod pealkirjas ilma keha. Asutust iga tuletatud klassi kirjeldada oma. Java, abstraktne klass saab sisestada abstraktseid meetodeid.

Kui klassis on abstraktseid meetodeid, klass on abstraktne. Enne sõna klassi panna märksõna abstraktne, pealkiri meetod - liiga. Pärast pealkiri selline meetod on vaja panna semikooloniga. Java, abstraktne klass ei saa toota koopiaid. Kui me tahame keelata nende loomist, isegi kui ei ole abstraktseid meetodeid klassi, klass võib kuulutada abstraktne. Aga kui klassis on vähemalt üks abstraktne meetod, klassi peab olema abstraktne. On võimatu klass oli ja abstraktne on ja lõplik ning meetod liiga. Meetod ei saa abstraktselt, era-, staatiline, native. Alaklassile võiks kuulutada mitte abstraktne ja algväärtustan, peavad nad rakendama kõiki abstraktseid meetodeid vanema. Klassi ise võib kasutada oma abstraktseid meetodeid.

näiteks:

  • abstraktse klassi Aclass {
  • avaliku abstraktne void meetod (int a) ;
  • }
  • Soodsaim BClass sirutub Aclass {
  • public void meetod (int a) {
  • // keha
  • }

Lubatud muutujad nagu abstraktne klass. Nad võivad viidata mitte abstraktne laps selle klassi või olla null.

Liidesed Java - alternatiiv mitmeid pärandist

Java ei ole mitmeid pärandist, sest siis on teatud probleeme. Klassi ei saa pärida mitu klassi. Aga ta saab rakendada Mitme liidesega.

Java liidesed ja abstraktsed klassid - mõisted on sarnased, kuid mitte identsed. Kasutajaliides võib deklareeritud avaliku, siis on kättesaadav kõigile, või saate jätta teisendaja avalikkuse siis kasutajaliides on saadaval ainult pakendist välja. Abstract märksõna ei nõuta, sest liides ja nii on abstraktne, kuid saate määrata.

Liides deklaratsiooni

See algab kaudu ja võib minge esmalt märksõna avaliku, siis - sõna liides. Siis saab sõna ulatub ja üleandmise liidesed, millest päritud seda. Ei ole lubatav korrata, ning on võimatu, moodustades tsüklilise suhe päritavuse suhe. Siis tuleb liides keha, suletud looksulg. Kehas liidese elemendid on deklareeritud: Field konstantide ja abstraktseid meetodeid. Kõik väljad on avaliku lõplik staatiline - kõik need modifikaatoreid ei ole vajalik. Kõik meetodid peetakse avaliku abstraktne - need modifikaatoreid ka võimalik täpsustada. Nüüd piisavalt räägitakse vahe abstraktne klass Java liides.

  • avaliku liidese AI ulatub B, C, D {
  • // keha
  • }

Tunnistada klassi liides pärija, tuleb kasutada märksõna riistu:

  • Soodsaim Aclass rakendab BI CI DI {}

See tähendab, et kui pärast klassi deklaratsiooni rakendab kindlaksmääratud liides nimi, oma klassi rakendab. Pärijad Selle klassi saab oma elemendid, et nad müüvad ka seda.

Muutujad liidese tüüpi samuti lubatud. Nad võivad viidata tüüpi klassi, kes rakendab käesoleva liidest või null. Sellised muutujad on kõik elemendid Objekti klassi, sest objektid on loodud klasside ja nad omakorda tulenevad Objekti klassi.

Selles artiklis me arutada mõningaid elemente Java objekti mudeli - abstraktsed klassid, abstraktseid meetodeid liides.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.atomiyme.com. Theme powered by WordPress.