Programowanie Charakterystyka dziedziczenia, typy, przykłady

Programowanie Charakterystyka dziedziczenia, typy, przykłady

dziedzictwo w programowaniu obiekt -zorientowany Jest to sposób na organizowanie obiektów w hierarchii od najbardziej ogólnych do najbardziej konkretnych. Jest to gadżet używany do rozszerzenia klasy w innej klasie, zachowując analogiczne wykonanie.

W większości języków zorientowanych na klasy oparte na obiektach opartych na klasach obiekt utworzony przez dziedziczenie, zwany obiektem dziecięcym, uzyskuje wszystkie właściwości i zachowania obiektu nadrzędnego.

Prosta demonstracja dziedziczenia w orientacji obiektów. Źródło: Pluke / CC0 Creative Commons CC0 1.0 Uniwersalna domena publiczna

Dlatego jest to jakość reprezentująca związek między różnymi klasami. Dziedziczenie pozwala jednej klasie mieć takie samo zachowanie co inna klasa i rozszerzyć lub dostosować to zachowanie, aby zapewnić specjalne działanie dla określonych potrzeb.

Dziedziczenie może pomóc przedstawić obiekty, które mają pewne różnice i pewne podobieństwa w sposobie pracy. Wszystkie funkcje, które mają wspólne obiekty, można umieścić w klasie podstawowej, a następnie zdefiniować jedną lub więcej podklas z własną spersonalizowaną funkcją.

[TOC]

Charakterystyka dziedziczenia

Dziedziczenie jest jedną z kluczowych cech programowania obiektowego, które służy zdefiniowaniu nowej klasy z istniejących klas.

Oznacza to, że można wyprowadzić nowe klasy istniejących klas podstawowych, dodając nowe funkcje. Nie musisz pisać od zera. Dlatego dziedziczenie stanowi sposób łatwego ponownego wykorzystania istniejącego kodu.

Jeśli masz już klasę, która robi prawie wszystko, co chcesz, możesz utworzyć podklasę, w której część zachowania jest częściowo anulowana, a może dodana jest jakaś nowa funkcjonalność.

Klasa pochodna dziedziczy wszystkie metody klasy podstawowej, z wyjątkiem następujących:

Może ci służyć: komputery analogowe: cechy, komponenty, typy

- Budowniczowie, niszczyciele i kopiują budownicze.

- Operatorzy przeciążonych klasy podstawy.

- Podstawowe funkcje przyjazne klasy.

Hierarchia

Tak jak drzewo genealogiczne, dziedzictwo służy do tworzenia hierarchii klas. Należy zauważyć, że atrybuty określone dla klasy podstawowej będą automatycznie obecne w klasie pochodnej. Ponadto metody klasy podstawowej będą działać na pochodne.

Mówi się, że klasa będzie podklasą klasy, której dziedziczy. Z drugiej strony ta klasa będzie Twoją nadklasą. Może nazywać najbardziej ogólną klasę jako klasę podstawową, ponieważ jest u podstawy hierarchii.

Wielopostaciowość

Dziedziczenie jest bardzo popularne w niektórych językach z typami statycznymi, ponieważ pozwala programistowi uniknąć niektórych ograniczeń typu statycznego.

Obiekt dziedziczny z innego obiektu jest uważany za podtyp tego obiektu. Przykładem może być obiekty „instruktor” i „studenckich”, z których każdy dziedziczy „osobę”.

Jeśli instruktor i uczeń są tą samą osobą, możesz napisać funkcję, która akceptuje typ osoby jako parametr i działa w obiektach instruktora i studentów, ponieważ obaj są spadkobiercami osoby.

Rodzaje dziedziczenia

Unikalne dziedzictwo

Kiedy klasa pochodna dziedziczy właściwości i zachowanie jednej klasy. To znaczy jedna klasa rozciąga się na inną pojedynczą klasę.

Dziedziczenie wielopoziomowe

Odnosi się do gadżetu, w którym można odziedziczyć po klasie pochodnej, co czyni tę klasę pochodną klasą podstawową dla nowej klasy. To znaczy, gdy powstaje klasa pochodna z innej klasy pochodnej.

Może ci służyć: von neumann architektura: pochodzenie, model, jak to działa

Hierarchiczne dziedzictwo

W tym dziedziczeniu wiele podklas odziedziczy po jednej klasie. To znaczy, gdy jedna klasa bazowa jest dziedziczona przez więcej niż jedną klasę pochodną.

