KompjutersIpprogrammar

Elementi ta 'Java mudell oġġett: klassi astratt, interface

L-idea prinċipali tal-klassi astratt tinsab fil-teżijiet li ġejjin: kultant teħtieġ l-ebda klassijiet tisjir, u fil- "wet" formola. Tali blanks ma jistgħux jintużaw direttament (instantiate).

X'inhu klassi astratt fl Java

Ikkunsidra eżempju ieħor. Hemm huwa Java klassi astratt Kalendarju f'pakkett Java.util. Hija ma jimplimentax kalendarju speċifiku, li huwa użat, per eżempju, fil-Punent u tal-Lvant, iċ-Ċina, il-Korea, it-Tajlandja, eċċ Imma hi ma jkollhiex karatteristiċi utli ħafna, bħal żieda ftit jiem sa data speċifika: .. Dawn il-funzjonijiet huma meħtieġa għal kull kalendarju ta 'implimentazzjoni. Huwa impossibbli li tiġi prodotta kopja tal-klassi astratt.

klassijiet Astratt, metodi Java astratti

Ejja ngħidu li inti tixtieq li tiżviluppa elementi grafiċi multipli, eż, forom ġeometriċi: .. Ċirku, rettangolu, stilla, eċċ U hemm kontenitur li jiġbed minnhom. Kull komponent tat-dehra huwa differenti, għalhekk il-metodu xieraq (anki jekk huwa msejjaħ żebgħa) hija implimentata b'mod differenti. Madankollu, kull komponent għandha ħafna tixbihat: .. Il-figura għandhom jiġu inklużi fil-kaxxa jista 'jkollhom kulur li tkun tidher u inviżibbli, eċċ Fi kliem ieħor, inti għandek bżonn li jinħoloq klassi ġenitur għal kulħadd ta' dawn iċ-ċifri, fejn kull komponent se jirtu l-kwalitajiet ġenerali. Imma xi ngħidu dwar il-metodu żebgħa? Wara kollox, il-klassi ġenitur l-ebda rappreżentazzjoni viżiva. Jekk inti tiddikjara metodu żebgħa f'kull klassi indipendentement, se jkun meħtieġ li jiġu analizzati dak komponent tiġi pproċessata, u mbagħad iwettqu l-mitfugħa. Għalhekk, il-metodu għandu jiġi ddikjarat astratt fil-klassi ġenitur: il-metodu stabbilit it-titolu mingħajr ġisem. Korp ta 'kull klassi derivati se tiddeskrivi tiegħu stess. Fl Java, klassi astratt tista 'tidħol l-metodi astratti.

Jekk klassi jkollu metodi astratti, il-klassi hija astratt. Qabel il-klassi kelma tpoġġi l-keyword astratt, it-titolu tal-metodu - wisq. Wara t-titolu ta 'tali metodu huwa meħtieġ li jitqiegħed virgola. Fl Java, klassi astratt ma jistgħux jipproduċu kopji. Jekk irridu li jipprojbixxi ħolqien tagħhom, anke jekk m'hemm l-ebda metodi astratti tal-klassi, il-klassi tista 'tiġi ddikjarata astratta. Iżda jekk il-klassi jkollha metodu astratt mill-inqas wieħed, il-klassi jrid ikun astratt. Huwa impossibbli li klassi kien u astratt huwa, u finali, u l-metodu wisq. Il-metodu ma jistax ikun astratt, privati, statiku, indiġeni. Biex subklassi wieħed jista 'jiddikjara mhux astratti u instantiate, huma għandhom jimplimentaw metodi astratti kollha tal-ġenitur. Il-klassi innifsu jista 'juża metodi astratti tiegħu.

eżempju:

  • klassi astratt Aclass {
  • Metodu pubbliku null astratt (int a) ;
  • }
  • klassi BClass testendi Aclass {
  • Metodu null pubbliku (INT a) {
  • // korp
  • }

varjabbli permessi bħal klassi astratt. Huma jistgħu jirreferu għal tfal mhux astratt ta 'dik il-klassi jew tkun nulla.

Interfaces fl Java - alternattiva għall wirt multipli

Fl Java, m'hemm l-ebda wirt multipla, għaliex imbagħad hemm ċerti problemi. Klassi ma tistax jirtu minn diversi klassijiet. Imma hu jista timplimenta interface wieħed.

Java interfaces u l-klassijiet astratt --kunċetti huma simili, imma mhux identiċi. L-interface jista 'jiġi ddikjarat bħala pubbliku, allura huwa disponibbli għal kulħadd, jew tista' jħalli barra l-pubbliku modifikatur, allura l-interface huwa disponibbli biss fi ħdan pakkett tagħha. keyword astratta ma tkunx meħtieġa, minħabba li l-interface u għalhekk hija astratt, iżda inti tista 'tispeċifika.

Dikjarazzjoni ta Interface

Dan jibda b'daqqa ta 'ras, u jista ewwel imorru għall-pubbliku keyword, allura - interface kelma. Imbagħad jista 'jkun hemm kelma testendi u interfaces ta' trasferiment, li minnhom ntirtu dan. Mhuwiex permess li jirrepetu, u huwa impossibbli li jiffurmaw proporzjon ċikliku tar-relazzjoni wirt. Imbagħad jiġi l-korp interface, magħluqa ċineg kaboċċi. Fil-ġisem tal-elementi interface huma ddikjarati: kostanti Qasam u l-metodi astratt. L-oqsma kollha huma statiċi finali pubbliċi - kollha ta 'dawn modifikaturi mhumiex meħtieġa. Il-metodi huma meqjusa bħala astratt pubbliku - dawn modifikaturi wkoll jistgħu jiġu speċifikati. Issa, biżżejjed jingħad dwar id-differenza bejn klassi astratt mill-interface Java.

  • interface pubbliku AI testendi B, Ċ, D {
  • // korp
  • }

Tiddikjara interface eredi klassi, jeħtieġ li tuża l-għodod keyword:

  • klassi Aclass jimplimenta BI, CI, DI {}

Dan huwa, jekk wara d-dikjarazzjoni tal-klassi jimplimenta isem interface speċifikat, klassi jimplimenta tagħha. Werrieta ta 'din il-klassi gets elementi tagħha, u għalhekk huma wkoll jbigħuh.

Varjabbli ta 'tip interface huwa permess ukoll. Huma jistgħu jirreferu għal tip tal-klassi li jimplimenta din l-interfaċċa, jew nulli. varjabbli bħal dawn l-elementi kollha tal-klassi Għan, minħabba li l-oġġetti huma ġġenerati mill-klassijiet, u dawn, imbagħad, jirriżultaw mill-klassi Għan.

F'dan l-artikolu, aħna diskussi xi elementi ta 'Java mudell oġġett - klassijiet astratti, astratta metodi interface.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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