go語言非侵入式介面
阿新 • • 發佈:2019-01-26
侵入式介面:需要顯式地建立一個類去實現一個介面。
非侵入式介面:不需要顯式地建立一個類去實現一個介面。
C++侵入式介面:
#include <iostream> enum SEX { MAIL, FEMAIL }; class PeopleInterface { public: PeopleInterface(){}; virtual ~PeopleInterface(){}; virtual int getSex() = 0; }; class Man : public PeopleInterface { public: Man(){}; ~Man(){}; int getSex() {return MAIL;} }; int main(int argc, char const *argv[]) { Man m; std::cout<<"sex:"<<m.getSex()<<std::endl; return 0; }
go非侵入式介面
packagemain
import"fmt"
typePeopleinterface{
getSex()
}
typeManstruct{
}
func(mMan)getSex()int{
return0
}
funcmain(){
varmMan
fmt.Println("sex:",m.getSex())
}
想實現一個介面,直接實現介面包含的方法就可以了,不用太操心哪個方法屬於哪個介面。