class 类名:
def __init__(self,参数1,参数2):
self.对象的属性1 = 参数1
self.对象的属性2 = 参数2
def 方法名(self):pass
def 方法名2(self):pass
对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西
#类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法
#括号里传参数,参数不需要传self,其他与init中的形参一一对应
#结果返回一个对象
对象名.对象的属性1 #查看对象的属性,直接用 对象名.属性名 即可
对象名.方法名() #调用类中的方法,直接用 对象名.方法名() 即可
class Dog:
def __init__(self,name,blood,aggr,kind):
self.name = name
self.hp = blood
self.aggr = aggr
self.kind = kind
def bite(self,person):
# 狗咬人,人掉血
person.blood -= self.aggr
class Person:
def __init__(self,name,blood,aggr,sex):
self.name = name
self.blood = blood
self.aggr = aggr
self.sex = sex
def attack(self,dog):
dog.hp -= self.aggr
if dog.hp <= 0:
print('%s打了%s,%s被打死了,扑街~~~'%(self.name,dog.name,dog.name))
else:
print('%s打了%s,掉了%s血'%(self.name,dog.name,self.aggr))
jin = Dog('金老板',100,20,'teddy')
# print(jin.name)
alex = Person('alex',999,998,'不详')
jin.bite(alex) # Dog.bite(jin,alex)
print(alex.blood)
# alex attack
alex.attack(jin) # Person.attack(alex,jin)
print(jin.hp)