面向對象2

  • 對象訪問


    '''
      self: 對象自身,在函數中的self參數,表示誰調用此函數,self就表示哪個對象
      方法調用: 方法調用: 對象.方法名()  | 要不要傳參取決於類中定義方法的時候有沒有定義除了self之外的參數
      __init__
    '''
    
    
    class Person:
        type = '人類'
    
        # 方法
        def eat(self):  # self = tao
            print('self---->', self)
            print('Person的吃方法')
    
        def play(self, game):
            print('{}玩了{}遊戲'.format(self.name,game))
    
    
    ren = Person()
    ren.name = 'xxx'  # 動態的在song空間中添加了name屬性
    print(ren)
    
    # 方法的調用
    ren.eat()  # 對象在調用方法eat的時候,會將自身作爲參數傳給eat的self參數
    ren.play('消消樂')
    
    tao = Person()
    tao.name='qqq'
    print(tao)
    
    tao.eat()
    tao.play('英雄聯盟')
    
    
    kun = Person()
    

    '''
    類(屬性,方法),對象
    類---> 抽象,模型,類別 統稱
    對象 --->具體,模型造出來事物,
    '''
    
    
    class Dog:
        # 屬性
        # color = '黃色'
        # name='大黃'
        # 魔法方法
        def __init__(self, name):  # name='大黃'
            self.name = name  #
            self.age = 1
            print('------>init')
    
        # 動作:方法
        def eat(self):  # self = dog1
            print('{}喜歡吃骨頭'.format(self.name))  # dog1.name ~ self.name
    
    
    # 創建對象
    dog1 = Dog('大黃')  # dog1就是一個對象
    # dog1.name =
    # 對象調用方法
    dog1.eat()  # dog1.eat(dog1)
    
    dog2 = Dog('小黑')
    # dog2.name =
    # 創建了第二個對象dog2
    dog2.eat()  # dog2.eat(dog2)   # self = dog2
    
    dog3 = Dog('小白')
    
    # 創建Car類,每個對象都有:brand,price,動作:start()
    # 創建2對象調用分別start() 動作
    

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章