OC的動態性

來源:互聯網
上載者:User

標籤:

oc的動態性讓程式可以在運行時判斷其該有的行為,而不是像c等靜態語言一樣在編譯構建時就確定下來。它的動態性主要體現在一下三個方面:

1。動態類型。 如id類型。實際上靜態類型因為其固定性和可預知性而使用得更加廣泛。靜態類型是強型別,而動態類型屬於弱類型。運行時決定接收者。

    這裡補充講一下強、弱類型:語言又無類型、強型別和弱類型三種。無類型的不做任何檢查,甚至不區分指令和資料;弱類型的檢查很弱,僅能區分指令和資料;強型別的嚴格在編譯期進行檢查。強型別語言在沒有強制類型轉化前,不允許兩種不同類型的變數相互操作

2。 動態綁定。讓代碼在運行時判斷需要調用什麼方法,而不是在編譯時間。與其他物件導向語言一樣,方法調用和代碼並沒有在編譯時間串連在一起,而是在訊息發送時才進行串連。運行時決定調用哪個方法。

3。 動態載入。讓程式在運行時添加代碼模組以及其他資源。使用者可以根據需要載入一些可執行代碼和資源,而不是在啟動時就載入所有組件。可執行代碼中可以含有和程式運行時整合的新類。

對象是運行時類的一個執行個體。在類裡聲明了的執行個體變數和方法,它的每個執行個體都在記憶體中擁有同樣的執行個體變數,以及指向那些方法的指標。在oc中對象永遠是通過指標來引用的。

參考串連http://www.guomii.com/posts/22764

OC的動態性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.