我看了petshop很多地方都定义了接口,感觉有点象类,又不象,到底什么时候用呀?有什么好处?

解决方案 »

  1.   

    一般是实现多重继承的时候用,接口有点像抽象类。
      

  2.   

    接口好比是一份合同,如果你实现了接口,就表示你同意实现接口中所有的方法。当然在类中也可以加入自己的方法和属性。接口和类的区别是,接口只有方法的声明而没有实现。接口和抽象类的区别是,派生类只能继承一个抽象类,但派生类可以实现多个接口。
    对于为什么使用接口和抽象类,楼主可以看看面向对象的多态性
      

  3.   

    那是不是说继承接口的类都必须有接口提供的方法?
      

  4.   

    操作符  ":" 
    对于接口,应该叫做实现。
    对于类,才叫继承其实不管是实现接口还是继承了抽象类,都需要全部实现接口或抽象类中的方法。因为如果继承了抽象类而不全部实现抽象类中定义的抽象方法。那么没有被实现的抽象类就会被派生类继承,那么派生类也就成了抽象类。而抽象类是不能被实例化的。