• 也说说面向对象和类


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

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

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

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

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

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

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

  • 相关阅读:
    带最小值操作的栈 · Min Stack
    删除排序数组中的重复数字 II · Remove Duplicates from Sorted Array II
    K组翻转链表 · Reverse Nodes in k-Group
    HTML DOM Style borderBottomLeftRadius 属性
    PHP For 循环
    PHP copy() 函数
    CSS border-left-color 属性
    ASP.NET Web Pages 文件夹
    no-empty-label (Rules) – Eslint 中文开发手册
    PHP ksort() 函数
  • 原文地址:https://www.cnblogs.com/xiu123/p/8344200.html
Copyright © 2020-2023  润新知