• day017-------python 类与类的关系


                                        类与类的关系的简单说明

    一:类与类的关系
        001:依赖关系
        002:管理关系
        003:继承关系:

    二:实例理解:
    01:依赖关系:
    # 植物大战僵尸. 创建一个植物. 创建一个僵尸
        # 植物: 名字, 攻击力
        # 僵尸: 名字, 血量
        # 植物可以打僵尸. 僵尸掉血
        # 显示出僵尸挨揍之后的血量
    
        class ZhiWu:
            def __init__(self,name,gjl):
                self.name=name
                self.gjl=gjl
    
            def DaJiangShi(self,js):   #传入  "僵尸一号",1000
                js.FangYu()
                js.fyl-=self.gjl  #表示 僵尸被植物打一下损失 血量
                print("植物要打僵尸了")
                print("僵尸被打了,还剩  %s 血" % js.fyl)
    
        class JiangShi:
            def __init__(self,name,fyl):
                self.name=name
                self.fyl=fyl
    
            def FangYu(self):   #c传入植物一号
                print("僵尸在防御")
    
        zw=ZhiWu("植物1号",10)
        js=JiangShi("僵尸一号",900)
        zw.DaJiangShi(js)
     02:关联关系:
    class Teacher:
            def __init__(self, name, lst=None):
                self.name=name
                if lst==None:  #判断传递过来的参数是否是空
                    self.lst=[]
                else:
                    self.lst=lst
            #添加学生
            def tianjia(self,student):
                self.lst.append(student)
    
            def display(self):
                for s in self.lst:  #s是老师的学生
                    print(s.name)
    
        class Student:
            def __init__(self,num,name,Teacher=None):
                self.num=num
                self.name=name
                self.Teacher=Teacher
    
        t=Teacher("大张伟")
        s1=Student(1,"张三")
        s2=Student(2,"李四")
        s3=Student(3,"王五")
        s4=Student(4,"旺财")
    
        t.tianjia(s1)
        t.tianjia(s2)
        t.tianjia(s3)
        t.tianjia(s4)
        t.display()

    03:继承关系:
    class Base:
            def __init__(self, num):
                self.num = num
    
            def func1(self):
                print(self.num)
                self.func2()
    
            def func2(self):
                print(111, self.num)
    
        class Foo(Base):
            def func2(self):
                print(222, self.num)
    
        lst = [Base(1), Base(2), Foo(3)]
        for obj in lst:
            obj.func2()
     04:特殊成员:  需要总结常用的几个
    ............
  • 相关阅读:
    从服务器角度分析RPG游戏——NPC的AI
    羽翼特效设计
    坐骑特效设计(二)
    坐骑特效设计
    Unity AssetBundle打包资源工具
    有趣的进度条
    原生与组件
    bower
    yeoman
    grunt+bower+yo
  • 原文地址:https://www.cnblogs.com/one-tom/p/9931293.html
Copyright © 2020-2023  润新知