將例項用作屬性

2022-05-13 13:55:33 字數 2900 閱讀 5958

1

## coding=gbk

2class

car():

3"""

一次模擬汽車的簡單嘗試

"""4

5def

__init__

(self , make , model , year):

6"""

初始化描述汽車的屬性

"""7 self.make =make

8 self.model =model

9 self.year =year

10 self.odometer_reading =0

1112

defget_descriptive_name(self):

13"""

返回整潔的描述性資訊

"""14 long_name = str(self.year) + '

' + self.make + '

' +self.model

15return

long_name.title()

1617

defread_odometer(self):

18"""

列印一條指出汽車里程數的訊息

"""19

print("

this car has

" + str(self.odometer_reading) + "

miles on it.")

2021

defupdate_odometer(self , mileage):

22"""

23將里程表讀數設定為指定的值

24禁止將里程表讀數往**

25"""

26if mileage >=self.odometer_reading:

27 self.odometer_reading =mileage

28else:29

print("

you can't roll back an ododmeter!")

3031

32def

increment_odometer(self , miles):

33"""

將里程表讀數增加指定的量

"""34 self.odometer_reading +=miles

3536

class

battery():

37"""

一次模擬電動汽車電瓶的簡單嘗試

"""38

39def

__init__ (self , battery_size = 70):

40"""

初始化電瓶的屬性

"""41 self.battery_size =battery_size

4243

defdescribe_battery(self):

44"""

列印一條描述電瓶容量的訊息

"""45

print("

this car has a

" + str(self.battery_size) + "

-kwh battery.")

4647

defget_range(self):

48"""

列印一條訊息,指出電瓶的續航里程

"""49

if self.battery_size ==70:

50 range = 240

51elif self.battery_size == 85:

52 range = 270

5354 message = "

" +str(range)

55 message += "

miles on a full charge."56

print

(message)

5758

class

electriccar(car):

59"""

電動汽車的獨特之處

"""60

61def

__init__

(self , make , model , year):

62"""

63電動汽車的獨特之處

64初始化父親的屬性,再初始化電動汽車特有的屬性

65"""

66 super(). __init__

(make , model , year)

67 self.battery =battery()

6869

defdescribe_battery(self):

70"""

列印一條描述電瓶容量的訊息

"""71

print("

this car has a

" + str(self.battery_size) + "

-kwh battery.")

7273 my_tesla = electriccar('

tesla

' , '

model s

' , 2016)

74print

(my_tesla.get_descriptive_name())

75my_tesla.battery.describe_battery()

76 my_tesla.battery.get_range()

將例項用作屬性:把例項當做乙個大的包含多個屬性的集合標題來進行看待,然後應用例項也就等於使用多個屬性的合集。從而使屬性分類清晰,引用便捷,把例項引用到另乙個大的例項中,從而在使用每乙個大的例項時都可以自動建立小的例項。

將引用作為函式引數

1 void swapr int a,int b 這裡的temp是已經定義的變數,也就是我們說的引用,在上面的函式中,首先定義了乙個函式,上面先定義,再按值傳遞,但是c 中是不可以的。只有指標傳遞,引用傳遞。指標傳遞 viod swapv int p,int q 引用傳遞 void swapr in...

將引用作為函式引數

1 void swapr int a,int b 這裡的temp是已經定義的變數,也就是我們說的引用,在上面的函式中,首先定義了乙個函式,上面先定義,再按值傳遞,但是c 中是不可以的。只有指標傳遞,引用傳遞。指標傳遞 viod swapv int p,int q 引用傳遞 void swapr in...

Java 教程(將介面用作型別)

定義新介面時,你將定義新的引用資料型別,你可以在任何可以使用任何其他資料型別名稱的地方使用介面名稱,如果定義型別為介面的引用變數,則分配給它的任何物件都必須是實現介面的類的例項。作為示例,這裡是一種用於查詢一對物件中的最大物件的方法,用於從實現relatable的類例項化的任何物件 public o...