zoukankan      html  css  js  c++  java
  • 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:特殊成员:  需要总结常用的几个
    ............
  • 相关阅读:
    C指针详解(经典,非常详细)
    PL/SQL错误提示 database character set(AL32UTF8) and Client character set(ZHS16GBK) are different
    安装Oracle报错,全部为未知!
    Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装
    Asp.Net页面生命周期
    oracle 导库建立测试库
    宝塔安装建站教程
    SEM理论
    SEM小总结
    SEM大致操作梳理
  • 原文地址:https://www.cnblogs.com/one-tom/p/9931293.html
Copyright © 2011-2022 走看看