面向对象的三个基本特征:继承、封装和多态
面向对象语法
什么是抽象?
类-抽象的 角色-具体的
我们创建类的时候会给这个类创建很多抽象属性和名字
具体值都是创建对象(角色)过程中体现出来的
格式:
class 类名: #类名首字母大写
def 函数名(self): #函数名一般小写字母开头
pass
对象=类名() #类名() 得到对象
对象.函数名() #对象.方法名() 进行调用
用面向对象写人狗大战
class Person: # 声明一个类
def __init__(self,name,hp,ad,sex,job):
'初始化函数'
self.name=name
self.hp=hp
self.ad=ad
self.sex=sex
self.job=job
def attack(self,dog): # 这个类独有的动作
'人打狗'
dog.hp = dog.hp - self.ad
print('%s攻击了%s,%s掉了%s的血,还剩%s血'%(
self.name,
dog.name,
dog.name,
self.ad,
dog.hp))
class Dog: #声明一个类
def __init__(self,name,kind,hp,ad):
self.name=name
self.kind=kind
self.hp=hp
self.ad=ad
def bite(self,person):
person.hp = person.hp - self.ad
print('%s攻击了%s,%s掉了%s的血,还剩%s血' % (
self.name,
person.name,
person.name,
self.ad,
person.hp))
zhangsan=Person('张三',200,40,'男','射手')
lisi=Person('李四',300,30,'男','战士')
tg=Dog('天狗','拉布拉多',1000,50)
jq=Dog('警犬','藏獒',800,60)
zhangsan.attack(tg)
jq.bite(lisi)