python 面向对象类与类之间的关系
| 
                         主要内容: 
 引子 
 1. 依赖关系 关于大象进冰箱的问题: class Elephant:
    def __init__(self,name):
        self.name = name
    def open(self,ref):
        print("冰箱,开门吧")
        ref.open_door()
    def close(self,ref):
        print("冰箱关门吧")
        ref.close_door()
    def enter(self):
        print("进冰箱装自己")
<div class="cnblogs_code_toolbar"> 就是大象和冰箱之间的关系是一种依赖关系,大象可以选择任何一个冰箱(我们可以通过类来创造出很多个 冰箱),甚至作为大象我可以选择冰箱甚至可以进高压锅,可以说此时的大象有选择的权利. 2. 关联关系,聚合关系 class Boy:
    def __init__(self,name,character,girlfriend=None):
        self.name = name
        self.character = character
        self.girlfriend = girlfriend
    def xiangqin(self,girl):
        self.girlfriend = girl
    def eat(self):
        if self.girlfriend:
            print("吃东西好难,吃啥都不对")
        else:
            print("单身狗,狗粮够吗")
class Girl:
    def __init__(self,boyfriend):
        self.name = name
        self.boyfriend =boyfriend
    def eat(self):
        print ("%s在吃饭" % self.name)
<div class="cnblogs_code_toolbar"> 这是典型的一对一的关联关系,两个类的对象紧密练习着,其实就是我需要你,你也属于我这就是关联关系 class School:
    def __init__(self,address,phone):
        self.name = name
        self.address = address
        self.phone = phone
        self.__teach_list = []
    def zhaopin(self,t):
        self.__teach_list.append(t)
    def display(self):
        for el in self.__teach_list:
            print(el.name,el.hobby)
<div class="cnblogs_code_toolbar"> 老师必然属于个学校. 换句话说,每个老师肯定有个指定的工作机构. 就是学校,那老师的属性中必然关联着学校(一对多的情况) 3. 继承关系 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.func1()
总结: 
 4. 类中的特殊成员 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
