Pythonなど、クラスの継承
2007 ワード
1>自動車クラスの作成
Python 2.7 Xではクラス定義にobjectを追加する必要がありますが、Python 3 Xでは省略します!Init()メソッドは、クラスインスタンスcarの作成時に自動的に呼び出され、実パラメータselfに自動的に入力されます.クラスに関連付けられた各メソッドは、インスタンス自体への参照であり、サンプルがクラス内のメソッドとプロパティにアクセスできるように、インスタンスselfを自動的に渡します.selfを接頭辞とする変数はクラス内のすべての方法で使用できます.また、クラスの任意の例でこれらの変数にアクセスすることもできます.C、C++のクラスのpublic変数と似ています.!デフォルト値selfを設定.odermeter_reader=0
class ElectricCar(Car): def init(self,make,model,year,battery=40): super(ElectricCar,self).init(make,model,year) self.battery_size=battery
class Batery(object): def init(self,battery_size=90): self.battery_size=battery_size
class ElectricCar(Car): def init(self,make,model,year,battery=40): super(ElectricCar,self).init(make,model,year) self.battery=Batery()
my_new_car2=ElectricCar('audi','a4','2017') print(my_new_car2.get_descriptive_name()) my_new_car2.battery.describe_battery()
Python 2.7 Xではクラス定義にobjectを追加する必要がありますが、Python 3 Xでは省略します!Init()メソッドは、クラスインスタンスcarの作成時に自動的に呼び出され、実パラメータselfに自動的に入力されます.クラスに関連付けられた各メソッドは、インスタンス自体への参照であり、サンプルがクラス内のメソッドとプロパティにアクセスできるように、インスタンスselfを自動的に渡します.selfを接頭辞とする変数はクラス内のすべての方法で使用できます.また、クラスの任意の例でこれらの変数にアクセスすることもできます.C、C++のクラスのpublic変数と似ています.!デフォルト値selfを設定.odermeter_reader=0
class Car(object):
def __init__(self,make,model,year):
self.make=make
self.model=model
self.year=year
self.odermeter_reader=0
def get_descriptive_name(self):
long_name=str(self.year)+' '+self.make+' '+self.model
return long_name
my_new_car=Car('audi','a4','2017')
print(my_new_car.get_descriptive_name())```
#####2>
, ( ) 。
。
, 。
Python3.5
`super().__init__(make,model,year)`
Python2.7 :
class ElectricCar(Car): def init(self,make,model,year,battery=40): super(ElectricCar,self).init(make,model,year) self.battery_size=battery
def describe_battery(self):
print("This car has a "+str(self.battery_size)+"-kwh battery.")
!super() , 。
! __init__() ,
#####3>
__init__(), ,, , 。
#####4>
class Batery(object): def init(self,battery_size=90): self.battery_size=battery_size
def describe_battery(self):
print("This car has a "+str(self.battery_size)+"-kwh battery.")
class ElectricCar(Car): def init(self,make,model,year,battery=40): super(ElectricCar,self).init(make,model,year) self.battery=Batery()
ElectricCar
my_new_car2=ElectricCar('audi','a4','2017') print(my_new_car2.get_descriptive_name()) my_new_car2.battery.describe_battery()