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()