侵入式接口:例如Java、C++语言主要表现在实现类需要明确指出自己实现了某个接口.
代码示例
//定义一个接口
interface Person{
void sleep();
void run();
void eat();
}
//创建一个Student类 实现Person接口
class Student implements Person{
void sleep(){
sout("学生睡觉了...");
}
void run(){
sout("学生跑步了...");
}
void eat(){
sout("学生吃饭了...");
}
}
//创建学生类对象调用这些方法
Student student = new Student();
student.sleep();
非侵入式接口:在Go中,一个类(sturct) 只需要实现接口的所有函数,我们就说这个类实现了该接口.
代码示例:
//定义一个struct
type Student struct{}
//让类去实现一些方法
func (s * Student) run(){
fmt("学生跑步了...")
}