python3.7
小明喜欢玩水Q玩具小明很喜欢用这个玩具来喷水玩具能够喷水玩具也能够装水。比如说我们有这个案例需要开发。
class Toy: def __init__(self): pass#首先我们要先定义类,因为等下可以用于小明那边。
class Toy: def __init__(self, name): self.name = name self.water = 0#进行属性的初始化设置,需要名字和水容量,容量先设置为0,因为是新的玩具。
class Toy: def __init__(self, name): self.name = name self.water = 0 def load(self, add_water): self.water += add_water #玩具可以装水,水的多少让外部参数进行设置。
class Toy: def __init__(self, name): self.name = name self.water = 0 def load(self, add_water): self.water += add_water def shoot(self): if self.water <= 0: print('out of water!') return else: self.water -= 1 print('shoot the water!') print('The rest water is %d.' %(self.water)) #定义一下喷水的方法,如果没水了,就直接返回不运行了。
class Toy: def __init__(self, name): self.name = name self.water = 0 def load(self, add_water): self.water += add_water def shoot(self): if self.water <= 0: print('out of water!') return else: self.water -= 1 print('shoot the water!') print('The rest water is %d.' %(self.water)) waterGun = Toy('waterGun')waterGun.load(5)waterGun.shoot() #这个时候可以开始定义对象了,并且看看方法能不能执行。
class Kid: def __init__(self, name): self.name = name self.toy = None xiaoming = Kid('xiaoming')print(xiaoming.toy) #如果不知道设置什么玩具给他,所以可以先设置一个None
class Kid: def __init__(self, name): self.name = name self.toy = None xiaoming = Kid('xiaoming')xiaoming.toy = waterGunprint(xiaoming.toy) #这个时候可以用另外一个类赋值给这个对象的属性。
class Toy: def __init__(self, name): self.name = name self.water = 0 def load(self, add_water): self.water += add_water def shoot(self): if self.water <= 0: print('out of water!') return else: self.water -= 1 print('shoot the water!') print('The rest water is %d.' %(self.water)) class Kid: def __init__(self, name): self.name = name self.toy = None def fire(self): if self.toy == None: print('%s No toy to play!' %(self.name)) return self.toy.load(10) self.toy.shoot() waterGun = Toy('waterGun') xiaoming = Kid('xiaoming')xiaoming.toy = waterGunxiaoming.fire()print(xiaoming.toy) #这个时候因为xiaoming.toy这个属性是waterGun这个对象,所以xiaoming.toy可以调用waterGun里面的方法。
class Toy: def __init__(self, name): self.name = name self.water = 0 def load(self, add_water): self.water += add_water def shoot(self): if self.water <= 0: print('out of water!') return else: self.water -= 1 print('shoot the water!') print('The rest water is %d.' %(self.water)) class Kid: def __init__(self, name): self.name = name self.toy = None def fire(self): if self.toy is None: print('%s No toy to play!' %(self.name)) return self.toy.load(10) self.toy.shoot() waterGun = Toy('waterGun') xiaoming = Kid('xiaoming')xiaoming.fire()print(xiaoming.toy) #我们测试一下不赋值的情况。
注意两个类之前的关系