剛剛,我的幾個對象吵起來了···
點擊上方“程序員大白”,選擇“星標”公眾號
重磅干貨,第一時間送達
















































面向對象編程語言,都繞不開的話題是類和對象。對象都有類型,這在源代碼級別都好理解,但如何能在運行的時候也能知道類型呢?
C++ 作為靜態(tài)編譯型語言,對運行時類型識別RTTI的支持最弱,只能看到一個簡單的名字,C++標準并沒有規(guī)定RTTI信息的具體實現方式,交給各大編譯器自己發(fā)揮。
Java同樣作為編譯型語言,實現了完整的反射機制,不僅作為信息獲取,還能根據這些信息動態(tài)創(chuàng)建對象,修改訪問屬性等等。由于反射的支持,Java才有了Spring、MyBatis等各種功能強大的框架。
Python作為解釋執(zhí)行的腳本語言,其抽象的層次更高,類型信息更加豐富,動態(tài)創(chuàng)建、甚至新增、刪除屬性和方法都不在話下。
不過聽說C++23可能會引入全新的反射特性,不知道是什么樣子的呢?你怎么看?如果C++也有反射,你會用來做什么呢?
推薦閱讀
國產小眾瀏覽器因屏蔽視頻廣告,被索賠100萬(后續(xù))
年輕人“不講武德”:因看黃片上癮,把網站和786名女主播起訴了
關于程序員大白
程序員大白是一群哈工大,東北大學,西湖大學和上海交通大學的碩士博士運營維護的號,大家樂于分享高質量文章,喜歡總結知識,歡迎關注[程序員大白],大家一起學習進步!
評論
圖片
表情
