這裡沒有長篇大論,這裡只有偽代碼 今天我要做飯,炒兩個菜,一個是雞蛋炒西紅柿,一個是雞蛋炒黃瓜。現在我要做的是先去市場買菜,然後是炒菜 如果面向過程的話我會這樣寫 面向過程 菜1 = 雞蛋 菜2 = 西紅柿 菜3 = 黃瓜 買菜1 買菜2 買菜3 打菜1(打雞蛋) 切菜2(切西紅柿) 成品1 = 炒 ...
這裡沒有長篇大論,這裡只有偽代碼
今天我要做飯,炒兩個菜,一個是雞蛋炒西紅柿,一個是雞蛋炒黃瓜。現在我要做的是先去市場買菜,然後是炒菜
如果面向過程的話我會這樣寫
-------------------面向過程-----------------
菜1 = 雞蛋
菜2 = 西紅柿
菜3 = 黃瓜
買菜1
買菜2
買菜3
打菜1(打雞蛋)
切菜2(切西紅柿)
成品1 = 炒菜1+菜2
打菜1
切菜3(切黃瓜)
成品2 = 炒菜1+菜3
print 成品1
print 成品2
-------------------面向過程-----------------
明顯這樣比較繁瑣,並且不易於掌握和分配,那麼給他全部改成函數的面向對象寫法
----------------面向對象--------------------
def 買(菜):
付錢
return 菜
def 打(菜):
菜 = 打發(菜)
return 菜
def 切(菜):
if len(菜) == 長:
菜 = 切片(菜)
else:
菜 = 切塊(菜)
return 菜
def 炒(菜1,菜2):
成品 = 菜1 + 菜2
return 成品
if __name__ == '__main__':
菜1 = 買(雞蛋)
菜2 = 買(西紅柿)
菜3 = 買(黃瓜)
成品1 = 炒(打(菜1),切(菜2))
成品2 = 炒(打(菜1),切(菜3))
----------------面向對象--------------------
現在我還是覺得彆扭,既然成品1和成品2都是炒,那就直接歸為一類就得了唄,那麼就有了類
----------------面向對象,加入類--------------------
def 買(菜):
付錢
return 菜
class 炒菜(object):
def __init__(self,菜1,菜2):
self.菜1 = 菜1
self.菜2 = 菜2
def 打(self):
菜 = 打發(self.菜1)
return 菜
def 切(self):
if len(菜) == 長:
菜 = 切片(菜)
else:
菜 = 切塊(菜)
return 菜
def 炒(self):
成品 = self.打() + self.切()
return 成品
if __name__ == '__main__':
菜1 = 買(雞蛋)
菜2 = 買(西紅柿)
菜3 = 買(黃瓜)
成品1 = 炒菜(菜1,菜2)
print 成品1.炒()
成品2 = 炒(菜1,菜3)
print 成品2.炒()
----------------面向對象,加入類--------------------
類後面再寫,前兩天和朋友聊到這個,我就舉了這個例子,他說不好理解,真的是這樣麽?