Skirtumas tarp abstrakčios klasės ir paveldėjimo

Turinys:

Skirtumas tarp abstrakčios klasės ir paveldėjimo
Skirtumas tarp abstrakčios klasės ir paveldėjimo

Video: Skirtumas tarp abstrakčios klasės ir paveldėjimo

Video: Skirtumas tarp abstrakčios klasės ir paveldėjimo
Video: Embedded Systems Engineering VS Embedded Software Engineering 2024, Liepa
Anonim

Abstrakčioji klasė prieš paveldėjimą

Abstrakčioji klasė ir paveldėjimas yra dvi svarbios objektinės sąvokos, aptinkamos daugelyje objektinio programavimo kalbų, pvz., Java. Abstrakti klasė gali būti laikoma abstrakčia įprastos (konkrečios) klasės versija, o paveldėjimas leidžia naujoms klasėms išplėsti kitas klases. Abstrakti klasė yra klasė, kurios negalima inicijuoti, tačiau ją galima išplėsti. Taigi, abstrakčiosios klasės yra prasmingos tik tuo atveju, jei programavimo kalba palaiko paveldėjimą. Java programoje abstrakčios klasės deklaruojamos naudojant Abstract raktinį žodį, o raktinis žodis Extends naudojamas paveldėjimui iš (super) klasės.

Kas yra abstrakčioji klasė?

Paprastai abstrakčių klasių, dar žinomų kaip abstrakčios pagrindinės klasės (ABC), negalima sukurti (negalima sukurti tos klasės egzemplioriaus). Taigi, abstrakčiosios klasės yra prasmingos tik tuo atveju, jei programavimo kalba palaiko paveldėjimą (galimybę sukurti poklasius išplečiant klasę). Abstrakčios klasės paprastai reiškia abstrakčią sąvoką arba subjektą, kuris iš dalies įgyvendinamas arba jo nėra. Todėl abstrakčios klasės veikia kaip pagrindinės klasės, iš kurių gaunamos antrinės klasės, todėl antrinė klasė dalinsis nepilnomis pagrindinės klasės ypatybėmis, o joms užbaigti galima pridėti funkcijų.

Abstrakčiose klasėse gali būti abstrakčių metodų. Poklasiai, išplečiantys abstrakčią klasę, gali įgyvendinti šiuos (paveldėtus) abstrakčiuosius metodus. Jei antrinė klasė įgyvendina visus tokius abstrakčius metodus, tai yra konkreti klasė. Bet jei ne, vaikų klasė taip pat tampa abstrakčia klase. Visa tai reiškia, kad kai programuotojas paskiria klasę kaip santrauką, ji sako, kad klasė bus neužbaigta ir joje bus elementų, kuriuos turės užpildyti paveldintys poklasiai. Tai puikus būdas sudaryti sutartį tarp dviejų programuotojų, o tai supaprastina programinės įrangos kūrimo užduotis. Programuotojas, rašantis kodą paveldėti, turi tiksliai laikytis metodo apibrėžimų (tačiau, žinoma, gali turėti savo įgyvendinimą).

Kas yra paveldėjimas?

Paveldėjimas yra į objektą orientuota koncepcija, leidžianti naujoms klasėms išplėsti kitas klases. Extends raktinis žodis naudojamas paveldėjimo koncepcijai įgyvendinti Java programavimo kalboje. Paveldėjimas iš esmės suteikia kodo pakartotinį naudojimą, leidžiant išplėsti esamos klasės savybes ir elgesį naujai apibrėžta klase. Kai naujas poklasis (arba išvestinė klasė) išplečia superklasę (arba pirminę klasę), tas poklasis paveldės visus super klasės atributus ir metodus. Poklasis gali pasirinktinai nepaisyti elgsenos (suteikti naujų arba išplėstų metodų funkcijų), paveldėtą iš pirminės klasės. Paprastai poklasis negali išplėsti kelių super klasių (pvz., Java). Todėl negalite naudoti plėtinių daugialypiam paveldėjimui. Norint turėti kelis paveldėjimus, reikia naudoti sąsajas.

