Ero abstraktin luokan ja perinnön välillä

Sisällysluettelo:

Ero abstraktin luokan ja perinnön välillä
Ero abstraktin luokan ja perinnön välillä

Video: Ero abstraktin luokan ja perinnön välillä

Video: Ero abstraktin luokan ja perinnön välillä
Video: SERMATECHin sähkösuunnittelu- ja -asennuspalvelut 2024, Marraskuu
Anonim

Abstraktiluokka vs perintö

Abstract class ja Heritance ovat kaksi tärkeää oliopohjaista käsitettä, joita löytyy monista olioohjelmointikielistä, kuten Java. Abstraktia luokkaa voidaan pitää tavallisen (konkreettisen) luokan abstraktina versiona, kun taas perinnöllisyys mahdollistaa uusien luokkien laajentamisen muihin luokkiin. Abstrakti luokka on luokka, jota ei voi alustaa, mutta jota voidaan laajentaa. Abstrakteilla luokilla on siis merkitystä vain, jos ohjelmointikieli tukee periytymistä. Javassa abstraktit luokat ilmoitetaan käyttämällä Abstract-avainsanaa, kun taas Extends-avainsanaa käytetään (super)luokasta perimiseen.

Mikä on abstrakti luokka?

Yleensä abstrakteja luokkia, jotka tunnetaan myös nimellä Abstract Base Classes (ABC), ei voida instantoida (tämän luokan esiintymää ei voida luoda). Abstrakteilla luokilla on siis merkitystä vain, jos ohjelmointikieli tukee periytymistä (kyky luoda alaluokkia luokan laajentamisesta). Abstraktit luokat edustavat yleensä abstraktia käsitettä tai kokonaisuutta, joka on osittain toteutettu tai ei ollenkaan. Siksi abstraktit luokat toimivat pääluokina, joista alaluokat johdetaan, joten aliluokka jakaa yläluokan epätäydelliset ominaisuudet ja toimintoja voidaan lisätä niiden täydentämiseksi.

Abstraktit luokat voivat sisältää abstrakteja menetelmiä. Abstraktia luokkaa laajentavat alaluokat voivat toteuttaa nämä (perityt) abstraktit menetelmät. Jos lapsiluokka toteuttaa kaikki tällaiset abstraktit menetelmät, se on konkreettinen luokka. Mutta jos ei, lapsiluokasta tulee myös abstrakti luokka. Kaikki tämä tarkoittaa, että kun ohjelmoija nimeää luokan tiivistelmäksi, hän sanoo, että luokka on epätäydellinen ja siinä on elementtejä, jotka perivien alaluokkien on täydennettävä. Tämä on mukava tapa tehdä sopimus kahden ohjelmoijan välille, mikä yksinkertaistaa ohjelmistokehityksen tehtäviä. Ohjelmoijan, joka kirjoittaa perittävän koodin, on noudatettava menetelmän määritelmiä tarkasti (mutta tietysti hänellä voi olla oma toteutus).

Mitä perintö on?

Perintö on olio-konsepti, jonka avulla uudet luokat voivat laajentaa muita luokkia. Extends-avainsanaa käytetään perinnön käsitteen toteuttamiseen Java-ohjelmointikielessä. Periytys mahdollistaa koodin uudelleenkäytön mahdollistamalla olemassa olevan luokan ominaisuuksien ja toiminnan laajentamisen äskettäin määritellyllä luokalla. Kun uusi alaluokka (tai johdettu luokka) laajentaa superluokkaa (tai emoluokkaa), tämä alaluokka perii kaikki superluokan attribuutit ja menetelmät. Alaluokka voi valinnaisesti ohittaa emoluok alta perityn toiminnan (tarjoaa uusia tai laajennettuja toimintoja menetelmille). Tyypillisesti alaluokka ei voi laajentaa useita superluokkia (esim. Javassa). Siksi et voi käyttää laajennuksia moniperinnössä. Jotta voit saada useita perintöjä, sinun on käytettävä rajapintoja.

