2013-03-18 58 views
5

我在Java的采访下一个问题:现实生活中的泛型类的实例

  1. 难道你的名字从现实生活中的一些通用类的例子吗?不是来自真正的PROGRAMMING生活,而是共同的。例如。你正在向那些对编程一无所知的人解释泛型。

  2. 关于最简单的设计模式 - 单身的同一件事。

我知道什么想法,约(约仿制药)的第一个问题,我想的名字不同的手工具(如钢丝锯),其中只有一种类型的材料的工作,但它不是真正的仿制药。

请避免收集类似的建议,这太天真了,显而易见。

+8

独裁者是一个很不错的单身人士。你每个国家只能有一个,而且他们一般都是不好的习惯。 :) – Mat 2013-03-18 12:20:41

回答

0

一碗东西总是一个很好的例子。

Bowl<T> can be Bowl<Cookie> Bowl<Candy> .... 
+0

那么,你不能把任何糖果放入一碗饼干? – bsiamionau 2013-03-18 12:23:20

+1

你可以,但想象一个充满碗的架子。每个碗都是一样的(大小,形状等),并以相同的方式处理(放入,从中取出最上面的物品)。但他们被贴上了Cookie,Candy等。你要确定,如果你拿某物。在Cooki碗里,它确实是一个饼干 - 而不是糖果。在这种情况下,你不会想在饼干碗里放一块糖果,尽管你可以技术性地把它放在那里。泛型为您提供“类型安全”。 – Pyranja 2013-03-18 12:31:54

7
  1. 我想开一家宠物店,我不在乎它们是什么不同类型的宠物,但该死的我想要一个宠物商店。我想要小猫,乌龟和蜘蛛。我希望能够数它们,找到我有多少动物,并订购它们。我不想把这个事实说明我的乌龟是乌龟,我知道它是乌龟。

  2. 只有一个店铺银行账户,我永远不会超过一个,凡是有人通过网络或邮寄的方式向我发出订单,那里只有一个店铺银行账户。无论我的店铺从哪里进入,都不会有别的。

0

所以我想买一台电视。我正在查看List<TV>。但后来我决定要买一台液晶电视。所以我instanceof通过列表并获得List<LCD_TV>。由于我需要公司电视,我打电话给抽象TV.getManufacturer()并检查它是否为== company。然后我知道我想要一个LED点亮的LCD,所以我打电话LCD_TV.getLcdType()并检查它是否== LED。然后我随便选择list.get(rand() % list.size())