黑马程序员技术交流社区
标题:
接口和类?
[打印本页]
作者:
蔡军
时间:
2012-3-24 10:29
标题:
接口和类?
什么是接口?接口和类有什么区别啊?
作者:
蔚强
时间:
2012-3-24 15:14
浅谈一下我对接口跟类的认识吧,拿盖房子来说吧,装修房子跟盖房子的人不一样吧。你可以把装修房子的人和盖房子的人看成是接口,它们负责专门的工作(效率比较高),你需要的时候就实现接口方法,但是在代码中,接口可以定义方法以及属性等,但是无论是方法还是属性,你都是需要实现接口的那个类使用的,所以这些接口的方法或者属性的权限都是public的,方法是空实现的,你一旦实现这些接口就必须实现这些方法。而你实现的这些方法的访问权限必须要比接口里的权限更高,也就是要定义为public,再你定义接口的时候要注意不要把所有的方法都写在一个接口中,而是把你的方法分类写在不同的接口中,这样你所需要那些方法就去定义了那些的方法的接口,如果你把所有的方法都定义在一个接口中,这样你实现接口就需要把接口的中的所有方法都要实现,这样某些不必要的方法你也要实现(给编程带来了不必要的麻烦)。这也就是传说中的“接口污染”还有接口是引用类型的。
类有抽象类跟一般的类。就拿人来说吧。你可以把People定义为一个抽象类,因为不论是白人,黑人,还是黄种人,都要吃饭,睡觉等。你再定义抽象类的时候把吃饭,睡觉等方法也定义成抽象的,但是不能实现,白人,黑人,黄种人一旦继承了抽象类,就要实现抽象类的中的方法。然后你再根据不同的人自己实现自己的吃饭,睡觉。这些方法都是覆盖抽象类了。
另外要记住单继承,多接口!
希望可以帮到你。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2