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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杜鹏云 中级黑马   /  2012-8-24 16:42  /  1808 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们每每,编程总会听到,面向对象编程。他的好处不用多说。。
除此之外,我们还能听到面向接口编程,还有面向父类编程。
这两种编程思维方法有什么优点??

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

5 个回复

倒序浏览
http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599700.html  这是我在百度上搜到了,自己也看了一下,觉得说的挺在理的,推荐你看看
回复 使用道具 举报
面向接口——维护性能好,扩展能力强,代码量多.
面向父类——面向抽象
一个定理:维护性扩展性好的程序,代码复杂,量大。

这类思维都类似。大部分面向对象思维编程都是为了提高扩展性和可维护性。
回复 使用道具 举报
接口实际上是定义某个类所具有的动作.
但是在继承接口的类里必需实现这个动作.
public   interface   IBark
{
    void   Bark();
}
public   class   Dog:IBark
{
    public   Dog()
    {}
    public   void   Bark()
    {
          Consol.write( "汪汪 ");
      }
}

如果我们从设计的角度来看.一个项目中用若干个类需要去编写,由于这些类比较复杂,工作量比较大,这样每个类就需要占用一个工作人员进行编写.比如A程序员去定Dog类,B程序员去写Cat类.这两个类本来没什么联系的,可是由于用户需要他们都实现一个关于 "叫 "的方法.这就要对他们进行一种约束.让他们都继承于IBark接口,目的是方便统一管理.另一个是方便调用.当然了,不使用接口一样可以达到目的.只不过这样的话,这种约束就不那么明显,如果这样类还有Duck类等等,比较多的时候难免有人会漏掉这样方法.所以说还是通过接口更可靠一些,约束力更强一些.
回复 使用道具 举报
接口定义了一种行为规范 可以被不同的类实现
比如鸟和飞机还有超人 都会飞 但是三者之间没有什么直接的联系 不会有公共的父类 只能用飞行的接口来实现
接口本身不能实例化 但是可以用接口声明对象来指向实现了接口类的引用
比如显示飞行的速度 可以用飞行接口来声明 而实例化的对象可以用鸟 飞机和超人 这样 调用显示速度的方法时 不需要三个类分别调用 而直接用接口就可以了
这样降低了类与调用它们的类之间的联系 接口相当于电脑的USB插口!
因为接口订好了,所以那面到底插的是什么就不重要了!
我们用户只需要
1 插上去
2 停用移动设备
3 拔下来
这三个就好似USB的接口功能。他隐藏了实际功能,但提供给用户统一的操作界面和使用方式
接口也一样,通过接口,以后再增加新的代码功能只需要把新的功能实现接口就行了,避免了修改主函数的麻烦

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

回复 使用道具 举报
面向接口编程:接口相当于企业的招聘信息,只要符合条件的人都可以来面试。同理:java中的接口相当于定义了一种规范,只要某个类满足接口定义的规范,都可以作为实现接口功能的备选类。这样可以轻松的实现功能类之间切换,大大的提高了功能的扩展性。
面向父类编程:可以实现代码的复用性。子类可以再继承父类的同时,增加自己所特有的功能方法或者是覆盖父类中已有的方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马