物件導向編程知識點

來源:互聯網
上載者:User

標籤:class   不能   def   多態   sel   foo   析構   對象   類變數   

 特性
 class
 object

 封裝
 繼承
 多態

 文法

 調用函數  --》 執行 --》返回結果

 r1 = Role.__init__() return x342423

 r1 = Role(r1,"A","Police","15000")
 r1.name = "A"
 r1.role = "Poice"
 r1.money = 15000
 r1.buy_gun()  Role.buy_gun(r1)



 屬性
 方法
 類變數的用途? 大家共用的屬性 ,節省開銷
 class Person:
     cn = "中國"
     def __init__(self,name,age,addr,cn="china")
         self.name = name
         self.cn = cn
 p1 = Person(name,age ,addr)
 
 建構函式

解構函式: 在執行個體釋放、銷毀的時候自動執行的,通常用於做一些收尾工作, 如關閉一些資料庫連接,關閉開啟的臨時檔案

 私人方法,私人屬性

 類變數
 執行個體變數


 封裝

繼承
py2 經典類是按深度優先來繼承的,新式類是按廣度優先來繼承的
py3 經典類和新式類都是統一按廣度優先來繼承的

多態
一種介面,多種實現


    屬性
        執行個體變數
        類變數
        私人屬性__var
    方法
       構造方法,
       解構函式
       私人方法

對象:執行個體化一個類之後得到的對象


封裝
   把一些功能的實現細節不對外暴露

繼承
    繼承 ,組合

    代碼的重用
    單繼承
    多繼承,
        2.7 經典類,深度優先,  新式類,廣度優先
        3.x 均是廣度優先
        class Foo(object):
            def __init__(self,name,age,sex,salary,course):

                self.salary = salary
                self.course = course



多態
    介面重用, 一種介面,多種實現

靜態方法
    只是名義上歸類管理, 實際上在靜態方法裡訪問不了類或執行個體中的任何屬性
類方法
    只能訪問類變數,不能訪問執行個體變數

屬性方法
    把一個方法變成一個靜態屬性


反射
    hasattr(obj,name_str) , 判斷一個對象obj裡是否有對應的name_str字串的方法
    getattr(obj,name_str), 根據字串去擷取obj對象裡的對應的方法的記憶體位址
    setattr(obj,‘y‘,z), is equivalent to ``x.y = v‘‘
    delattr

異常
    try :
        code
    except (Error1,Erro2) as e:
        print e

    except Exception :抓住所有錯誤,不建議用

物件導向編程知識點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.