面向对象的使用方法 -类的使用 类是抽象的,主要是 类名(大驼峰命名,首字母大写),属性,方法 对象是实体,是根据类的属性和方法创造出来的一个具体的东西 列如
# 定义一个类 class Demo: """定义类里面的方法的使用""" # init是python里面内置的函数的初始化函数,刚创建这个类就会窒息init下面的语句 # name是文字参数的传递,由我们传递进去 def __init__(self, name): self.name = name # eat 是我们自己定义的属性的使用 def eat(self): print("%s不爱吃饭" % self.name) def drink(self): print("%s不爱喝饮料" % self.name) xiaoming = Demo('小黑') Demo.eat(xiaoming) print(xiaoming)以下是对士兵对枪类型的定义和对象创建的使用
class Gun: def __init__(self, model): # 枪的类型,和枪的子弹数量 self.model = model self.bullet_count = 0 # 给枪加子弹 def add_bullet(self, count): self.bullet_count += count def shoot(self): # 1.判断子弹数量 if self.bullet_count <= 0: print("[%s]没有子弹了" % self.model) return # 2.发射子弹 self.bullet_count -= 1 # 3.提示发射信息 print("[%s]突突突突突突。。。。[%d]" % (self.model, self.bullet_count)) class Soldier: def __init__(self, name): # 新兵的名字,枪的名字 self.name = name self.gun = None def fire(self): if self.gun is None: print("%s还没有枪" % self.name) print("%s 冲啊" % self.name) self.gun.add_bullet(40) self.gun.shoot() # 创建枪对象 ak47 = Gun("ak47") # 创建小明,创建后打印的时候对象是小明 xiaoming = Soldier("小明") xiaoming.gun = ak47 xiaoming.fire() print(xiaoming.gun) 子类调用父类的方法class Father: def init(self, age): self.age = age print(“age:%d” % self.age)
def getage(self): return self.ageclass Son(Father):
def getage(self): return self.ageson = Son(18) print(son.getage())