Maison >développement back-end >Tutoriel Python >Quelles sont les utilisations de l'héritage en python ? Explication détaillée de l'utilisation de l'héritage Python
Le contenu de cet article explique comment utiliser l'héritage en Python ? L'explication détaillée de l'utilisation de l'héritage python a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'elle vous sera utile.
Trois caractéristiques majeures de l'orienté objet
1. Encapsulation : encapsuler les propriétés et les méthodes dans une classe abstraite en fonction des responsabilités
2. Héritage : réaliser la réutilisation du code, le même code n'a pas besoin d'être Écriture répétée
3. Polymorphisme
Héritage unique
Le concept d'héritage : la sous-classe a tous les attributs et méthodes de la classe parent
La syntaxe de l'héritage
classe nom de la classe (classe parent) :
def Méthodes spécifiques à la sous-classe
"""
"""
La classe Cat est une sous-classe de la classe Animal, la classe Animal est la classe parent de la classe Cat, Cat hérite de la classe Animal
La classe Cat est une classe dérivée de la classe Animal. La classe Animal est la classe de base de la classe Cat. Elle est dérivée de la classe Animal
"""
1.
class Animal(object): def eat(self): print '吃' def drink(self): print '喝' def run(self): print '跑' def sleep(self): print '睡'
class Cat(Animal): # 子类拥有父类的所有属性和方法 def call(self): print '喵喵' class Dog(Animal): def bark(self): print '旺旺' class Hellokitty(Cat): def speak(self): print '我可以说日语'.
# 创建一个猫对象 fentiao = Cat() fentiao.eat() fentiao.drink() fentiao.run() fentiao.sleep() fentiao.call()
2.
Remplacez la méthode de la classe parent
1. Remplacez la méthode de la classe parent
2. Étendre la méthode de la classe parent
"""
class Animal: def eat(self): print '吃' def drink(self): print '喝' def run(self): print '跑' def sleep(self): print '睡'
class Cat(Animal): # 子类拥有父类的所有属性和方法 def call(self): print '喵喵'
class Hellokitty(Cat): def speak(self): print '我可以说日语' def call(self): # 针对子类特有的需求,编写代码 print '欧哈有~空你起哇' # 调用原本在父类中封装的代码 Cat.call(self) # 增加其他的子类代码 print '#!@$@!#!#' kt = Hellokitty() # 如果子类中,重写了父类的方法 # 在运行中,只会调用在子类中重写的父类的方法而不会调用父类的方法 kt.call()
3.
class Bird: def __init__(self): self.hungry = True # 鸟吃过了以后就不饿了 def eat(self): if self.hungry: print 'Aaaaahhh...' self.hungry = False else: print 'No thanks'
class SongBird(Bird): def __init__(self): self.sound = 'Squawk!' Bird.__init__(self) def sing(self): print self.sound
littlebird = SongBird() littlebird.eat() littlebird.sing()
4.
class A: def test(self): print 'A-----test 方法' def demo(self): print 'A-----demo 方法' class B: def test(self): print 'B------test 方法' def demo(self): print 'B-------demo方法' class C(B,A): """多继承可以让子类对象,同时具有多个父类的属性和方法""" pass
# 创建子类对象 c = C() c.test() c.demo()
Recommandations associées :
Héritage simple et héritage multiple en Python
Qu'est-ce que l'héritage des classes Python ? Quelles sont les règles d’héritage de classe ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!