Diferența dintre clasa abstractă și moștenire

Cuprins:

Diferența dintre clasa abstractă și moștenire
Diferența dintre clasa abstractă și moștenire

Video: Diferența dintre clasa abstractă și moștenire

Video: Diferența dintre clasa abstractă și moștenire
Video: Embedded Systems Engineering VS Embedded Software Engineering 2024, Iulie
Anonim

Clasa abstractă vs moștenire

Clasa abstractă și Moștenirea sunt două concepte importante orientate pe obiecte găsite în multe limbaje de programare orientate pe obiecte, cum ar fi Java. Clasa abstractă poate fi considerată ca o versiune abstractă a unei clase obișnuite (concrete), în timp ce Moștenirea permite noilor clase să extindă alte clase. Clasa abstractă este o clasă care nu poate fi inițializată, dar poate fi extinsă. Deci, clasele abstracte sunt semnificative doar dacă limbajul de programare acceptă moștenirea. În Java, clasele Abstract sunt declarate folosind cuvântul cheie Abstract, în timp ce cuvântul cheie Extends este folosit pentru moștenirea dintr-o (super) clasă.

Ce este clasa abstractă?

De obicei, clasele abstracte, cunoscute și sub denumirea de clase de bază abstracte (ABC), nu pot fi instanțiate (o instanță a acelei clase nu poate fi creată). Deci, clasele abstracte sunt semnificative doar dacă limbajul de programare acceptă moștenirea (capacitatea de a crea subclase din extinderea unei clase). Clasele abstracte reprezintă de obicei un concept abstract sau o entitate cu implementare parțială sau fără implementare. Prin urmare, clasele abstracte acționează ca clase părinte din care sunt derivate clasele copil, astfel încât clasa copil va împărtăși caracteristicile incomplete ale clasei părinte și pot fi adăugate funcționalități pentru a le completa.

Clasele abstracte pot conține metode abstracte. Subclasele care extind o clasă abstractă pot implementa aceste metode abstracte (moștenite). Dacă clasa copil implementează toate aceste metode abstracte, este o clasă concretă. Dar dacă nu, clasa copil devine și o clasă Abstract. Toate acestea înseamnă că, atunci când programatorul nominalizează o clasă ca Abstract, ea spune că clasa va fi incompletă și va avea elemente care trebuie completate de subclasele moștenitoare. Acesta este un mod frumos de a crea un contract între doi programatori, ceea ce simplifică sarcinile în dezvoltarea de software. Programatorul, care scrie cod pentru a moșteni, trebuie să urmeze exact definițiile metodei (dar, desigur, poate avea propria sa implementare).

Ce este moștenirea?

Moștenirea este un concept orientat pe obiecte, care permite noilor clase să extindă alte clase. Cuvântul cheie Extends este folosit pentru a implementa conceptul de moștenire în limbajul de programare Java. Moștenirea oferă în esență reutilizarea codului, permițând extinderea proprietăților și comportamentului unei clase existente de către o clasă nou definită. Când o nouă subclasă (sau o clasă derivată) extinde o super clasă (sau o clasă părinte), acea subclasă va moșteni toate atributele și metodele superclasei. Subclasa poate suprascrie opțional comportamentul (oferă funcționalitate nouă sau extinsă metodelor) moștenit de la clasa părinte. De obicei, o subclasă nu poate extinde mai multe superclase (de exemplu, în Java). Prin urmare, nu puteți utiliza extensii pentru moștenirea multiplă. Pentru a avea mai multe moșteniri, trebuie să utilizați interfețe.

Care este diferența dintre clasa abstractă și moștenire?

Clasele abstracte reprezintă de obicei un concept abstract sau o entitate cu implementare parțială sau fără implementare. Moștenirea permite noilor clase să extindă alte clase. Deoarece clasele abstracte nu pot fi instanțiate, trebuie să utilizați conceptul de moștenire pentru a folosi clasele abstracte. În caz contrar, o clasă Abstract nu are niciun folos. Clasele abstracte pot conține metode abstracte, iar atunci când clasa este extinsă, toate metodele (abstracte și concrete) sunt moștenite. Clasa moștenită poate implementa oricare sau toate metodele. Dacă toate metodele Abstract nu sunt implementate, atunci acea clasă devine și o clasă Abstract. O clasă nu poate moșteni de la mai multe clase abstracte (aceasta nu este o calitate a claselor abstracte în sine, ci mai degrabă o restricție de moștenire).

Postări similare:

Image
Image
Image
Image

Diferența dintre clasa abstractă și clasa concretă

Image
Image
Image
Image

Diferența dintre virtual și abstract

Image
Image
Image
Image

Diferența dintre clasa abstractă și interfață

Image
Image
Image
Image

Diferența dintre implementări și extinde

Image
Image
Image
Image

Diferența dintre grafic și arbore

Filed Under: Programare Etichetat cu: ABC, abstract, Clase de bază abstracte, Clasă abstractă, Clase abstracte, Cuvânt cheie abstract, Metode abstracte, clasă concretă, Cuvânt cheie Extinde, Moștenire, Clasă de moștenire, clasă moștenită, Java, moștenire multiplă, concepte orientate obiect, clasă obișnuită, super clasă

Imagine
Imagine

Despre autor: Indika

Indika, BSc. Ing, MSECE Computer Engineering, PhD. Informatică, este profesor asistent și are interese de cercetare în domeniile bioinformatică, biologie computațională și procesare biomedicală a limbajului natural.

Comentarii

  1. Imagine
    Imagine

    Jason spune

    30 august 2017 la 13:25

    Vă mulțumim că ați explicat diferența. Toate întrebările mele au fost rezolvate prin aceasta.

    Răspuns

  2. Imagine
    Imagine

    Aus spune

    10 mai 2019 la 15:04

    cel mai bun răspuns de pe web, profesorul nu explică nimic și nu are sens, ton mono mf. Așa explicați conceptele.

    Răspuns

Lăsați un răspuns Anulați răspunsul

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate cu

Comentariu

Nume

E-mail

Site web

Solicitați articolul
Solicitați articolul
Solicitați articolul
Solicitați articolul

Postări recomandate

Diferența dintre coronavirus și simptomele răcelii
Diferența dintre coronavirus și simptomele răcelii

Diferența dintre coronavirus și simptomele răcelii

Diferența dintre coronavirus și SARS
Diferența dintre coronavirus și SARS

Diferența dintre coronavirus și SARS

Diferența dintre coronavirus și gripă
Diferența dintre coronavirus și gripă

Diferența dintre coronavirus și gripă

Diferența dintre coronavirus și Covid 19
Diferența dintre coronavirus și Covid 19

Diferența dintre coronavirus și Covid 19

Îți poate plăcea

Diferența dintre husky siberian și malamute

Diferența dintre calculul AB și BC

Recomandat: