美文网首页
1.python面向对象应用。

1.python面向对象应用。

作者: 华丽的微笑 | 来源:发表于2017-11-14 20:29 被阅读0次

    烤地瓜


    示例属性如下:

    cookedLevel : 这是数字;0~3表示还是生的,超过3表示半生不熟,超过5表示已经烤好了,超过8表示已经烤成木炭了!我们的地瓜开始时时生的

    cookedString : 这是字符串;描述地瓜的生熟程度

    condiments : 这是地瓜的配料列表,比如番茄酱、芥末酱等

    示例方法如下:

    cook() : 把地瓜烤一段时间

    addCondiments() : 给地瓜添加配料

    __init__() : 设置默认的属性

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


    1.定义类,并且定义__init__()方法

    #定义`地瓜`类

    class SweetPotato:

    '这是烤地瓜的类'

    #定义初始化方法

    def __init__(self):

    self.cookedLevel = 0

    self.cookedString = "生的"

    self.condiments = []


    2.添加"烤地瓜"方法

    #烤地瓜方法

    def cook(self, time):

    self.cookedLevel += time

    if self.cookedLevel > 8:

    self.cookedString = "烤成灰了"

    elif self.cookedLevel > 5:

    self.cookedString = "烤好了"

    elif self.cookedLevel > 3:

    self.cookedString = "半生不熟"

    else:

    self.cookedString = "生的"


    3.测试cook方法是否好用。

    print("------接下来要进行烤地瓜了-----")

    mySweetPotato.cook(4) #烤4分钟

    nt(mySweetPotato.cookedLevel)

    print(mySweetPotato.cookedString)


    4.定义addCondiments()方法和__str__()方法。

    def __str__(self):

    msg = self.cookedString + " 地瓜"

    if len(self.condiments) > 0:

    msg = msg + "("

    for temp in self.condiments:

    msg = msg + temp + ", "

    msg = msg.strip(", ")

    msg = msg + ")"

    return msg

    def addCondiments(self, condiments):

    self.condiments.append(condiments)


    5.完整代码是:

    class SweetPotato:

    "这是烤地瓜的类"

    #定义初始化方法

    def __init__(self):

    self.cookedLevel = 0

    self.cookedString = "生的"

    self.condiments = []

    #定制print时的显示内容

    def __str__(self):

    msg = self.cookedString + " 地瓜"

    if len(self.condiments) > 0:

    msg = msg + "("

    for temp in self.condiments:

    msg = msg + temp + ", "

    msg = msg.strip(", ")

    msg = msg + ")"

    return msg

    #烤地瓜方法

    def cook(self, time):

    self.cookedLevel += time

    if self.cookedLevel > 8:

    self.cookedString = "烤成灰了"

    elif self.cookedLevel > 5:

    self.cookedString = "烤好了"

    elif self.cookedLevel > 3:

    self.cookedString = "半生不熟"

    else:

    self.cookedString = "生的"

    #添加配料

    def addCondiments(self, condiments):

    self.condiments.append(condiments)

    # 用来进行测试

    mySweetPotato = SweetPotato()

    print("------有了一个地瓜,还没有烤-----")

    print(mySweetPotato.cookedLevel)

    print(mySweetPotato.cookedString)

    print(mySweetPotato.condiments)

    print("------接下来要进行烤地瓜了-----")

    print("------地瓜经烤了4分钟-----")

    mySweetPotato.cook(4) #烤4分钟

    print(mySweetPotato)

    print("------地瓜又经烤了3分钟-----")

    mySweetPotato.cook(3) #又烤了3分钟

    print(mySweetPotato)

    print("------接下来要添加配料-番茄酱------")

    mySweetPotato.addCondiments("番茄酱")

    print(mySweetPotato)

    print("------地瓜又经烤了5分钟-----")

    mySweetPotato.cook(5) #又烤了5分钟

    print(mySweetPotato)

    print("------接下来要添加配料-芥末酱------")

    mySweetPotato.addCondiments("芥末酱")

    print(mySweetPotato)

    2.保护对象的属性(私有属性)

    如果有一个对象,当需要对其进行修改属性时,有2种方法

    对象名.属性名 = 数据 ---->直接修改

    对象名.方法名() ---->间接修改

    为了更好的保存属性安全,即不能随意修改,一般的处理方式为

    将属性定义为私有属性

    添加一个可以调用的方法,供调用

    3.添加家具

    相关文章

      网友评论

          本文标题:1.python面向对象应用。

          本文链接:https://www.haomeiwen.com/subject/retqvxtx.html