Hybrydowe dziedzictwo

Jest to wynikowe dziedzictwo, gdy którekolwiek z trzech poprzednich dziedziczeń (unikalne, hierarchiczne i wielopoziomowe) łącznie).

Wiele dziedzictwa

Odpowiada figurze dziedziczenia, gdy klasa dziedziczy więcej niż jedną nadklasę. Istniejąca niedogodności związana z tego rodzaju dziedzictwem jest to, że klasa pochodna będzie musiała przetworzyć zależność z dwiema klasami podstawowymi.

Z drugiej strony ten rodzaj dziedziczenia pozwala programistom wznieść klasy, które łączą aspekty wielu klas i ich odpowiadających hierarchii.

Rodzaje dziedzictwa po klasie podstawowej

Dziedziczenie publiczne

Kiedy klasa pochodzi z publicznej klasy bazowej, członkowie publiczni klasy bazowej stają się członkami publicznej klasy pochodnej, a chronili członkowie klasy podstawowej stają się chronionymi członkami klasy pochodnej.

Prywatni członkowie nadklasy nigdy nie będą przystępne bezpośrednio z klasą pochodną, ​​ale możesz mieć do nich dostęp za pośrednictwem połączeń członków publicznych i chronionych przed klasą podstawową.

Chronione dziedziczenie

Kiedy powstaje klasa, która dziedziczy po chronionej nadklasie, zarówno członkowie publiczni, jak i chronione przed tą nadklasą staną się chronionymi członkami klasy pochodnej.

Prywatne dziedzictwo

Gdy podklasa zostanie utworzona z prywatnej nadklasy, członkowie, którzy są publiczni i chronieni przed tą nadklasą, staną się prywatnymi członkami podklasy.

Przykłady

Przykład w Pythonie

Aby pokazać, jak działa zasada dziedziczenia, roboty lub lepsza klasa robotów zostaną pobrane w języku programowania Python. W tym celu zostanie określona klasa o nazwie RobotMedic (Lekarz), który pochodzi z nadklasy robota.

Może ci służyć: rośliny przemysłowe Peru

Jeśli obserwuje się kod klasy RobotMed, można zauważyć, że w tej klasie nie zdefiniowano żadnego atrybutu ani metody.

Ponieważ klasa robotyczna jest podklasą robota, odziedzicz zarówno metodę __init__, jak i say_hi w tym przypadku. Dziedziczenie tych metod oznacza, że ​​można je użyć tak, jakby zostały zdefiniowane w klasie robotmed.

Po utworzeniu instancji robotycznej funkcja __init__ utworzy również atrybut nazwy. Metodę Say_HI można zastosować do obiektu robotMedic „Y”, jak widać w wyniku poprzedniego kodu.

Przykład w c++

Klasa może odziedziczyć więcej niż jedną klasę, co oznacza, że ​​może dziedziczyć dane i funkcje kilku nadklasów. Aby zdefiniować klasę pochodną, ​​do określenia klas podstaw.

Lista poleceń klasowych w C ++ nazywa jedną lub więcej klas podstawowych i ma następujący sposób: Klasa Klasa Derced: Użytkownik dostępu Klasa bazowa, w którym Użytkownik dostępu Jest publiczny, Chroniony albo Prywatny, I Klasa bazowa Jest to nazwa wcześniej zdefiniowanej klasy. Jeśli nie jest używany Użytkownik dostępu, Jest zajęty Prywatny domyślny.

„Form” nadklasy i jej pochodna klasa „prostokąt” można uznać w następujący sposób:

Po skompilowaniu i wykonaniu poprzedniego kodu następujący wynik następuje: „Obszar całkowity: 35”.

Bibliografia

  1. Dave Braunschweig (2020). Dziedzictwo i polimorfizm. Społeczność Abus. Zaczerpnięte z: prasa.Autobus.Wspólnota.
  2. Kurs Python (2020). Dziedzictwo. Zaczerpnięte z: Python-Course.UE.
  3. Data Mentor (2020). R Dziedziczenie. Zaczerpnięte z: Datamentor.Io.
  4. Point samouczków (2020). Dziedziczenie C ++. Zaczerpnięte z: Tutorialspoint.com.
  5. Informacje netto (2020). Różne rodzaje dziedzictwa. Zaczerpnięte z: informacje netto.com.