后記:這篇是上一篇《JavaScript的最大秘密》的續集,繼JavaScript的原型法之后,又介紹了一下Go語言面向物件的實作,Go語言在面向物件這一塊兒比較有趣,結構體和方法分開,沒有繼承,只有組合,有一種看起來很像DuckTyping的多型,我想Ken Thompson和Rob Pike等人在設計Go語言的時候,肯定經過了深思熟慮,精心考量,
在Go語言的官網上,對Go語言是不是面向物件的語言做了答復:是也不是,雖然Go語言有型別和方法,并且允許面向物件風格的編程,但是并沒有型別的繼承,Go語言中“介面”的概念提供了一種不同的方式,我們認為在它更容易使用,更加通用,
Go語言通過在一個型別中嵌入另外一個型別來支持子類化(雖然并不完全等同)的概念,除此之外,Go語言中的方法比C++和Java更加通用,程式員可以在任何資料型別上定義方法,甚至是內置的型別:如Integer, 方法并不局限在structs(classes)上, 同樣,沒有型別繼承使得Go語言中的物件用起來比C++或者Java更加輕量級,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/99723.html
標籤:其他
