首页 / PYTHON / python面向对象方式-烤地瓜
python面向对象方式-烤地瓜
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python面向对象方式-烤地瓜,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2237字,纯文字阅读大概需要4分钟。
内容图文
![python面向对象方式-烤地瓜](/upload/InfoBanner/zyjiaocheng/657/2ba6f1e36eee47c39fc5e1b60797524b.jpg)
# 以面向对象的方式分析烤地瓜
# 1. 抽象类,在程序中定义类
# 定义地瓜类
# 定义人类
# 2. 分析地瓜类的成员
# 2.1 属性: 烤地瓜的状态, 烤地瓜的时间, 佐料列表属性
# 2.2 方法: 无
# 3. 分析人类的成员
# 3.1 属性: 姓名, 烤龄,性别
# 3.2 方法: 烤地瓜的行为方法,添加佐料方法
# 人类
class Person(object):
def __init__(self, name, age):
self.name = name
# 烤龄
self.age = age
# 提供烤地瓜的行为方法
def roast(self, time, roast_sp):
# 把每次传入的时间,累加到烤地瓜的时间属性上
roast_sp.roast_time += time
# 根据烤地瓜的总时间来判断地瓜的状态
if roast_sp.roast_time > 10:
roast_sp.roast_status = "烤糊了"
elif roast_sp.roast_time > 6: # [7,10]
roast_sp.roast_status = "烤熟了"
elif roast_sp.roast_time > 3: # [4, 6]
roast_sp.roast_status = "半生不熟"
else:
roast_sp.roast_status = "生的"
# 添加佐料的方法
def add_condiment(self, new_condiment, roast_sp):
roast_sp.condiment_list.append(new_condiment)
def __str__(self):
return "姓名: %s 烤龄: %d" % (self.name, self.age)
# 地瓜类
class SweetPotato(object):
def __init__(self):
# 给地瓜对象添加属性信息
# 烤地瓜的状态
self.roast_status = "生的"
# 烤地瓜的时间, 相当于烤地瓜的总时间
self.roast_time = 0
# 佐料列表
self.condiment_list = []
def __str__(self):
# 判断地瓜有没有佐料
if self.condiment_list:
# ["番茄酱", "辣椒酱"] => "番茄酱,辣椒酱"
condiment_list_str = ",".join(self.condiment_list)
return self.roast_status + "地瓜" + "[" + condiment_list_str + "]"
else:
return self.roast_status + "地瓜"
print("===========准备开始烤地瓜啦===========")
# 通过类创建一个地瓜对象
sp = SweetPotato()
print(sp)
# 通过类创建一个烤地瓜的师傅
person = Person("老王", 10)
print(person)
print("===========先烤三分钟===========")
person.roast(3, sp)
print(sp)
print("===========再烤三分钟===========")
person.roast(3, sp)
print(sp)
print("===========再烤三分钟===========")
person.roast(3, sp)
print(sp)
print("===========添加佐料===========")
person.add_condiment("番茄酱", sp)
person.add_condiment("辣椒酱", sp)
print(sp)
# 总结:面向对象要找合适的功能对象,合适方法需要放到合适类里面
内容总结
以上是互联网集市为您收集整理的python面向对象方式-烤地瓜全部内容,希望文章能够帮你解决python面向对象方式-烤地瓜所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。