文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python 第3天

2023-01-31 07:58

关注

class Hotdog:

    def __init__(self):  #初始化对象

        self.cooked_level = 0

        self.cooked_string ="Raw"

        self.condiments = [] #空数组

    def __str__(self):  #print(对象)

        msg = "hot dog"

        if len (self.condiments) > 0 :

            msg = msg + " with"

        for i in self.condiments:

            msg = msg +" "+ i + ","

        msg = msg.strip(",")

        msg = self.cooked_string + " "+msg + "."+str(self.cooked_level)

        return msg

    def cook (self,time):

        self.cooked_level = self.cooked_level + time

        if self.cooked_level > 8:

            self.cooked_string = "Charcoal"

        elif self.cooked_level > 5:

            self.cooked_string = "Well_down"

        elif self.cooked_level >=3:

            self.cooked_string = "Medium"

        else:

            self.cooked_string = "Raw"

    def addCondiment(self,condiments):

        self.condiments.append(condiments)

        

myDog = Hotdog()

print (myDog)


print ("Cooking hot dog for 4 minutes...")

myDog.cook(4)

print (myDog)

print ("Cooking hot dog for 3 minutes...")

myDog.cook(3)

print (myDog)

print ("Cooking hot dog for 10 minutes...")

myDog.cook(10)


myDog.cooked_level=3 # 这些对象的属性都可以更改,不用通过方法,python 没有提供隐藏数据的方法,不过可以自己搞定。

print (myDog)

print ("Now I'm going to add some stuff on my hot dog")

myDog.addCondiment("ketchup")

myDog.addCondiment("mustard")

print (myDog)


设置私有变量和私有方法可以用__开头

class Person:

    def __init__(self):

        self.__name = "jixiang"

        self.age = 22

    def __get_name(self):

        return self.__name

    def get_name(self):

        return self.__name

    def get_age(self):

        return self.age

    def change_name(self):

        self.__name = "malong"

        return self.__name

    def change_name1(self):

        self.__name = "jilong" #可以清楚的看到无论是私有属性还是私有方法在类内都可以使用。

        newname=self.__get_name()

        return newname


person = Person()

print (person.get_age())

#print (person.__get_name())  #无论是私有变量还是私有方法都无法访问。

#print (person.__name)


person.__name ="lilong" #这里虽然没有报错,但是你看下面,打印出来依然没有改变

print (person.get_name())


person.change_name()

print (person.get_name())


person.change_name1()

print (person.get_name())


下面进入多态 ,

封装继承多态是面向对象的重要内容。

多态

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