A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔡军 中级黑马   /  2012-3-24 10:29  /  1471 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是接口?接口和类有什么区别啊?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

1 个回复

倒序浏览
    浅谈一下我对接口跟类的认识吧,拿盖房子来说吧,装修房子跟盖房子的人不一样吧。你可以把装修房子的人和盖房子的人看成是接口,它们负责专门的工作(效率比较高),你需要的时候就实现接口方法,但是在代码中,接口可以定义方法以及属性等,但是无论是方法还是属性,你都是需要实现接口的那个类使用的,所以这些接口的方法或者属性的权限都是public的,方法是空实现的,你一旦实现这些接口就必须实现这些方法。而你实现的这些方法的访问权限必须要比接口里的权限更高,也就是要定义为public,再你定义接口的时候要注意不要把所有的方法都写在一个接口中,而是把你的方法分类写在不同的接口中,这样你所需要那些方法就去定义了那些的方法的接口,如果你把所有的方法都定义在一个接口中,这样你实现接口就需要把接口的中的所有方法都要实现,这样某些不必要的方法你也要实现(给编程带来了不必要的麻烦)。这也就是传说中的“接口污染”还有接口是引用类型的。
    类有抽象类跟一般的类。就拿人来说吧。你可以把People定义为一个抽象类,因为不论是白人,黑人,还是黄种人,都要吃饭,睡觉等。你再定义抽象类的时候把吃饭,睡觉等方法也定义成抽象的,但是不能实现,白人,黑人,黄种人一旦继承了抽象类,就要实现抽象类的中的方法。然后你再根据不同的人自己实现自己的吃饭,睡觉。这些方法都是覆盖抽象类了。
    另外要记住单继承,多接口!
    希望可以帮到你。

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马