CalculatoareProgramare

Elemente de model de obiecte Java: o clasă abstractă, o interfață

Ideea principală a clasei abstracte este conținută în următoarele teze: uneori, nu necesită cursuri de gătit, și sub formă de „umed“. Astfel de spații libere nu pot fi folosite direct (instantierea).

Ce este o clasă abstractă în Java

Luați în considerare un alt exemplu. Există o clasă abstractă Java Calendar din pachetul java.util. Aceasta nu pune în aplicare un anumit calendar, care este utilizat, de exemplu, în Europa de Vest și Europa de Est, China, Coreea de Nord, Thailanda, etc Dar are multe caracteristici utile, cum ar fi adăugarea de câteva zile la o anumită dată: .. Aceste funcții sunt necesare pentru orice Calendarul de punere în aplicare. Este imposibil să se producă o copie a clasei abstracte.

clase abstracte, metode Java abstracte

Să presupunem că doriți să dezvolte mai multe elemente grafice, de exemplu, forme geometrice: .. Un cerc, dreptunghi, stele, etc. Și există un container care le atrage. Fiecare componentă a aspectului este diferit, astfel încât metoda potrivită (chiar dacă aceasta este numită vopsea) este pusă în aplicare în mod diferit. Cu toate acestea, fiecare componentă are multe asemănări: .. Cifra trebuie inclusă în cutie poate avea o culoare să fie vizibile și invizibile, etc. Cu alte cuvinte, trebuie să creați o clasă părinte pentru toate aceste cifre, în cazul în care fiecare componentă vor moșteni proprietățile generale. Dar ce putem spune despre metoda de vopsea? La urma urmei, clasa părinte nu este o reprezentare vizuală. Dacă declarați o metodă de vopsea în fiecare clasă, în mod independent, va fi necesar pentru a analiza ceea ce componenta este procesat, iar apoi efectuați distribuția. Prin urmare, metoda trebuie să fie declarată abstractă în clasa părinte: metoda stabilită titlul fără corp. Un corp din fiecare clasă derivată va descrie propria sa. În Java, o clasă abstractă poate introduce metode abstracte.

Dacă o clasă are metode abstracte, clasa este abstractă. Înainte de clasa cuvântul pus cuvântul cheie abstract, titlul metodei - prea. După titlul unei astfel de metode este necesară pentru a pune punct și virgulă. În Java, o clasă abstractă nu poate produce copii. Dacă vrem să interzică crearea lor, chiar dacă nu există nici metode abstracte ale clasei, clasa poate fi declarată abstractă. Dar dacă clasa are cel puțin o metodă abstractă, clasa trebuie să fie abstractă. Este imposibil de clasa a fost și abstractă este, și finală, și metoda prea. Metoda nu poate fi abstractă, privat, static, nativ. Subclasei ar putea declara non-abstracte și instanțiați, acestea trebuie să pună în aplicare toate metodele abstracte ale părintelui. Clasa se poate folosi metodele sale abstracte.

exemplu:

  • clasă abstractă ACLASS {
  • publice metoda void abstracte (int a) ;
  • }
  • class BClass extinde ACLASS {
  • void metoda publica (int a) {
  • // corp
  • }

variabile permise, cum ar fi clasa abstractă. Ele se pot referi la un copil non-abstract al acelei clase sau să fie nulă.

Interfețe în Java - o alternativă la moștenire multiplă

În Java, nu există nici o moștenire multiplă, pentru că atunci există anumite probleme. O clasă nu poate moșteni din mai multe clase. Dar el poate implementa mai multe interfețe.

interfețe Java și clase abstracte - conceptele sunt similare, dar nu identice. Interfața poate fi declarată ca publică, atunci este disponibilă tuturor, sau puteți omite publicul modificator, atunci interfața este disponibilă numai în cadrul pachetului său. Rezumat cuvânt cheie nu este necesară, deoarece interfața și așa este abstractă, dar puteți specifica.

O declarație de interfață

Acesta începe cu un antet, și poate merge mai întâi la dispoziția publicului de cuvinte cheie, apoi - interfața cuvânt. Apoi, poate exista un cuvânt se extinde și interfețele de transfer, de la care a moștenit acest lucru. Nu este permis să se repete, și este imposibil să se formeze un raport ciclic al relației moștenire. Apoi vine corpul de interfață, închise în acolade. În corpul elementelor de interfață sunt declarate: constante de câmp și metode abstracte. Toate campurile sunt publice statice finale - toate aceste modificatori nu sunt necesare. Toate metodele sunt considerate a fi abstracte publice - acești modificatori, de asemenea, pot fi specificate. Acum, se spune suficient despre diferența dintre o clasă abstractă din interfața Java.

  • publice interfață AI extinde B, C, D {
  • // corp
  • }

Pentru a declara o interfață de moștenitor clasă, trebuie să utilizeze uneltele de cuvinte cheie:

  • Clasa de ACLASS implementează BI, CI, DI {}

Adică, dacă după declarația de clasă implementează numele interfața specificată, uneltele sale de clasă. Moștenitorii acestei clase devine elementele sale, astfel încât acestea să-l vând, de asemenea.

Variabilele unui tip de interfață este, de asemenea, permisă. Ele se pot referi la un tip de clasa care implementează această interfață, sau nulă. Aceste variabile au toate elementele clasei Object, deoarece obiectele sunt generate de clase, iar ei, la rândul lor, provin din clasa Object.

În acest articol, am discutat unele elemente ale modelului de obiect Java - clase abstracte, interfață abstractă metode.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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