接口里不能有屬性?那用接口聲明變量的時候,怎么賦值?
自問自答?
接口去定義的時候,不能有屬性,只能是方法。比如動物的吃飯睡覺
聲明變量的時候,是對實現的接口的具體實現類的初始化,接口的具體實現類里可以有具體屬性。比如貓的尾巴,鳥的翅膀。
調用方法的時候,是調用的接口的方法,但實際(傳遞)的是接口的具體實現的方法。比如調用動物的吃飯,睡覺,實際調用的是實現了接口的具體實現類的方法。
這樣就實現了多態
自問自答?
接口去定義的時候,不能有屬性,只能是方法。比如動物的吃飯睡覺
聲明變量的時候,是對實現的接口的具體實現類的初始化,接口的具體實現類里可以有具體屬性。比如貓的尾巴,鳥的翅膀。
調用方法的時候,是調用的接口的方法,但實際(傳遞)的是接口的具體實現的方法。比如調用動物的吃飯,睡覺,實際調用的是實現了接口的具體實現類的方法。
這樣就實現了多態
2020-04-08
舉報
2020-04-19
Go語言的接口主要涉及面向對象的封裝性、抽象性、多態性,接口的實現是隱式的,只要結構體實現了某個接口的一些方法,接口對象就可以指向它。