Mitä eroa on abstraktin luokan ja perinnön välillä?

Abstraktit luokat edustavat yleensä abstraktia käsitettä tai kokonaisuutta, joka on toteutettu osittain tai ei ollenkaan. Perinnön ansiosta uudet luokat voivat laajentaa muita luokkia. Koska abstrakteja luokkia ei voida instantoida, sinun on käytettävä perinnön käsitettä käyttääksesi abstrakteja luokkia. Muuten abstraktilla luokalla ei ole käyttöä. Abstraktit luokat voivat sisältää abstrakteja menetelmiä ja kun luokkaa laajennetaan, kaikki menetelmät (abstraktit ja konkreettiset) periytyvät. Peritty luokka voi toteuttaa minkä tahansa tai kaikki menetelmät. Jos kaikkia abstrakteja menetelmiä ei ole toteutettu, siitä luokasta tulee myös abstrakti luokka. Luokka ei voi periä useammasta kuin yhdestä abstraktista luokasta (tämä ei ole abstraktien luokkien ominaisuus sinänsä, vaan pikemminkin periytymisen rajoitus).

Aiheeseen liittyvät viestit:

Image
Image
Image
Image

Abstraktin ja konkreettisen luokan ero

Image
Image
Image
Image

Ero virtuaalisen ja abstraktin välillä

Image
Image
Image
Image

Abstraktin luokan ja käyttöliittymän ero

Image
Image
Image
Image

Toteutusten ja laajennusten ero

Image
Image
Image
Image

Kaavion ja puun ero

Filed Under: Ohjelmointi Tagged With: ABC, abstrakti, abstrakti perusluokat, abstrakti luokka, abstrakti luokat, abstrakti avainsana, abstrakti menetelmät, konkreettinen luokka, laajentaa avainsanaa, perintö, periytymisluokka, peritty luokka, Java, moniperintö, oliokäsitteet, tavallinen luokka, superluokka

Kuva
Kuva

Tekijästä: Indika

Indika, BSc. Eng, MSECE Computer Engineering, PhD. Tietojenkäsittelytiede, on apulaisprofessori ja hänellä on tutkimusintressejä bioinformatiikan, laskennallisen biologian ja biolääketieteellisen luonnollisen kielen käsittelyn aloilla.

Kommentit

  1. Kuva
    Kuva

    Jason sanoo

    30. elokuuta 2017 klo 13.25

    Kiitos, että selitit eron. Kaikki kysymykseni on ratkaistu tällä.

    Vastaa

  2. Kuva
    Kuva

    Aus sanoo

    10. toukokuuta 2019 klo 15.04

    paras vastaus verkossa, Opettaja ei selitä paskaa eikä siinä ole mitään järkeä, monotone mf. Näin selität käsitteet.

    Vastaa

Jätä vastaus Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty

Kommentoi

Nimi

Sähköposti

Verkkosivusto

Pyydä artikkeli
Pyydä artikkeli
Pyydä artikkeli
Pyydä artikkeli

Suositellut viestit

Ero koronaviruksen ja vilustumisen oireiden välillä
Ero koronaviruksen ja vilustumisen oireiden välillä

Ero koronaviruksen ja vilustumisen oireiden välillä

Ero koronaviruksen ja SARSin välillä
Ero koronaviruksen ja SARSin välillä

Ero koronaviruksen ja SARSin välillä

Ero koronaviruksen ja influenssan välillä
Ero koronaviruksen ja influenssan välillä

Ero koronaviruksen ja influenssan välillä

Ero koronaviruksen ja Covid 19:n välillä
Ero koronaviruksen ja Covid 19:n välillä

Ero koronaviruksen ja Covid 19:n välillä

Saat pitää

Siperianhuskyn ja malamuutin ero

Calculus AB:n ja BC:n ero

Kaksoispääaineen ja tuplatutkinnon ero

Vaaleiden ja tummien paitojen siirtopaperin ero

välillä

Suositeltava: