logo

Vytvořte podtřídu Pythonu

Python, známý svou jednoduchostí a všestranností, umožňuje vývojářům psát čistý a udržovatelný kód. Jednou z jeho výkonných funkcí je dědičnost, která umožňuje vytváření podtříd, které dědí vlastnosti a chování od nadřazených tříd. Subclassing umožňuje opětovné použití kódu, podporuje modularitu a usnadňuje rozšiřitelnost. V tomto článku se ponoříme do základů vytváření podtříd Pythonu a prozkoumáme různé aspekty na několika příkladech.

Co je podtřída Pythonu?

V Pythonu je podtřída třída, která dědí atributy a metody z jiné třídy, známé jako nadtřída nebo nadřazená třída. Když vytvoříte podtřídu, může znovu použít a rozšířit funkčnost nadtřídy. To vám umožní vytvářet specializované verze existujících tříd, aniž byste museli přepisovat běžné funkce. Chcete-li vytvořit a podtřída v Pythonu , definujete novou třídu a za názvem třídy uvedete nadtřídu v závorkách.



Syntax :

class SubclassName(BaseClassName):

# Atributy třídy a metody pro podtřídu



#…

Jak vytvořit podtřídu Pythonu?

Níže je uveden podrobný návod, jak vytvořit A Krajta Podtřída.

Příklad 1: Vytvoření jednoduché podtřídy

  • Animal>je základní třída s a __init__> způsob inicializacename>atribut a amake_sound>metoda (v tomto případě abstraktní, protože nemá konkrétní implementaci).
  • Dog>je podtřídaAnimal>která z toho dědí. Přepíšemake_sound>způsob, jak zajistit specifickou implementaci pro psy.
  • Jsou vytvořeny instance obou tříd a demonstrujeme, jak lze přistupovat k atributům a metodám.

Python3




jsou to zpěváci



class> Animal:> >def> __init__(>self>, name):> >self>.name>=> name> >def> make_sound(>self>):> >pass> class> Dog(Animal):> >def> make_sound(>self>):> >return> 'Woof!'> # Creating instances> generic_animal>=> Animal(>'Generic Animal'>)> dog_instance>=> Dog(>'Buddy'>)> # Accessing attributes and methods> print>(generic_animal.name)># Output: Generic Animal> print>(dog_instance.name)># Output: Buddy> print>(dog_instance.make_sound())># Output: Woof!>

>

počítač vynalezl který rok

>

Příklad 2: Přidání dalších atributů do podtřídy

  • Shape>je základní třída s an __init__> způsob inicializacecolor>atribut a abstraktarea>metoda.
  • Circle>je podtřídouShape>který jej rozšiřuje přidáním aradius>atribut. Volá konstruktor nadtřídy using super()> k inicializaci společného atributu.
  • Thearea>metoda je přepsána vCircle>podtřída, která poskytuje specifickou implementaci pro výpočet plochy kruhu.
  • Jsou vytvořeny instance obou tříd a demonstrujeme, jak lze přistupovat k atributům a metodám.

Python3




srovnání s javou

class> Shape:> >def> __init__(>self>, color):> >self>.color>=> color> >def> area(>self>):> >pass> class> Circle(Shape):> >def> __init__(>self>, color, radius):> >super>().__init__(color)> >self>.radius>=> radius> >def> area(>self>):> >return> 3.14> *> self>.radius>*>*> 2> # Creating instances> generic_shape>=> Shape(>'Red'>)> circle_instance>=> Circle(>'Blue'>,>5>)> # Accessing attributes and methods> print>(generic_shape.color)> print>(circle_instance.color)> print>(circle_instance.radius)> print>(circle_instance.area())>

>

>

Závěr

Na závěr, vytvoření podtřídy Pythonu zahrnuje definování nové třídy, která dědí atributy a metody z existující třídy, známé jako základní třída nebo nadtřída. Podtřídy mohou rozšířit nebo přepsat funkčnost základní třídy, což umožňuje opětovné použití kódu a přizpůsobení. Prostřednictvím použitísuper()>funkce, podtřídy mohou vyvolat konstruktor nadtřídy k inicializaci sdílených atributů.