2013-03-18 8 views
5

Ich habe nächste Frage an Java Interview:Real life generische Klasse Beispiele

  1. Könnten Sie einige generische Klasse Beispiele aus dem wirklichen Leben nennen? Nicht von echtem PROGRAMMIERENDem Leben, sondern gemeinsam. Z.B. Du erklärst Generika einer Person, die nichts über Programmierung weiß.

  2. Gleiches gilt für das einfachste Designmuster - Singleton.

ich weiß, habe eine Ahnung, um die erste Frage (etwa Generika) habe ich versucht, verschiedene Handwerkzeugen zu nennen (wie Laubsäge), die mit nur einer Art von Material arbeiten, aber es ist wirklich nicht Generika.

Bitte vermeiden sammlungähnliche Vorschläge, es ist zu naiv und offensichtlich.

+8

Diktatoren sind ein ziemlich gutes Singleton. Sie können nur einen pro Land haben, und sie sind generell schlecht. :) – Mat

Antwort

0

Eine Schüssel mit etwas ist immer ein gutes Beispiel.

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

Also, Sie sind nicht in der Lage, irgendeine Süßigkeit in Schüssel Plätzchen zu setzen? – bsiamionau

+1

Sie könnten, aber stellen Sie sich ein Regal vor, das mit Schüsseln gefüllt ist. Jede Schale ist gleich (Größe, Form etc.) und wird auf die gleiche Weise gehandhabt (legen Sie etwas hinein, nehmen Sie das oberste Stück davon). Aber sie sind mit Cookie, Candy, etc. gekennzeichnet. Du willst sicher sein, dass wenn du etw. aus der Cooki-Schüssel ist es in der Tat ein Cookie - und keine Süßigkeit. In diesem Szenario würden Sie keine Süßigkeiten in der Keksdose haben wollen, obwohl Sie es technisch dort setzen könnten. Generics bieten Ihnen diese "Typsicherheit". – Pyranja

7
  1. Ich möchte ein Haustier-Shop eröffnen, ist mir egal, was andere Art von Haustieren sind sie aber dammit ich ein Geschäft Haustier wollen. Ich möchte Kätzchen, Schildkröten und Spinnen. Ich möchte in der Lage sein, sie zu zählen, finde heraus, wie viele Tiere ich habe und bestelle sie als solche. Ich möchte nicht die Tatsache aussprechen müssen, dass meine Schildkröte eine Schildkröte ist, ich weiß, dass es eine Schildkröte ist.

  2. Es gibt nur ein Bankkonto, ich werde nie mehr als eins haben, wo immer jemand von mir bestellt, entweder online oder per Post, es gibt immer nur ein Geschäftsbankkonto. Es kann nie wieder ein anderer geben, egal von wo aus ich auf den Shop zugreife.

0

Also ich möchte einen Fernseher kaufen. Ich schaue durch eine List<TV>. Aber dann entscheide ich, dass ich einen LCD-Fernseher bekommen möchte. Also ich instanceof durch die Liste und bekomme List<LCD_TV>. Da ich einen Company TV möchte, rufe ich den Abstract TV.getManufacturer() an und prüfe ob er == company ist. Dann weiß ich, dass ich ein LED-beleuchtetes LCD haben möchte, also rufe ich LCD_TV.getLcdType() an und überprüfe, ob es == LED ist. Dann wähle ich einfach zufällig list.get(rand() % list.size())