设为首页收藏本站

八达网

 找回密码
 注册
查看: 944|回复: 13
打印 上一主题 下一主题

JAVA 设计模式很烂 我来说说什么时候用接口什么时候用继承什么时候用组合吧

[复制链接]

1999

主题

0

好友

1万

积分

航母

跳转到指定楼层
1
发表于 2012-8-17 09:17 |只看该作者 |倒序浏览
JAVA设计模式里面吧继承看成洪水猛兽,尽量少用继承多用接口,这个是JAVA设计师的理解错误,是没学我广义参考系的后果,概念层上从属关系的必定用继承,比如车 和 大货车,这个是明显的继承关系,不可能存在“车”上面有一个方法 大货车不具备所谓的游离方法,如果有,证明父类没设计好,而相同的运动方法一定要重载。
接口代表2个物体不是从属关系但是有相同的运动性质,这样就需要接口连接,比如大货车有喇叭,电单车也有喇叭,它们都会鸣喇叭,但是大货车和电单车是从属关系吗?显然不是,只能写喇叭这个接口使得大货车和电单车都套用这个接口。这样我在环境中操作这个接口所有有喇叭的物体都会引起相同的鸣喇叭运动。
组合就是一个物体有许多部分组成比如大货车有发动机,发动机是货车里面的组合,不能用继承关系。
昨天看了下JAVA 设计模式,居然把从属关系的东西做成接口,比如汽车和大货车,吧汽车写成接口,还有居然把从属关系的东西写成组合,比如汽车和大货车,汽车写成组合,镶嵌在大货车这个对象中。JAVA 设计模式十分误导程序员建议取缔。
1

查看全部评分

everrr 该用户已被删除
2
发表于 2012-8-17 09:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

1656

主题

0

好友

17万

积分

黑暗执政官

2013年夜饭

3
发表于 2012-8-17 09:26 |只看该作者
你会设计模式么?你知道设计模式是用来干什么的?
待会把她带到我房间
回复

使用道具 举报

866

主题

22

好友

10万

积分

黑暗执政官

闻昆吾方始,知秋珉而入林

2007年度八达十大杰出青年 2008年度八达十大水友

4
发表于 2012-8-17 09:29 |只看该作者
楼主在自学java中 大家别打扰他
卿晓寒夜,须知朝阳
胸大了不起么,爽的又不是自己!
回复

使用道具 举报

72

主题

0

好友

1万

积分

航母

5
发表于 2012-8-17 09:30 |只看该作者
来排队看lz被喷
1982shoes.taobao.com 专卖各类女凉鞋单鞋 靴子
回复

使用道具 举报

151

主题

0

好友

1万

积分

航母

6
发表于 2012-8-17 09:34 |只看该作者
楼主在自学java中 大家别打扰他
回复

使用道具 举报

289

主题

3

好友

5万

积分

光明执政官

7
发表于 2012-8-17 09:37 |只看该作者
我操,设计模式和语言有关?
回复

使用道具 举报

780

主题

0

好友

13万

积分

主区版主

Rank: 8Rank: 8Rank: 8Rank: 8

8
发表于 2012-8-17 17:23 |只看该作者
原创内容 水晶 +2
回复

使用道具 举报

143

主题

1

好友

2万

积分

大和

9
发表于 2012-8-17 19:52 |只看该作者
继承,所谓面向对象的精髓,现在可以说已经失败了。面向对象语言本身就是一个愚蠢的的天才的设计。
“Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction.”
回复

使用道具 举报

452

主题

0

好友

2592

积分

坦克

10
发表于 2012-8-17 19:59 |只看该作者
广义参考系证明面向对象是个错误的方向
今后的趋势是面向数据
2861316437
2836235853
回复

使用道具 举报

364

主题

0

好友

9014

积分

大象

拱火组组长

11
发表于 2012-8-17 20:12 |只看该作者
回复

使用道具 举报

40

主题

1

好友

1万

积分

航母

12
发表于 2012-8-17 21:56 |只看该作者
楼主在自学java中 大家别打扰他
回复

使用道具 举报

13

主题

1

好友

7012

积分

大象

13
发表于 2012-8-17 22:27 |只看该作者
java中有个口号是面向接口编程,说的是冠冕堂皇其实就是之前的SUN没有人力财力来实更各种功能,就接数据库接连来说,SUN给了一堆接口JDBC,然后让各个数据库开发商自已去完成驱动的编号,面向接口编程就是一种无能的表现,自已完成不了的任务写成接口丢给别人去做,SUN做了婊子还立牌坊。
接口的作用是用来提高程序的扩展性,但在java里却是用来推责任。
回复

使用道具 举报

13

主题

1

好友

7012

积分

大象

14
发表于 2012-8-17 22:34 |只看该作者
有继承即有分类,继承是分类的给果,它与接口不一样,接口是让一个对象有扩展性,实现了USB接口的类的对象都可以接上DELL电脑的USB接口,比如下列代码:

interface USB{

}

class Mouse implements USB{

}
class USave implements USB{
}

class Computer{
    USB usb1;
    USB usb2;
}

public class Test{

   public static void main(String[] args){
           Computer dell=new Computer();
           Mouse logitch=new Mouse();
           USave kingmax=new USave();
           dell.usb1=logitch;
           dell.usb2=kingmax;
  }

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|八达网    

GMT+8, 2026-5-21 04:18

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部