Héritage de classe et super fonction

python


class Car(object):
    def __init__(self, model=None):
        self.model = model
    def run(self):
        print('run')

class ToyotaCar(Car):
    def run(self):
        print('run fast')

class TeslaCar(Car):
    def __init__(self, model='Model A', enable_auto_run=False):
        super().__init__(model)
        self.enable_auto_run = enable_auto_run
    def run(self):
        print('run very fast')
    def auto_run(self):
        print('auto run')

car = Car()
car.run()

print('############')

toyota_car = ToyotaCar('Lexus')
print(toyota_car.model)
toyota_car.run()

print('############')

tesla_car = TeslaCar('Model S')
print(tesla_car.model)
tesla_car.run()
tesla_car.auto_run()

Résultat d'exécution


run
############
Lexus
run fast
############
Model S
run very fast
auto run

Le constructeur de la classe TeslaCar est À l'origine

python


def __init__(self, model='S Model', enable_auto_run=False):
        self.model = model
        self.enable_auto_run = enable_auto_run

Je suis sur le point d'écrire Il fait la même chose que le constructeur de super classe, donc Il peut être écrit en utilisant la super fonction.

Recommended Posts

Héritage de classe et super fonction
Comparaison de l'héritage de classe et de la description du constructeur
Problème avec les variables pseudo-privées Python et l'héritage de classe
À propos de la classe et de l'instance
Fonctions et décorateurs d'ordre supérieur
Remplacement de méthode et super
[Python] Héritage de classe, remplacement
Classes et méthodes statiques
Fonction anonyme et fonction de carte
Diverses méthodes de classe et méthodes statiques
Python: variables de classe et d'instance
Variables de classe et d'instance Python
[python] super (), héritage, __init__, etc.
Fonctions de tri et de comparaison Python 3
Fonctions d'ordre supérieur et notation d'inclusion en Python
Évitez d'implémenter des fonctions inutiles avec l'héritage
J'hériterai et remplacerai la classe
[Hikari-Python] Chapitre 09-03 Classe (Héritage)
Définitions de classe Python et gestion des instances
Formules et fonctions (mises à jour le cas échéant)
J'ai examiné les remplacements d'héritage de classe.
Calcul de la classe auto-fabriquée et de la classe existante
objet perl et classe python partie 1.
Comprendre les règles et les fonctions convexes d'Armijo
Conseils pour remplacer et déboguer les fonctions