对象

  1. 从空间角度研究类

    1. 对象操作对象属性
    2. 类名操作属性
    3. 对象取值顺序
    4. 类名取值顺序

    address = '美丽富饶的沙河'

    class A:
        def __init__(self, name):
           self.name = name
       
       def func(self):
           if self.name == 'dsb':
               self.skins = '吉利服'
       
       def func1(self):
           print(self.__dict__)
           A.aaa = '易水寒'
    
    # obj = A('dsb')
    # # 类外面可以给对象封装属性
    # # respons = input('太白帅不帅!')
    # # if respons == '帅':
    # #     obj.weapon = 'AWM'
    # # print(obj.__dict__)
    # # 类内部封装属性
    # obj.func()
    # print(obj.__dict__)
    # A.teamp = '39.5'
    # print(A.__dict__)
    # obj = A('dsb')
    # # A.func1(111)
    # A.func1(obj)
    # print(A.__dict__)
    
    class Person:
       mind = '有思想'
       language = '会使用语言'
       
       def __init__(self, name, age):
       
           self.name = name
           self.age = age
       
       def work(self):
           print('人类一般都需要工作')
    p1 = Person('dsb', 21)
    del p1.mind  # 报错
    # print(p1.mind)
    
    # p1.mind = '无脑'
    
    # print(p1.mind)
    
    # print(Person.mind)
    
    # 对象如果查询一个属性: 对象空间  ----> 类空间 ----> 父类空间  --->
    # 类查询一个属性: 类空间  ----> 父类空间  ---->
    # 单向不可逆
    # 对象与对象之间原则上互相独立(除去组合这种特殊的关系之外).
    
  2. 类与类的关系

    1. 依赖关系: 将一个类名或者类的对象传给另一个类的方法中.

      class A:
          pass
      
      
      class B:
          pass
      
      '''
      1. 依赖关系
      2. 组合关系(关联组合聚合)
      3. 继承关系(明天讲)
      '''
      
      # 1.依赖关系(主从关系)
      
      # 大象进冰箱
      
      
      class Elephant:
      
      
          def __init__(self, name):
              self.name = name
      
          def open(self, ref1):
              # print(ref1)
              print(f'{self.name}默念三声: 芝麻开门')
              ref1.open_door()
      
          def close(self):
              print('大象默念三声:芝麻关门')
      
      
      
      class Refrigerator:
      
      
          def __init__(self, name):
              self.name = name
      
          def open_door(self):
              print(f'{self.name}冰箱门被打开了....')
      
          def close_door(self):
              print('冰箱门被关上了....')
      
      
      # ele = Elephant('琪琪')
      # ele1 = Elephant('安安')
      # ref = Refrigerator('美菱')
      # ele.open(ref)
      # ele1.open(ref)
      # 依赖关系: 将一个类的类名或者对象传给另一个类的方法中.
      
      # 实现两个:
      # 大象执行open方法:
      # 显示: '哪个大象  大象默念三声: 芝麻开门'
      # 显示: '哪个冰箱门 冰箱门被打开了....'
      
      # 关门的流程也需要完成.
      
      
    2. 组合关系(关联组合聚合)

posted @ 2019-07-08 16:16  恰蜜小嘴  阅读(110)  评论(0编辑  收藏  举报