Java - diferența dintre extinde și pune în aplicare exemplele

După o programare de lungă durată în C ++ pentru a trece la Java este dureros. Pe de o parte, colectorul de gunoi glorificat, iar pe de altă parte un mare număr de diferențe fundamentale în abordarea programării. Astăzi vă voi spune despre o astfel de detalii de contrast.

Vom vorbi despre moștenire în Java. Spre deosebire de C ++, în cazul în care ar putea fi moștenire multiplă, aici nu este așa. În plus, sintaxa familiară prin „:“ se înlocuiește cu la fel de mult ca două cuvinte cheie: se extinde și pune în aplicare. Voi începe cu primul.

Extinde cuvinte cheie în Java

Un cuvânt cheie este exact la fel cu traducerile sale, o clasă extinde alta, este o moștenire clasică. Reguli domenii vizibilitate și practici sunt păstrate: sunt disponibile numai în clasă, protejată în clasă și în toate mostenitori metodele publice și câmpurile pot fi accesate de oriunde privat. Diferența principală din moștenirea „sishnogo“, care se poate extinde doar o singură clasă. Nu am de gând să vorbesc despre modul în care este convenabil, pot spune doar că, cu moștenire multiplă în C ++ în mod constant a fost creat unele terci.

Un mic exemplu de moștenire folosind cuvântul cheie se extinde. Scrieți o ușă de clasă, care va descrie caracteristicile ușii, putem crea un obiect al acestei clase și să lucreze cu el ca „doar o ușă.“ Pe de altă parte, două clase scrie: IronDoor și WoodDoor, care se va extinde ușa clasei (usi == moștenit de la clasa), adică adăuga caracteristicile lor la baza.

Implementează cuvinte cheie în Java

Cu uneltele de cuvinte cheie este legat de un pic mai multe trucuri. Cuvântul „pune în aplicare“ poate fi înțeleasă ca o „vinde“, dar chiar în momentul în care există cuvântul „pune în aplicare“, undeva în apropiere există interfețe. Deci, clasa publică uși implementează un design cu posibilitate de deschidere înseamnă că clasa implementează ușa de interfață „se deschide“. În consecință clasă trebuie să suprascrie toate metodele de interfață. Caracteristica principală este că puteți pune în aplicare orice număr de interfețe.

De ce o fac? Cel mai simplu exemplu care vine în minte, două interfețe: Closeble și cu posibilitate de deschidere. Prima metodă este metoda deschisă, atât de aproape în al doilea. Acestea vor ajuta la predarea ușa noastră deschide și închide.

Clasele de descendenți (uși de oțel și uși din lemn), de asemenea, a existat o metodă de a deschide / închide, uși puse în aplicare în sala de clasă. Dar nimeni nu le putem interzice să suprascrie.

concluzie

Deci, principala diferență este că se extinde este utilizat pentru a moșteni dintr-o clasă în adevăratul sens al cuvântului, și pune în aplicare vă permite să „pună în aplicare o interfață.“ La prima vedere, se pare ciudat, incomod și confuz, dar este în valoare de câteva ori pentru a utiliza în scopul propus și totul se încadrează în loc. În prezent, am totul, vă mulțumesc pentru atenție!