2013-07-15 45 views
4

我學習了SICP第2.4章中的數據導向編程,然後繼續研究第2.5章。當我看到「類型塔」和「繼承」時,一個想法閃過,是OOP的概念嗎?每個包都是一個對象,「類型之塔」顯示了類似於OOP中「繼承」的類型之間的關係。是OOP的主意嗎?

我很激動,希望知道答案!

+0

有點兒? OOP更接近消息傳遞,IIRC這也在sicp – jozefg

+0

中討論過,感謝您的回答,我剛剛閱讀了2.5章的SICP,並且對此沒有深入的瞭解。但我很高興能夠找到這個,就像找到一個寶藏。所以我希望知道更多,即使我錯了。 – yuliu

+0

我很高興你很興奮:)如果你還沒有找到他們,我還會指出你的opencoursewares SICP講座。我發現他們很好地補充了這本書 – jozefg

回答

2

雖然2.5節確實介紹了類型層次的概念,但所提及的「繼承」並不像OOP的繼承一般。在數字塔的上下文中,類型繼承了在超類型上定義的所有操作,就這些了。

事實上,在第二版SICP OOP中沒有正式對待 - 雖然我認爲我看到一些SICP課程筆記處理OOP一次,但它們不是本書的一部分。在SICP中最接近OOP的是消息傳遞技術,但沒有繼承。

檢查您的Scheme翻譯的文檔,可能包含一些正式的object system - 但它與SICP無關。

+0

消息傳遞+代表團確實使「正常」的面向對象。 – jozefg

+0

這是...開放討論,但沒有共享信息的機制(無論是繼承,還是原型)我不認爲它是一個對象系統。恕我直言,作爲一個對象系統所需的最小屬性將是繼承和多態 –

相關問題