python利用面向对象的思想实现功能代码练习

1.利用面向对象的思想,实现以下功能:
(1)创建一个猫(Cat)类,其包含属性:名字(name)、品种(type)、
价格(price)、颜色(color),并定义适当构造、析构的方法
(2)创建一个老鼠(Mouse)类,其包含属性:名字(name)、颜色(color),
并定义适当的构造、析构方法
(3)在Cat类中定义一个属性cat_num,该属性存储的值为当前已实例化的猫的个数
#(4)在Cat类中定义一个捉老鼠的方法(要求传入Mouse的实例)
打印内容为:‘xx猫在捕捉yy老鼠’(其中xx,yy分别代表猫和老鼠的名字)
(5)在Cat类中定义一个吃粮方法,打印内容为‘ xx猫正在吃粮’(其中xx代表名字)
(6)在Cat类中定义一个卖萌方法打印的内容为‘xx颜色的猫正在卖萌’(其中xx代表颜色)
(7)在Cat类中定义一个打印猫信息的方法,打印的内容为‘猫猫信息 名字:xx,品种:xx,价格:xx,颜色:xx’
(8)按以下要求测试Cat类和Mouse类的所有方法:
① 实例化三个Cat类的对象,其属性分别为(cat1,黑猫,6500,黑色) 、(cat2,黄猫,3000,黄色)和(cat3,波斯猫,2000,蓝色);
实例化一个Mouse的对象,其属性为(mouse1,白色
② 测试Cat的所有方法是否工作正常 ③ 通过Cat类的属性cat_num输出当前猫类下实例的数量

# 创建一个猫(Cat)类,其包含属性:名字(name)、品种(type)、
# 价格(price)、颜色(color),并定义适当构造、析构的方法
class Cat():
    # 在Cat类中定义一个属性cat_num,该属性存储的值为当前已实例化的猫的个数
    cat_num = 0

    def __init__(self,name,type,price,color):
        self.name = name
        self.type = type
        self.price = price
        self.color = color
        Cat.cat_num += 1

    # 在Cat类中定义一个捉老鼠的方法(要求传入Mouse的实例)
    def catch(self,mouse):
        print(self.name,'猫捉',mouse.name,'老鼠')

    # 在Cat类中定义一个吃粮方法,打印内容为‘ xx猫正在吃粮’(其中xx代表名字)
    def eat(self):
        print(self.name,'正在吃猫粮')

    # 在Cat类中定义一个卖萌方法打印的内容为‘xx颜色的猫正在卖萌’(其中xx代表颜色)
    def show(self):
        print(self.color,'颜色的猫在卖萌')

    # 在Cat类中定义一个打印猫信息的方法,打印的内容为‘猫猫信息  名字:xx,品种:xx,价格:xx,颜色:xx’
    def messaage(self):
        print('猫的信息:',self.name,self.color,self.type,self.price)
# 创建一个老鼠(Mouse)类,其包含属性:名字(name)、颜色(color),
# 并定义适当的构造、析构方法
class Mouse():

    def __init__(self,name,color):
        self.name = name
        self.color = color

# ① 实例化三个Cat类的对象,其属性分别为(cat1,黑猫,6500,黑色) 、(cat2,黄猫,3000,黄色)和(cat3,波斯猫,2000,蓝色);
# 实例化一个Mouse的对象,其属性为(mouse1,白色
cat1 = Cat('cat1','黑猫',6500,'黑色')
# 实例化一个Mouse的对象,其属性为(mouse1,白色)
mouse1 = Mouse('mouse1','白色')
# 测试Cat的所有方法是否工作正常
print('实例化第',Cat.cat_num, '只猫')
cat1.catch(mouse1)
cat1.eat()
cat1.messaage()
cat1.show()
cat2 = Cat('cat2','黄猫',3000,'黄色')
print('实例化第',Cat.cat_num, '只猫')
cat2.catch(mouse1)
cat2.eat()
cat2.messaage()
cat2.show()
cat3 = Cat('cat3','波斯猫',2000,'蓝色')
print('实例化第',Cat.cat_num, '只猫')
cat3.catch(mouse1)
cat3.eat()
cat3.messaage()
cat3.show()
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值