Pagkakaiba sa pagitan ng Abstract Class at Inheritance

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan ng Abstract Class at Inheritance
Pagkakaiba sa pagitan ng Abstract Class at Inheritance

Video: Pagkakaiba sa pagitan ng Abstract Class at Inheritance

Video: Pagkakaiba sa pagitan ng Abstract Class at Inheritance
Video: PLC vs SCADA - Difference between PLC and SCADA 2024, Disyembre
Anonim

Abstract Class vs Inheritance

Ang Abstract class at Inheritance ay dalawang mahalagang object oriented na konsepto na makikita sa maraming object oriented programming language tulad ng Java. Ang abstract na klase ay maaaring ituring bilang abstract na bersyon ng isang regular (kongkreto) na klase, habang ang Inheritance ay nagbibigay-daan sa mga bagong klase na palawigin ang ibang mga klase. Ang abstract na klase ay isang klase na hindi maaaring simulan ngunit maaaring palawigin. Kaya, makabuluhan lamang ang mga Abstract na klase kung sinusuportahan ng programming language ang pamana. Sa Java, ang mga Abstract na klase ay idineklara gamit ang Abstract na keyword, habang ang Extends na keyword ay ginagamit para sa pagmamana mula sa isang (super) na klase.

Ano ang Abstract Class?

Karaniwan, ang mga Abstract na klase, na kilala rin bilang Abstract Base Classes (ABC), ay hindi maaaring i-instantiate (isang instance ng klase na iyon ay hindi maaaring gawin). Kaya, ang mga Abstract na klase ay makabuluhan lamang kung sinusuportahan ng programming language ang mana (kakayahang lumikha ng mga subclass mula sa pagpapalawak ng isang klase). Ang mga abstract na klase ay karaniwang kumakatawan sa isang abstract na konsepto o entity na may bahagyang o walang pagpapatupad. Samakatuwid, ang mga Abstract na klase ay gumaganap bilang mga parent class kung saan hinango ang mga child class para maibahagi ng child class ang mga hindi kumpletong feature ng parent class at maidaragdag ang functionality para makumpleto ang mga ito.

Ang mga abstract na klase ay maaaring maglaman ng mga Abstract na pamamaraan. Ang mga subclass na nagpapalawak ng abstract na klase ay maaaring magpatupad ng mga (minana) na pamamaraang Abstract na ito. Kung ang klase ng bata ay nagpapatupad ng lahat ng mga pamamaraang Abstract, ito ay isang kongkretong klase. Ngunit kung hindi, ang klase ng bata ay magiging isang Abstract na klase. Ang ibig sabihin ng lahat ng ito ay, kapag ang programmer ay nag-nominate ng isang klase bilang isang Abstract, sinasabi niya na ang klase ay hindi kumpleto at magkakaroon ito ng mga elemento na kailangang kumpletuhin ng mga namamanang subclass. Ito ay isang magandang paraan upang lumikha ng isang kontrata sa pagitan ng dalawang programmer, na pinapasimple ang mga gawain sa pagbuo ng software. Ang programmer, na nagsusulat ng code upang mamana, ay kailangang sundin nang eksakto ang mga kahulugan ng pamamaraan (ngunit siyempre ay maaaring magkaroon ng sarili niyang pagpapatupad).

Ano ang Mana?

Ang Inheritance ay isang object oriented na konsepto, na nagbibigay-daan sa mga bagong klase na palawigin ang iba pang mga klase. Ang Extends keyword ay ginagamit upang ipatupad ang konsepto ng inheritance sa Java programming language. Ang inheritance ay mahalagang nagbibigay ng muling paggamit ng code sa pamamagitan ng pagpapahintulot sa pagpapalawak ng mga katangian at pag-uugali ng isang umiiral na klase ng isang bagong tinukoy na klase. Kapag ang isang bagong subclass (o derived class) ay nagpalawak ng isang super class (o parent class) na ang subclass ay magmamana ng lahat ng attribute at method ng super class. Maaaring opsyonal na i-override ng subclass ang gawi (magbigay ng bago o pinahabang functionality sa mga pamamaraan) na minana mula sa parent class. Karaniwan, ang isang subclass ay hindi maaaring mag-extend ng maramihang mga super class (hal. sa Java). Samakatuwid, hindi ka maaaring gumamit ng mga extend para sa maramihang mana. Upang magkaroon ng maraming inheritance, kailangan mong gumamit ng mga interface.

