Python OOP: Třída, objekt, dědičnost a konstruktor
⚡ Chytré shrnutí
Objektově orientované programování v Python organizuje kód kolem tříd a objektů, sdružuje související data a chování. Tento přístup ukazuje, jak definovat třídy, vytvářet objekty, aplikovat dědičnost a inicializovat atributy pomocí konstruktorů.

OOPs in Python
OOPs in Python je programovací přístup, který se zaměřuje na používání objektů a tříd stejně jako ostatní obecné programovací jazyky. Objekty mohou být jakékoli entity reálného světa. Python umožňuje vývojářům vyvíjet aplikace pomocí přístupu OOPs s hlavním zaměřením na znovupoužitelnost kódu. Je velmi snadné vytvářet třídy a objekty Python.
Co je třída?
Třída v Python je logická skupinaping dat a funkcí. Dává svobodu vytvářet datové struktury, které obsahují libovolný obsah, a jsou proto snadno dostupné.
Například pro kteréhokoli zaměstnance banky, který chce získat podrobnosti o zákazníkovi online, by měl jít na zákaznická třída, kde by byly uvedeny všechny jeho atributy, jako jsou podrobnosti o transakcích, podrobnosti o výběrech a vkladech, nesplacený dluh atd.
Jak definovat Python třídy
Chcete-li definovat třídu, musíte zvážit následující body
Krok 1) In Python, třídy jsou definovány pomocí "Třída" Klíčové slovo
class myClass():
Krok 2) Uvnitř tříd můžete definovat funkce nebo metody, které jsou součástí této třídy
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Zde máme definovanou metodu method1, která vypíše „Guru99. "
- Další metodou, kterou jsme definovali, je metoda2, která vypíše „Testování softwaru“ + SomeString. SomeString je proměnná dodaná volající metodou
Krok 3) Vše ve třídě je odsazeno, stejně jako kód ve funkci, smyčce, příkazu if atd. Vše, co není odsazeno, není ve třídě
POZNÁMKA: O používání „já“ v Python
- Argument self odkazuje na samotný objekt. Proto se používá slovo self. V rámci této metody se tedy self bude odkazovat na konkrétní instanci tohoto objektu, se kterou se pracuje.
- Self je jméno preferované podle konvence Pythons k označení prvního parametru instančních metod v Python. Je součástí systému Python syntaxe pro přístup k členům objektů
Krok 4) Chcete-li vytvořit objekt třídy
c = myClass()
Krok 5) Volání metody ve třídě
c.method1()
c.method2(" Testing is fun")
- Všimněte si, že když voláme metodu1 nebo metodu2, nemusíme zadávat klíčové slovo pro sebe. To za nás automaticky vyřídí metoda Python runtime.
- Python runtime předá hodnotu „self“, když v instanci zavoláte metodu instance, ať už ji poskytnete úmyslně nebo ne
- Jen se musíte starat o nesobecké argumenty
Krok 6) Zde je úplný kód
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Jak funguje dědičnost
Dědičnost je vlastnost používaná v objektově orientovaném programování; odkazuje na definování nové třídy s menšími nebo žádnými úpravami existující třídy. Nová třída se nazývá odvozená třída a od toho, který zdědí, se nazývá základna. Python podporuje dědičnost; také podporuje vícenásobná dědictví. Třída může dědit atributy a metody chování z jiné třídy, která se nazývá podtřída nebo třída dědice.
Python Syntaxe dědičnosti
class DerivedClass(BaseClass):
body_of_derived_class
Krok 1) Spusťte následující kód
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Všimněte si, že metoda1 v childClass není definována, ale je odvozena z rodičovské třídy myClass. Výstup je „Guru99. "
Krok 2) Odkomentujte řádek č. 8 a 10. Spusťte kód
Nyní je metoda 1 definována v childClass a výstup „childClass Method1“ je správně zobrazen.
Krok 3) Odkomentovat řádek č. 9. Spusťte kód
Pomocí syntaxe můžete volat metodu nadřazené třídy
ParentClassName.MethodName(self)
V našem případě voláme myClass.method1(self) a GuruČíslo 99 je vytištěno dle očekávání.
Krok 4) Odkomentovat řádek č. 19. Spusťte kód.
Zavolá se metoda 2 podřízené třídy a podle očekávání se vytiskne „metoda třídy2 dítěte“.
Python Konstruktory
Konstruktor je funkce třídy, která vytváří instanci objektu na předdefinované hodnoty.
Začíná dvojitým podtržítkem (_). Je to metoda __init__()
V níže uvedeném příkladu bereme jméno uživatele pomocí konstruktoru.
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
Výstup bude:
Vítejte v Guru99, Alex
Python 2 Příklad
Výše uvedené kódy jsou Python 3 příklady, pokud se chcete zapojit Python 2 prosím zvažte následující kód.
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Přečtěte si náš další tutoriál o Polymorfismus v Python


