Különbség az absztrakt osztály és az öröklődés között

Tartalomjegyzék:

Különbség az absztrakt osztály és az öröklődés között
Különbség az absztrakt osztály és az öröklődés között

Videó: Különbség az absztrakt osztály és az öröklődés között

Videó: Különbség az absztrakt osztály és az öröklődés között
Videó: Difference Between Software Architecture vs Software Design Explained #shorts 2024, December
Anonim

Absztrakt osztály vs öröklődés

Az absztrakt osztály és az öröklődés két fontos objektumorientált fogalom, amely számos objektumorientált programozási nyelvben, például a Java-ban megtalálható. Az absztrakt osztály egy reguláris (konkrét) osztály absztrakt változatának tekinthető, míg az Inheritance lehetővé teszi az új osztályok számára, hogy más osztályokat bővítsenek. Az absztrakt osztály olyan osztály, amely nem inicializálható, de bővíthető. Tehát az absztrakt osztályoknak csak akkor van értelme, ha a programozási nyelv támogatja az öröklődést. A Java-ban az Abstract osztályokat az Abstract kulcsszóval deklarálják, míg az Extends kulcsszót a (szuper) osztályból való örökléshez használják.

Mi az absztrakt osztály?

Az absztrakt osztályok, más néven Abstract Base Classes (ABC) általában nem példányosíthatók (az osztály példánya nem hozható létre). Tehát az absztrakt osztályoknak csak akkor van értelme, ha a programozási nyelv támogatja az öröklődést (alosztályok létrehozásának képességét egy osztály kiterjesztésével). Az absztrakt osztályok általában egy absztrakt fogalmat vagy entitást képviselnek, részben vagy egyáltalán nem implementálva. Ezért az absztrakt osztályok szülőosztályokként működnek, amelyekből a leszármazott osztályok származnak, így az utódosztály megosztja a szülőosztály hiányos jellemzőit, és funkcionalitást lehet hozzáadni a teljesítésükhöz.

Az absztrakt osztályok tartalmazhatnak absztrakt metódusokat. Az absztrakt osztályt kiterjesztő alosztályok megvalósíthatják ezeket az (öröklött) absztrakt metódusokat. Ha a gyermekosztály az összes ilyen absztrakt metódust megvalósítja, akkor ez egy konkrét osztály. De ha nem, akkor a gyermekosztály is absztrakt osztály lesz. Mindez azt jelenti, hogy amikor a programozó kijelöl egy osztályt absztraktnak, azt mondja, hogy az osztály hiányos lesz, és olyan elemei lesznek, amelyeket az örökös alosztályoknak ki kell egészíteniük. Ez egy jó módja annak, hogy szerződést kössön két programozó között, ami leegyszerűsíti a szoftverfejlesztési feladatokat. A programozónak, aki kódot ír az öröklésre, pontosan követnie kell a metódusdefiníciókat (de természetesen lehet saját implementációja).

Mi az öröklés?

Az öröklődés egy objektumorientált koncepció, amely lehetővé teszi az új osztályok számára, hogy más osztályokat bővítsenek. Az Extends kulcsszó az öröklődés koncepciójának megvalósítására szolgál a Java programozási nyelvben. Az öröklődés lényegében a kód újrafelhasználását biztosítja azáltal, hogy lehetővé teszi egy meglévő osztály tulajdonságainak és viselkedésének kiterjesztését egy újonnan definiált osztállyal. Amikor egy új alosztály (vagy származtatott osztály) kiterjeszt egy szuperosztályt (vagy szülőosztályt), ez az alosztály örökli a szuperosztály összes attribútumát és metódusát. Az alosztály opcionálisan felülírhatja a szülőosztálytól örökölt viselkedést (új vagy bővített funkcionalitást biztosít a metódusoknak). Általában egy alosztály nem tud több szuperosztályt kiterjeszteni (például Java-ban). Ezért nem használhat kiterjesztéseket többszörös öröklődéshez. A többszörös öröklődéshez interfészeket kell használnia.

