加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

也说说面向对象和类

发布时间:2020-12-17 00:09:54 所属栏目:Python 来源:网络整理
导读:这里没有长篇大论,这里只有伪代码 今天我要做饭,炒两个菜,一个是鸡蛋炒西红柿,一个是鸡蛋炒黄瓜。现在我要做的是先去市场买菜,然后是炒菜 如果面向过程的话我会这样写 -------------------面向过程----------------- 菜1 = 鸡蛋 菜2 = 西红柿 菜3 = 黄

这里没有长篇大论,这里只有伪代码

今天我要做饭,炒两个菜,一个是鸡蛋炒西红柿,一个是鸡蛋炒黄瓜。现在我要做的是先去市场买菜,然后是炒菜

如果面向过程的话我会这样写

-------------------面向过程-----------------

菜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.炒()

----------------面向对象,加入类--------------------

类后面再写,前两天和朋友聊到这个,我就举了这个例子,他说不好理解,真的是这样么?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读