Connaissance de base de Python ⑤. C'est ma note d'étude. Veuillez ne pas trop attendre.
Principes de base de Python
Principes de base de Python ②
Principes de base de Python ③
Principes de base de Python ④
-Créer une nouvelle classe basée sur une classe existante
Hériter d'autres classes en définissant " class new class name (original class name): "
Vous pouvez définir une nouvelle classe.
La nouvelle classe est appelée "classe enfant" </ b> et la classe d'origine est appelée "classe parent" </ b>.
menu_item.py
#Classe parent
class MenuItem:
def __init__(self, name, price):
self.name = name
self.price = price
def info(self):
return self.name + ': ¥' + str(self.price)
def get_total_price(self, count):
total_price = self.price * count
if count >= 3:
total_price *= 0.9
return round(total_price)
sweets.py
#Classe enfant
# menu_item.Charger la classe MenuItem depuis py
from menu_item import MenuItem
#Définir une nouvelle classe en héritant d'une autre classe
class Sweets(MenuItem):
pass #Indique qu'il n'y a pas de traitement
#Aligner les retraits (4 espaces demi-largeur)
-Méthode d'instance de classe enfant La classe enfant peut utiliser à la fois des «méthodes définies dans la classe parent» et des «méthodes définies indépendamment». Cependant, la méthode de la classe enfant ne peut pas être utilisée dans la classe parent.
sweets.py
#Classe enfant
from menu_item import MenuItem
class Sweets(MenuItem):
def calorie_info(self): #Ajouter self au premier argument de la définition de méthode
print(str(self.calorie) + 'est kcal') # str()Convertir des nombres en chaînes avec
#Aligner les retraits (4 espaces demi-largeur)
menu_item.py
#Classe parent
class MenuItem:
def __init__(self, name, price):
self.name = name
self.price = price
def info(self):
return self.name + ': ¥' + str(self.price)
def get_total_price(self, count):
total_price = self.price * count
if count >= 3:
total_price *= 0.9
return round(total_price)
sweets.py
from menu_item import MenuItem
class Food(MenuItem):
#définir la méthode d'information
def info(self):
return self.name + ': ¥' + str(self.price) + str(self.calorie) + 'kcal'
def calorie_info(self):
print(str(self.calorie) + 'est kcal')
La méthode info dans la classe enfant est prioritaire et est écrasée à la place de la méthode info dans la classe parent
-En réglant "super (). Method name ()" ` La méthode d'instance définie dans la classe parent peut être utilisée telle quelle.
menu_item.py
#Classe parent
class MenuItem:
def __init__(self, name, price):
self.name = name
self.price = price
def info(self):
return self.name + ': ¥' + str(self.price)
def get_total_price(self, count):
total_price = self.price * count
if count >= 3:
total_price *= 0.9
return round(total_price)
sweets.py
from menu_item import MenuItem
class Food(MenuItem):
def __init__(self, name, price):
# super()De la classe parente utilisant__init__()Appel
super().__init__(name, price)
# self.name =nom → Supprimer les pièces dupliquées
# self.price =prix → Supprimer la pièce dupliquée
def info(self):
return self.name + ': ¥' + str(self.price) + str(self.calorie) + 'kcal'
def calorie_info(self):
print(str(self.calorie) + 'est kcal')
Recommended Posts