Mga computerProgramming

Mga elemento ng Java object modelo: isang abstract klase, isang interface

Ang pangunahing ideya ng mga mahirap unawain klase ay nilalaman sa mga sumusunod na theses: minsan hindi nangangailangan ng mga cooking classes, at sa "wet" form. Ang ganitong mga blangko ay hindi maaaring direkta na ginagamit (halimbawa).

Ano ang isang mahirap unawain klase sa Java

Isaalang-alang ang isa pang halimbawa. May ay isang Java abstract klase Calendar sa java.util pakete. Hindi ito ipatupad ang isang tiyak na kalendaryo, na kung saan ay ginagamit, halimbawa, sa Western at Silangang Europa, China, North Korea, Taylandiya, atbp Ngunit ito ay may maraming mga kapaki-pakinabang na mga tampok, tulad ng pagdaragdag ng ilang araw sa isang tiyak na petsa: .. Ang mga function ay kinakailangan para sa anumang kalendaryo ng pagpapatupad. Imposibleng upang makabuo ng isang kopya ng abstract class.

Abstract klase, abstract Java pamamaraan

Ipagpalagay na nais mong bumuo ng maramihang mga graphical na mga elemento, hal, geometric na hugis: .. Isang bilog, parihaba, bituin, atbp At doon ay isang lalagyan na kung saan ay nakakakuha ng mga ito. Ang bawat bahagi ng ang hitsura ay naiiba, kaya ang naaangkop na paraan (kahit na ito ay tinatawag na pintura) ay ipinatupad sa ibang paraan. Gayunman, ang bawat component ay maraming pagkakatulad: .. figure ay dapat na kasama sa kahon ay maaaring magkaroon ng isang kulay na nakikita at di-nakikita, at iba pa Sa ibang salita, kailangan mong lumikha ng isang magulang klase para sa lahat ng mga numero, na kung saan ang bawat bahagi ay walang bahagi sa pangkalahatang katangian. Ngunit ano ang tungkol sa mga pamamaraan sa pintura? Pagkatapos ng lahat, ang mga magulang klase ay walang visual na representasyon. Kung ipinapahayag mo ang isang pamamaraan pintura sa bawat klase nang nakapag-iisa, ito ay kinakailangan upang pag-aralan kung ano ang mga bahagi na ay na-proseso, at pagkatapos ay isagawa ang cast. Samakatuwid, ang paraan ay dapat na ipinahayag abstract sa klase ng magulang: ang paraan itakda ang pamagat nang walang isang katawan. Ang isang katawan ng bawat nagmula klase ay maglalarawan sa kanyang sarili. Sa Java, isang mahirap unawain klase ay maaaring pumasok sa abstract pamamaraan.

Kung ang isang klase ay mahirap unawain pamamaraan, ang klase ay abstract. Bago ang salitang klase ilagay ang mga keyword abstract, ang pamagat ng ang paraan - masyadong. Matapos ang pamagat ng tulad ng isang pamamaraan ay kinakailangan upang ilagay ang isang tuldok-kuwit. Sa Java, isang mahirap unawain klase ay hindi maaaring makabuo ng mga kopya. Kung gusto naming i-ban ang kanilang paglikha, kahit na walang abstract paraan ng klase, ang klase ay maaaring ipinahayag abstract. Ngunit kung ang klase ay may hindi bababa sa isang abstract na paraan, ang klase ay dapat na abstract. Imposibleng klase ay at abstract ay, at huling, at ang paraan ng masyadong. Ang pamamaraan ay hindi maaaring maging abstract, pribado, static, katutubong. Subclass isa makapagpahayag non-abstract at magbigay ng halimbawa, dapat silang ipatupad ang lahat ng abstract pamamaraan ng magulang. Ang klase mismo ay maaaring gumamit nito abstract pamamaraan.

halimbawa:

  • abstract klase AClass {
  • pampublikong abstract void method (int a) ;
  • }
  • klase BClass umaabot AClass {
  • pampublikong magpawalang-bisa method (int a) {
  • // katawan
  • }

Allowed mga variable tulad ng abstract class. Maaari silang mag-refer sa isang non-abstract anak ng klase na iyon o maging null.

Interface sa Java - isang alternatibo sa maramihang inheritance

Sa Java, walang maramihang inheritance, dahil pagkatapos ay may mga tiyak na mga problema. Ang isang klase ay hindi maaaring magmana mula sa ilang mga klase. Ngunit maaari niyang ipatupad ng maramihang mga interface.

Java interface at abstract mga klase - ang konsepto ay pareho, ngunit hindi magkapareho. Ang interface ay maaaring ipinahayag bilang pampublikong, pagkatapos ito ay magagamit sa lahat, o maaari mong alisin ang modifier pampublikong, pagkatapos ay ang interface ay magagamit lamang sa loob ng package. Abstract keyword ay hindi kinakailangan, dahil ang interface at sa gayon ay mahirap unawain, ngunit maaari mong tukuyin.

Isang deklarasyon interface

Nagsisimula ito sa isang header, at maaaring pumunta muna sa keyword publiko, at pagkatapos ay - salitang interface. Pagkatapos doon ay maaaring maging isang salita ay umaabot at transfer interface, mula sa kung saan nagmana ito. Hindi ito pinapayagan upang ulitin, at ito ay imposible upang bumuo ng isang cyclic ratio ng inheritance relasyon. Pagkatapos ay dumating ang interface katawan, nakakulong sa mga curly braces. Sa katawan ng elemento ng interface ay nagpahayag: Field constants at abstract pamamaraan. Lahat ng mga patlang ay pampubliko pangwakas na static - lahat ng mga modifier ay hindi kinakailangan. Ang lahat ng mga pamamaraan ay itinuturing na pampublikong abstract - mga modifier din ay maaaring tinukoy. Ngayon, sapat na ang sinabi tungkol sa pagkakaiba sa pagitan ng isang mahirap unawain klase mula sa interface ng Java.

  • pampublikong interface AI nagpalawak B, C, D {
  • // katawan
  • }

Idedeklara isang klase interface tagapagmana, kailangan mong gamitin ang keyword ipinapatupad:

  • klase AClass nagpapatupad BI, CI, DI {}

Iyon ay, kung pagkatapos ng klase deklarasyon nagpapatupad tinukoy na pangalan ng interface, ang mga klase nagpapatupad. Tagapagmana ng klase na ito ay makakakuha ng kanyang mga sangkap, kaya sila rin nagbebenta ng mga ito.

Variable ng isang i-type ang interface ay din pinapayagan. Maaari silang sumangguni sa isang uri ng klase na nagpapatupad ng interface na ito, o null. Ang nasabing mga variable mayroon ng lahat ng mga elemento ng Object klase, dahil ang mga bagay ay nabubuo sa pamamagitan klase, at sila, sa pagliko, kunin mula sa Object klase.

Sa artikulong ito, kami ay tinalakay ang ilang mga elemento ng Java object modelo - abstract mga klase, abstract pamamaraan interface.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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