KompjûtersProgramming

Eleminten fan Java foarwerp model: in abstrakt klasse, in ynterface

De wichtichste idee fan de abstrakte klasse wurdt opnommen yn de folgjende stellingen: soms fereasket gjin Cooking klassen, en yn "wiet" foarm. Sokke blanks kinne net streekrjocht brûkt (instantiate).

Wat is in abstrakt klasse yn Java

Betink in oar foarbyld. Der is in Java Abstract klasse Calendar yn Java.util pakket. It hat gjin útfiere in spesifyk kalinder, dy't brûkt wurdt, bygelyks, in West- en East-Jeropa, Sina, Noard Korea, Tailân, ensfh Mar it hat wol in protte brûkbere funksjes, lykas it taheakjen fan in pear dagen nei in spesifike datum: .. Dy funksjes binne nedich foar eltse kalinder fan útfiering. It is ûnmooglik om produsearje in kopy fan 'e abstrakte klasse.

Abstrakte klassen, abstrakte Java metoade

Stel jo wolle ûntwikkelje meardere grafyske eleminten, bgl, geometryske foarmen: .. In sirkel, rjochthoeke, stjer, ensfh En der is in bak dat lûkt har. Elts ûnderdiel fan it uterlik oars is, sadat de geskikte metoade (ek as it hjit ferve) wurdt útfierd oars. Mar, eltse component hat in protte oerienkomsten: .. De figuer opnommen wurde yn it fak meie hawwe in kleur om te wêzen sichtber en ûnsichtber, ensfh Mei oare wurden, moatte jo meitsje in âlder klasse foar alle fan dizze figueren, dêr't elke ûnderdiel sil ervje de algemiene eigenskippen. Mar hoe sit it it verf metoade? Ommers, de âlder klasse is gjin fisuele fertsjintwurdiging. As jo ferklearje in ferve metoade yn elke klasse selsstannich, dan sil it nedich wêze om te analysearjen hokker komponint wurdt ferwurke, en dan útfiere de cast. Dêrom, de metoade moat ferklearre abstrakt yn de âlder klasse: de metoade set de titel sûnder lichem. In lichem fan elk ôflate klasse sil beskriuwe syn eigen. Yn Java, in abstrakt klasse kinne jo de abstrakte metoaden.

As in klasse hat abstrakte metoaden, de klasse is abstrakt. Foardat it wurd klasse sette it kaaiwurd abstrakte, de titel fan 'e metoade - te. Nei de titel fan sa'n metoade is needsaaklik om te setten in puntkomma. In Java, in abstrakt klasse kin net produsearje kopyen. As wy wolle te ferbieden har skepping, sels as der gjin abstrakte metoaden fan 'e klasse, de klasse kin ferklearre abstrakt. Mar as de klasse hat op syn minst ien Abstract metoade, de klasse moat wêze abstrakt. It is ûnmooglik om klasse wie en abstrakte is, en lêste, en de metoade ek. De metoade kin net wêze abstrakt, privee, statyske, native. Om subklasse men koe ferklearje net-abstrakte en instantiate, se moatte útfiere alle abstrakte metoaden fan 'e âlder. De klasse sels brûke kinne har abstrakte metoaden.

foarbyld:

  • abstrakt klasse AClass {
  • iepenbiere Abstract void metoade (INT a) ;
  • }
  • klasse BClass extends AClass {
  • iepenbier void metoade (INT a) {
  • // body
  • }

Tastiene fariabelen lykas abstrakte klasse. Se kin ferwize nei in net-abstrakte bern fan dy klasse of wêze null.

Ynterfaces yn Java - in alternatyf foar meardere erfskip

Yn Java, der is gjin meardere erfskip, want dan binne der bepaalde problemen. De klasse kin net ervje út ferskate klassen. Mar hy kin útfiere meardere grinsflakken.

Java Schnittstellen en abstrakte klassen - de begripen binne lyksoartige, mar net gelyk. De ynterface kin ferklearre wurde as publyk, dan is it beskikber foar alle, of jo kinne omit de modifikaasjekaai publyk, dan is de ynterface is beskikber allinne binnen syn pakket. Abstract keyword is net fereaske, omdat de ynterface en sa is abstrakt, mar jo kinne opjaan.

An ynterface ferklearring

It begjint mei in koptekst, en miskien earst nei it kaaiwurd publyk, dan - wurd ynterface. Dan kin in wurd wreidet en oerdracht Schnittstellen, dêr't urven dit. It is net tastien om te werhelje, en it is ûnmooglik om te foarmjen Cyclische ferhâlding fan it erfskip relaasje. Dan komt de ynterface lichem, ynsletten yn curly in beugel. Yn it lichem fan de ynterface eleminten wurde ferklearre: Field konstanten en abstrakte metoaden. Alle fjilden binne iepenbier finale static - al dizze modifikaasjetoets is binne net nedich. Alle metoaden wurde beskôge as iepenbier abstrakte - dy modifikaasjetoets is ek spesifisearre wurde. No, genôch wurdt sein oer de ferskil tusken in abstrakt klasse fan de Java ynterface.

  • iepenbiere interface AI extends B, C, D {
  • // body
  • }

Om ferklearje in klasse interface erfgenamt, moatte gebrûk meitsje fan de keyword ark:

  • klasse AClass fiert BI, CI, DI {}

Dat is, as nei de klasse ferklearring ymplemintearret wurdt ynterfaasje namme, syn klasse ark. Erfgenamten fan dizze klasse krijt syn eleminten, sadat se ek ferkeapje it.

Fariabelen fan in ynterface type wurdt ek tastien. Se kin ferwize nei in soarte fan 'e klasse dy't fiert dizze ynterface, of null. Sokke fariabelen hawwe alle eleminten fan it objekt klasse, omdat de objekten wurde generearre troch klassen, en hja, yn beurt, ôfliede út de Object klasse.

Yn dit artikel, wy besprutsen guon eleminten fan Java object model - abstrakte klassen, abstrakte metoaden ynterface.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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