Ano ang pagkakaiba ng Abstract Class at Inheritance?

Ang mga abstract na klase ay karaniwang kumakatawan sa abstract na konsepto o isang entity na may bahagyang o walang pagpapatupad. Binibigyang-daan ng inheritance ang mga bagong klase na palawigin ang ibang mga klase. Dahil, ang mga Abstract na klase ay hindi maaaring ma-instantiate, kailangan mong gamitin ang konsepto ng mana para magamit ang mga Abstract na klase. Kung hindi, walang silbi ang isang Abstract na klase. Ang mga abstract na klase ay maaaring maglaman ng mga Abstract na pamamaraan at kapag ang klase ay pinalawig, ang lahat ng mga pamamaraan (Abstract at kongkreto) ay minana. Ang minanang klase ay maaaring magpatupad ng anuman o lahat ng mga pamamaraan. Kung ang lahat ng mga pamamaraan ng Abstract ay hindi ipinatupad, ang klase na iyon ay magiging isang Abstract na klase. Ang isang klase ay hindi maaaring magmana mula sa higit sa isang Abstract na klase (ito ay hindi isang kalidad ng Abstract na mga klase per se, ngunit sa halip ay isang paghihigpit ng mana).

Mga kaugnay na post:

Image
Image
Image
Image

Pagkakaiba sa pagitan ng Abstract Class at Concrete Class

Image
Image
Image
Image

Pagkakaiba sa pagitan ng Virtual at Abstract

Image
Image
Image
Image

Pagkakaiba sa pagitan ng Abstract na Klase at Interface

Image
Image
Image
Image

Pagkakaiba sa pagitan ng Mga Implement at Extend

Image
Image
Image
Image

Pagkakaiba sa pagitan ng Graph at Tree

Filed Under: Programming Tagged With: ABC, abstract, Abstract Base Classes, Abstract class, Abstract classes, Abstract na keyword, Abstract method, concrete class, Extends keyword, Inheritance, Inheritance class, inheritance class, Java, multiple inheritance, mga object oriented na konsepto, regular na klase, super class

Imahe
Imahe

Tungkol sa May-akda: Indika

Indika, BSc. Eng, MSECE Computer Engineering, PhD. Computer Science, ay isang Assistant Professor at may mga interes sa pananaliksik sa mga larangan ng Bioinformatics, Computational Biology, at Biomedical Natural Language Processing.

Mga Komento

  1. Imahe
    Imahe

    sabi ni Jason

    Agosto 30, 2017 nang 1:25 pm

    Salamat sa pagpapaliwanag ng pagkakaiba. Lahat ng tanong ko ay nalutas na nito.

    Reply

  2. Imahe
    Imahe

    sabi ni Aus

    Mayo 10, 2019 nang 3:04 pm

    pinakamahusay na sagot sa web, Hindi ipaliwanag ng guro ang shit at walang katuturan, mono tone mf. Ganito mo ipaliwanag ang mga konsepto.

    Reply

Mag-iwan ng Tugon Kanselahin ang tugon

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan

Komento

Pangalan

Email

Website

Humiling ng Artikulo
Humiling ng Artikulo
Humiling ng Artikulo
Humiling ng Artikulo

Mga Itinatampok na Post

Pagkakaiba sa Pagitan ng Coronavirus at Mga Sintomas ng Sipon
Pagkakaiba sa Pagitan ng Coronavirus at Mga Sintomas ng Sipon

Pagkakaiba sa Pagitan ng Coronavirus at Mga Sintomas ng Sipon

Pagkakaiba sa pagitan ng Coronavirus at SARS
Pagkakaiba sa pagitan ng Coronavirus at SARS

Pagkakaiba sa pagitan ng Coronavirus at SARS

Pagkakaiba sa pagitan ng Coronavirus at Influenza
Pagkakaiba sa pagitan ng Coronavirus at Influenza

Pagkakaiba sa pagitan ng Coronavirus at Influenza

Pagkakaiba sa pagitan ng Coronavirus at Covid 19
Pagkakaiba sa pagitan ng Coronavirus at Covid 19

Pagkakaiba sa pagitan ng Coronavirus at Covid 19

Maaari Mong Magustuhan

Pagkakaiba sa pagitan ng Siberian Husky at Malamute

Pagkakaiba sa pagitan ng Calculus AB at BC

Inirerekumendang: