用interface关键字定义接口
写一个接口和写一个类类似,只是不用写具体方法实现。只需要定义方法的返回值和参数,然后不用写用大括号括起来的语句,只写一个分号就可以了。
接口不能存储数据,所以不可以在里面定义字段。但是可以定义属性,因为get和set访问器也是方法,而接口就是要强迫类去实现有特定名字、特定返回值、接受特定参数的方法。所以如果你想要让接口要求其实现类含有某个字段,定义一个属性吧--这可以完成一样的效果。
这个接口对于蜂后有什么帮助呢?现在蜂后可以写一个方法接受所有知道怎么防卫蜂巢的对象作为参数了:
由于这个方法接受IStingPatrol接口类型的参数,所以你可以传递任何实现了IStingPatrol的类的对象进去。
蜂后的这个方法可以接受StingPatrol,NectarCollector,还有任何实现了IStingPatrol的类的对象。DefendTheHive()方法由于其接受的参数类型可以保证接收来的参数肯定有保护蜂巢所需的方法和属性。
公有接口中的任何东西都默认为公有的。因为你要用它们来定义其实现类需要的公有方法和属性。