SAM+線段樹合併模板
阿新 • • 發佈:2022-03-24
目錄
以上就是面向過程與面向物件一個對比。但是在實際的程式中,我們不會用函式來完成這個模板,而是用**類**來完成這個模板。
1、引入
假如我們是《英雄聯盟》這款遊戲的開發人員,我們現在要創造幾個英雄(流浪法師·瑞茲、卡牌大師·崔斯特、探險家·伊澤瑞爾)、幾個怪獸(大龍、小龍)
1.1、按照面向過程的想法
1、定義瑞茲
def Ryze(): data={ 'nick':'流浪法師', 'name':'瑞茲', 'hp':1000, 'ap':80 } print (data) Ryze() # {'nick': '流浪法師', 'name': '瑞茲', 'hp': 1000, 'ap': 80}
2、定義卡牌
def Twisted():
data={
'nick':'卡牌大師',
'name':'崔斯特',
'hp':600,
'ap':80
}
print (data)
Twisted()
# {'nick': '卡牌大師', 'name': '崔斯特', 'hp': 600, 'ap': 80}
3、定義ez
def Ezreal(): data={ 'nick':'探險家', 'name':'伊澤瑞爾', 'hp':700, 'ap':80 } print (data) Ezreal() # {'nick': '探險家', 'name': '伊澤瑞爾', 'hp': 700, 'ap': 80}
4、定義大龍
def Bigdargon():
data={
'name':'大龍',
'hp':2000,
'ad':30
}
print (data)
Bigdargon()
# {'name': '大龍', 'hp': 2000, 'ad': 30}
5、定義小龍
def Littledargon(): data={ 'name':'小龍', 'hp':1000, 'ad':20 } print (data) Littledargon() # {'name': '小龍', 'hp': 1000, 'ad': 20}
如果有更多的英雄或者怪獸,就要這麼一直持續下去,非常的麻煩
1.2、按照面向物件的想法
1、定義一個英雄的模板(模子)
def hero(nick,name,hp,ad):
data={
'nick':nick,
'name':name,
'hp':hp,
'ad':ad
}
print (data)
2、根據這個英雄的模板(模子)建立瑞茲(例項化成具體的英雄)
Ryze=hero('流浪法師','瑞茲',1000,800)
# {'nick': '流浪法師', 'name': '瑞茲', 'hp': 1000, 'ad': 800}
3、建立卡牌
Twisted=hero('卡牌大師','崔斯特',600,80)
# {'nick': '卡牌大師', 'name': '崔斯特', 'hp': 600, 'ad': 80}
4、建立EZ
Ezreal=hero('探險家','伊澤瑞爾',700,80)
# {'nick': '探險家', 'name': '伊澤瑞爾', 'hp': 700, 'ad': 80}
5、定義一個怪獸的模板(模子)
def monster(name,hp,ad):
data={
'name':name,
'hp':hp,
'ad':ad
}
print (data)
6、根據這個怪獸的模板(模子)建立大龍(例項化成具體的怪獸)
Bigdargon=monster('大龍',2000,30)
# {'name': '大龍', 'hp': 2000, 'ad': 30}
7、建立小龍
Littledargon=monster('小龍',1000,20)
# {'name': '小龍', 'hp': 1000, 'ad': 20}
以上就是面向過程與面向物件一個對比。但是在實際的程式中,我們不會用函式來完成這個模板,而是用**類**來完成這個模板。