封装设计思想
如 老张开车去东北这件事
分析:老张:可能变成老李,小刘等 ,是数据不同--->他的形为是开车。
开车去:可以坐飞机,坐高铁,是形为不同----->老张的形为。
东北:只是位置不同,没有形为。
结果:设计两个类,人物和开车
'''
1、代码实现
class Person:
def __init__(self,name):
self.name=name
@property
def name(self):
return self.__name
@name.setter
def name(self,value):
self.__name=value
def goto(self,type):
print(self.name,end="")
type.ingwei()
pros=Person("老张")
class car:
def __init__(self,car,dizhi):
self.car=car
self.dizhi=dizhi
@property
def car(self):
return self.__car
@car.setter
def car(self,value):
self.__car=value
def ingwei(self):
#print("%s坐%s去%s"%(pros.name,self.car,self.dizhi))
print("坐%s去%s"%(self.car,self.dizhi))
ca=car("火车","东北")
pros.goto(ca)
2、练习游戏敌我互相攻击,类的互相调用
class Player:
def __init__(self,tack,hp):
self.tack=tack
self.hp=hp
def attack(self,otter):
print("玩家攻击敌人")
otter.damag(self.tack)
#玩家受伤
def damag(self,value):
self.hp-=value
if ene01.hp<=0:
self.__death()
def __death(self):
print("死亡")
class Enemy:
def __init__(self,atk,hp):
self.atk=atk
self.hp=hp
def damag(self,value):
#受伤的逻辑
self.hp-=value
if self.hp<=0:
self.__death()
#私有的方法
def __death(self):
#死亡的逻辑
print("OVER")
print("掉装备")
print("加分")
def attack(self,otter):
otter.damag(self.atk)
pr01=Player(100,1000)
ene01=Enemy(10,100)
pr01.attack(ene01)
ene01.attack(pr01)
以上的案例是先建立一个玩家类,player,其中有两个对象变量tack攻击力和hp血量。
然后建立一个功击敌人的方法def attack(self,otter)这个方法中参数otter是用于调用
敌人受伤的类名。def damag(self,value):
#受伤的逻辑
self.hp-=value
if self.hp<=0:
这个方法两个类都有,参数vajue是接受对方攻击力的变量值,血量的减少为对方攻击力的值
如果为0以下就执行下面的方法。敌人类的设计等同玩家类。
留言与评论(共有 0 条评论) “” |