Mi a különbség az absztrakt osztály és az öröklődés között?

Az absztrakt osztályok általában egy absztrakt fogalmat vagy egy entitást képviselnek, amelynek megvalósítása részleges vagy nem. Az öröklődés lehetővé teszi az új osztályok számára, hogy más osztályokat bővítsenek. Mivel az absztrakt osztályokat nem lehet példányosítani, az absztrakt osztályok használatához az öröklődés fogalmát kell használni. Ellenkező esetben az absztrakt osztálynak nincs haszna. Az absztrakt osztályok tartalmazhatnak absztrakt metódusokat, és az osztály kiterjesztésekor minden metódus (absztrakt és konkrét) öröklődik. Az örökölt osztály bármely vagy az összes metódust megvalósíthatja. Ha az összes Absztrakt metódus nincs implementálva, akkor ez az osztály is Absztrakt osztály lesz. Egy osztály nem örökölhet egynél több absztrakt osztályból (ez önmagában nem az absztrakt osztályok minősége, hanem inkább az öröklődés korlátozása).

Kapcsolódó bejegyzések:

Image
Image
Image
Image

Különbség az absztrakt osztály és a konkrét osztály között

Image
Image
Image
Image

Különbség a virtuális és az absztrakt között

Image
Image
Image
Image

Különbség az absztrakt osztály és az interfész között

Image
Image
Image
Image

Különbség a megvalósítások és a kiterjesztések között

Image
Image
Image
Image

Különbség a grafikon és a fa között

Filed Under: Programozás Tagged with: ABC, abstract, Abstract Base Classes, Absztrakt osztály, Absztrakt osztályok, Absztrakt kulcsszó, Absztrakt metódusok, konkrét osztály, Extends kulcsszó, Inheritance, Inheritance class, öröklött osztály, Java, többszörös öröklődés, objektum orientált fogalmak, normál osztály, szuper osztály

Kép
Kép

A szerzőről: Indika

Indika, BSc. Eng, MSECE Számítástechnika, PhD. Számítástechnika, adjunktus, és kutatási területei vannak a bioinformatika, a számítási biológia és az orvosbiológiai természetes nyelvi feldolgozás területén.

Megjegyzések

  1. Kép
    Kép

    Jason azt mondja:

    2017. augusztus 30., 13:25

    Köszönjük, hogy elmagyarázta a különbséget. Ezzel minden kérdésem megoldódott.

    Válasz

  2. Kép
    Kép

    Aus azt mondja:

    2019. május 10., 15:04

    a legjobb válasz az interneten, a tanár nem magyarázza a szart, és nincs értelme, monoton mf. Így magyarázod a fogalmakat.

    Válasz

Válaszhagyás Válasz visszavonása

E-mail címét nem tesszük közzé. A kötelező mezőkjelzéssel vannak ellátva

Megjegyzés

Név

E-mail

Webhely

Cikk kérése
Cikk kérése
Cikk kérése
Cikk kérése

Kiemelt bejegyzések

A koronavírus és a megfázás tünetei közötti különbség
A koronavírus és a megfázás tünetei közötti különbség

Különbség a koronavírus és a megfázás tünetei között

A koronavírus és a SARS közötti különbség
A koronavírus és a SARS közötti különbség

Különbség a koronavírus és a SARS között

Különbség a koronavírus és az influenza között
Különbség a koronavírus és az influenza között

Különbség a koronavírus és az influenza között

Különbség a koronavírus és a Covid 19 között
Különbség a koronavírus és a Covid 19 között

Különbség a koronavírus és a Covid 19 között

Tetszhetsz

Különbség a szibériai husky és a malamut között

Különbség a Calculus AB és a BC között

Különbség a kettős szak és a kettős diploma között

Különbség a világos ingekhez és a sötét ingekhez készült transzferpapír között

között

Ajánlott: