Swift和OC,是編譯型語言、解釋性語言、運行時語言

來源:互聯網
上載者:User

標籤:私人方法   常見   c++   變數   識別   指定   弱類型   資料   編譯器   

首先需要明確的一點是,什麼是編譯型語言和解釋性語言

編譯型語言,就是在其執行過程中需要先將其經過編譯成機器碼來給電腦識別的,其執行效率就會比較高這個是顯而易見的,常見比如:C、C++

而解釋型語言,是不用編譯這個過程的,只是在執行時通過相應的翻譯器(虛擬機器)逐行翻譯。這樣它的跨平台性就會較好,因為可以直接通過編譯器編譯成需要的平台上的語言,但是有一個問題就是:它每次運行都要講每行代碼逐行解釋翻譯一遍。常見比如:Python、JS、PHP

由此可見,我們的OC和Swift都是需要先進行編譯後才能執行代碼功能的,因此他們都是編譯型語言。

 

接著談的就是OC和swift的其中一個不同,那就是Swift它是一個動態類型語言,意思是他是在代碼執行時才去做資料類型的檢查,使用了swift的童鞋應該都清除,swift中變數的型別宣告都是使用Var關鍵字的並不指定具體資料結構類型,這又衍生出一個類型,那就是弱類型語言,這個很好理解,類型比較弱嘛就是沒有強制規定。相對應的OC中變數的在聲明時候都要指定其類型,因此它就是相對動態類型語言反面的靜態類型語言,也是強型別語言

最後還要說明的就是運行時語言,由上文提到:編譯型語言是要經過 編譯--》運行,運行時語言就是在程式啟動並執行時候才去調用該對象的方法,和決定其資料類型。而不是在編譯的時候進行

參考網站 http://www.th7.cn/Program/IOS/

 

OC是運行時語言,只有在程式運行時,才會去確定對象的類型,並調用類與對象相應的方法。利用runtime機制讓我們可以在程式運行時動態修改類、對象中的所有屬性、方法,就算是私人方法以及私人屬性都是可以動態修改的。

Swift和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.