对象之一个示例类---HotDog,,


  一个示例类---HotDog

  在这个例子中,我们假设热狗总包括一个小面包。(否则可真是一团糟。)下面为热狗指定一些属性和方法。

  下面是热狗的属性

  cooked_level:这是一个数字,通过这个属性我们可以知道热狗烤了多长时间。0-3表示还是生的,超过3表示半生不熟,超过5表示已经烤好,超过8表示已经烤成木炭了!我们的热狗开始时是生的。

  cooked_string:这是一个字符串,描述热狗的生熟程度。

  condiments:这是热狗上的配料列表,比如番茄酱、芥末酱等。

  下面是热狗的方法

  cook():把热狗烤一段时间,这会让热狗越来越熟。

  add_condiment():给热狗加一些配料。

  _init_():创建实例并设置默认属性

  _str_():让print的结果看起来更好一些

  首先,需要定义类,先定义_init_()方法,它会为热狗设置默认属性:

  与孩子一起学编程-python教程

  先从一个没有加任何配料的生热狗开始。

  与孩子一起学编程-python教程

  现在,来建立一个方法烤热狗:

  与孩子一起学编程-python教程

  继续下面的工作之前,先对这一部分做个测试,首先,需要创建热狗的一个实例,还要检查它的属性。

  与孩子一起学编程-python教程

  下面把这些内容都放在一个程序中,运行这个程序,代码清单14-5显示了(到目前为止)完整的程序。

  与孩子一起学编程-python教程

  与孩子一起学编程-python教程

  现在,运行代码清单14-5中的代码,看看会得到什么,结果应该像这样:

  与孩子一起学编程-python教程

  可以看到,属性分别是cooked_level=0,cooked_string="Raw",另外condiments为空。

  现在来测试cook()方法,把下面的代码行增加到代码清单14-5中:

  与孩子一起学编程-python教程

  再运行这个程序,现在输出会变成:

  与孩子一起学编程-python教程

  看来我们的cook()方法能正常工作,cooked_level从0变成4,而且字符串也得到更新(从Raw变成Medium)

  下面来增加一些配料,这需要一个新的方法,另外还可以自己增加_str_()函数,让打印对象更为容易,按代码清单14-6编辑程序。

  与孩子一起学编程-python教程与孩子一起学编程-python教程

  这个代码清单有点儿长,但我还是建议你自己键入这些代码,而且你已经有了之前代码清单14-5中的部分代码,不过,如果你的手指确实很累,或者你没有时间,也可以在examples文件夹上找到这个代码。

  运行这个程序,看看能得到什么,结果应该如下:

  与孩子一起学编程-python教程

  程序的第一部分创建了类。第二部分测试了烤这个虚拟热狗和添加配料的方法,不过从最后几行代码来看,我认为烤得太过了,这太浪费番茄酱和芥末酱了!

  与孩子一起学编程-python教程

评论关闭