Kuo skiriasi abstrakčioji klasė ir paveldėjimas?

Abstrakčios klasės paprastai reiškia abstrakčią sąvoką arba subjektą, kuris iš dalies įgyvendinamas arba jo nėra. Paveldėjimas leidžia naujoms klasėms išplėsti kitas klases. Kadangi abstrakčių klasių negalima generuoti, turite naudoti paveldėjimo sąvoką, kad galėtumėte naudoti abstrakčias klases. Priešingu atveju abstrakčioji klasė nenaudinga. Abstrakčiose klasėse gali būti abstrakčių metodų, o kai klasė išplečiama, visi metodai (abstraktūs ir konkretūs) yra paveldimi. Paveldima klasė gali įgyvendinti bet kurį arba visus metodus. Jei visi abstraktūs metodai neįdiegti, ta klasė taip pat tampa abstrakčia klase. Klasė negali paveldėti daugiau nei vienos abstrakčios klasės (tai nėra abstrakčių klasių savybė, o greičiau paveldėjimo apribojimas).

Susiję įrašai:

Image
Image
Image
Image

Skirtumas tarp abstrakčios ir konkrečios klasės

Image
Image
Image
Image

Skirtumas tarp virtualaus ir abstraktaus

Image
Image
Image
Image

Skirtumas tarp abstrakčios klasės ir sąsajos

Image
Image
Image
Image

Įgyvendinimų ir pratęsimų skirtumas

Image
Image
Image
Image

Skirtumas tarp grafiko ir medžio

Pateikta pagal: Programavimas, pažymėtas: ABC, abstraktus, abstrakčiosios pagrindinės klasės, abstrakčios klasės, abstrakčios klasės, abstraktus raktinis žodis, abstraktūs metodai, konkreti klasė, išplečiamas raktinis žodis, paveldėjimas, paveldėjimo klasė, paveldėta klasė, Java, daugkartinis paveldėjimas, objektinės sąvokos, įprasta klasė, super klasė

Vaizdas
Vaizdas

Apie autorių: Indika

Indika, bakalauras, MSECE kompiuterių inžinerijos mokslų daktaras. Kompiuterių mokslas, yra docentas ir turi mokslinių tyrimų interesų bioinformatikos, skaičiavimo biologijos ir biomedicininės natūralios kalbos apdorojimo srityse.

Komentarai

  1. Vaizdas
    Vaizdas

    Jasonas sako

    2017 m. rugpjūčio 30 d. 13.25 val.

    Dėkojame, kad paaiškinote skirtumą. Tai išspręsti visi mano klausimai.

    Atsakyti

  2. Vaizdas
    Vaizdas

    Aus sako

    2019 m. gegužės 10 d. 15.04 val.

    geriausias atsakymas žiniatinklyje, Mokytojas nepaaiškina nieko ir neturi prasmės, monotoninis mf. Taip paaiškinate sąvokas.

    Atsakyti

Palikti atsakymą Atšaukti atsakymą

Jūsų el. pašto adresas nebus paskelbtas. Privalomi laukai pažymėti

Komentuoti

Vardas

El. paštas

Svetainė

Prašymas straipsnis
Prašymas straipsnis
Prašymas straipsnis
Prašymas straipsnis

Panašūs įrašai

Skirtumas tarp koronaviruso ir peršalimo simptomų
Skirtumas tarp koronaviruso ir peršalimo simptomų

Skirtumas tarp koronaviruso ir peršalimo simptomų

Skirtumas tarp koronaviruso ir SARS
Skirtumas tarp koronaviruso ir SARS

Skirtumas tarp koronaviruso ir SARS

Skirtumas tarp koronaviruso ir gripo
Skirtumas tarp koronaviruso ir gripo

Skirtumas tarp koronaviruso ir gripo

Skirtumas tarp koronaviruso ir Covid 19
Skirtumas tarp koronaviruso ir Covid 19

Skirtumas tarp Koronaviruso ir Covid 19

Jums gali patikti

Sibiro haskio ir malamuto skirtumas

Skirtumas tarp Calculus AB ir BC

Rekomenduojamas: