《0036》第三章 Python编程进阶:面向对象1
a.面向对象概念:
简称OOP,由面向过程演变过来的,是早期的编程概念,面向对象优势多。
面向过程:以若干个步骤去实现的
面向对象:以若干个对象去实现的
b.游戏中设计几个猫的角色:类属性(白猫,4条腿,10kg) 和 类方法(会吃鱼,会抓鼠)
class Cat:
cat_color='白猫'
cat_foot='4条腿'
cat_weight=10
def eat(self):
print('小猫爱吃鱼')
def catch(self):
print('小猫会抓鼠')
tom=Cat()
tom.eat()
tom.catch()
print(tom.cat_color)
print(tom.cat_foot)
print('*'*20)
jack=Cat()
jack.eat()
jack.catch()
print(jack.cat_color)
print(jack.cat_foot)
输出结果:
小猫爱吃鱼
小猫会抓鼠
白猫
4条腿
********************
小猫爱吃鱼
小猫会抓鼠
白猫
4条腿
c.__init__初始化函数 作用 只要创建类对象的时候,就会执行这个init
class Cat:
def __init__(self,color,foot,name):
self.color=color
self.foot=foot
self.name=name
def eat(self):
print(f'{self.name},{self.color}小猫爱吃鱼')
self.catch()
def catch(self):
print('小猫会抓鼠')
tom=Cat('红色',4,'银渐层')
tom.eat()
print('*'*20)
ja=Cat('黑色',4,'波斯猫')
ja.eat()
输出结果:
银渐层,红色小猫爱吃鱼
小猫会抓鼠
********************
波斯猫,黑色小猫爱吃鱼
小猫会抓鼠
d.内置对象(了解)
init函数 作用:创建对象时自动调用init函数
str函数 作用:返回对象的描述信息
del函数 作用:销毁对象前自动调用del函数
class Cat:
def __init__(self,new_name):
self.name=new_name
print('init:%s小猫来了'%self.name)
def __del__(self):
print('del:%s小猫走了'%self.name)
def __str__(self):
return '我是小猫%s'%self.name
tom=Cat('Tom')
print(tom.name)
del tom
# tom=Cat('Jack')
# print(tom)
输出结果:
init:Tom小猫来了
Tom
del:Tom小猫走了
人生苦短,及时行乐
浙公网安备 33010602011771号