首页 > 其他分享 >练习1:面向对象

练习1:面向对象

时间:2024-01-17 20:46:40浏览次数:20  
标签:mood variety self 练习 面向对象 ._ def name

使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。

要求:

  1. 设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问

  2. 限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认设置“心情好”。

  3. 设置构造函数实现对属性赋值

  4. 叫和跑的方法,需要根据心情好坏,描述不同的行为方式。

编写测试类,测试狗类的对象及相关方法(测试数据信息自定义)

class Dog:
    def __init__(self,variety,age,mood,name):
        self._variety=variety
        self._age=age
        self._mood=mood   #私有
        self._name=name

    def get_variety(self):
        return self._variety

    def set_variety(self,variety):
        self.variety=variety

    def get_age(self):
        return self._age

    def set_age(self,age):
        self.age=age

    def get_name(self):
        return self._name

    def set_name(self, name):
        self.name=name

    def get_mood(self):
        return self._mood

    def set_mood(self,mood):
        if mood in ['心情好','心情不好']:
            self.mood=mood
        else:
            print('输入错误信息,这只狗狗今天心情很好!')

    def call(self):
        if self._mood=='心情好':
            print(f'名字叫{self._name}的{self._variety}心情很好,开心的围着主人身边转')
        else:
            print(f'字叫{self._name}的{self._variety}心情不好,伤心的一动不动')

    def run(self):
        if self._mood=='心情好':
            print(f'名字叫{self._name}的{self._variety}心情很好,开心的汪汪叫')
        else:
            print(f'名字叫{self._name}的{self._variety}心情很不好,伤心的呜呜叫')


dog3=Dog('贵宾犬',3,'心情好','甜心')
dog3.set_mood('goujiao')


dog1=Dog('贵宾犬',3,'心情好','甜心')
# print(dog1.get_name(),dog1.get_variety(), dog1.get_mood())

dog1.call()
dog1.run()
print('='*50)
dog2=Dog('德州牧犬',2,'心情不好','太子')
dog2.call()
dog2.run()

标签:mood,variety,self,练习,面向对象,._,def,name
From: https://www.cnblogs.com/T3h4t5-Blog90/p/17971129

相关文章

  • 练习2:面向对象
    以面向对象的思想,编写自定义类描述ITpractitioner。设定属性包括:姓名,年龄,技术方向,工作年限,工作单位和职务;方法包括:工作要求:1)设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问2)限定IT从业人员必须年满15岁,无效信息需提示,并设置默认年龄为15。3)......
  • 练习3:面向对象
    #请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。设定1)出租车类:属性包括:车型,车牌,所属出租公司;方法包括:启动,停止2)家用轿车类:属性包括:车型,车牌,车主姓名;方法包括:启动,停止要求1)分析出租车和家用轿车的公共成员,提取出父类—汽车类2)利用继承机制,实现出......
  • 30.定语从句-定语从句的练习-1
    练习夜莺用生命换来的玫瑰花被扔掉了Therose___that/which___thenightingale(夜莺)exchangedwithhislifewasdiscarded(抛弃,扔掉)。 withhislifewasdiscarded——是介词短语,不能做宾语。 这些圆顶的建筑物看起来很漂亮。Buildings____whose___roofsareroun......
  • 面向对象
    面向对象面向对象概述###面向对象是基于过程来的事想,在程序中创建实例化对象,指挥对象做事情(指挥官)1.面向对象开发1.1语法格式classPeople:defsend_emmail(self,name)print(f'发送邮件给{name}')p1=People()p1.send_email('马云')2.类中的函数定义在p......
  • 练习
    在控制台中输出99乘法表(做出之后,想一想能不能使用一行代码生成)双重for循环forjinrange(5):#外层for循环控制的行数foriinrange(5):#内层for循环控制的列数print('*',end='\t')print()print("------------------------------------------------")需求:打印三角......
  • 函数练习1
    练习:定义一个函数,函数接收2个参数,第一个参数是一个大字符串,第二个参数是一个字符,函数功能是判断该字符在大字符串中出现的次数defget_str_count(big_str,s):count=0foriinbig_str:ifi==s:count+=1print(f'{s}字符在大字符串中共出现了{count}次。。')get_str_count(......
  • Python面向对象之元类
    元类【一】概要元类是类的类,它用于定义其他类。在Python中,一切皆对象,包括类。而元类就是用来创建这些类的“类”。类是对象:在Python中,类本身也是一个对象,而元类就是用来创建这些类的对象。【二】常见用法type函数:在Python中,type函数不仅可以返回对象的类型,还可以用于创建......
  • 练习题1
    使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心情,名字;方法包括:叫,跑。要求:1)设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示,默认设置“心情好”。3)设置构造......
  • PA0:关于练习题
    练习11: 附加题:复制操作:i=0;while(i<argc){states[i]=argv[i];i++;}如果还要考虑安全性,那就在循环体里面增加判断:i=0;j=0;while(i<argc){states[i]=argv[i];i++;j++;if(j>=......
  • Python 面向对象的私有属性获取
    前言全局说明一、安装flask模块二、引用模块三、启动服务模块安装、引用模块、启动Web服务方法,参考下面链接文章:https://www.cnblogs.com/wutou/p/17963563四、面向对象的私有属性获取4.1.2classFoo:def__init__(self):self.name='wangwu'......