2013-03-18 8 views
5

ho ottenuto domanda successiva al colloquio di Java:vita reale esempi classe generica

  1. Potrebbe citare alcuni esempi classe generica da vita reale? Non da vera vita di PROGRAMMAZIONE, ma in comune. Per esempio. stai spiegando i generici alla persona, che non sa nulla sulla programmazione.

  2. La stessa cosa del modello di progettazione più semplice: singleton.

devo sapere qualche idea, sulla prima domanda (circa farmaci generici), ho provato a chiamare diversi utensili a mano (come fretsaw), che funzionano con un solo tipo di materiale, ma non è davvero generici.

Si prega di evitare suggerimenti di raccolta, è troppo ingenuo e ovvio.

+8

I dittatori sono un singleton piuttosto buono. Puoi averne solo uno per nazione, e sono cattive pratiche in generale. :) – Mat

risposta

0

Una ciotola di qualcosa è sempre un buon esempio.

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

Quindi, non si è in grado di mettere caramelle in una ciotola di biscotti? – bsiamionau

+1

Potresti, ma immagina uno scaffale pieno di ciotole. Ogni scodella è la stessa (dimensione, forma, ecc.) E viene gestita allo stesso modo (mettere dentro, prendere l'oggetto in cima). Ma sono etichettati come Cookie, Candy, ecc. Vuoi essere sicuro, che se prendi sth. fuori dalla ciotola di Cooki, è davvero un biscotto - e non una caramella. In questo scenario non vorresti avere una caramella nella ciotola dei biscotti, anche se potresti tecnicamente metterla lì. I generici ti offrono quella "typesafety". – Pyranja

7
  1. voglio aprire un negozio di animali, non mi importa che tipo diverso di animali domestici che sono, ma dannazione voglio un negozio di animali. Voglio gattini, tartarughe e ragni. Voglio essere in grado di contarli, trovare quanti animali ho e ordinarli come tali. Non voglio dover dire che la mia tartaruga è una tartaruga, so che è una tartaruga.

  2. C'è un solo conto bancario, non ne avrò mai più di uno, dove mai qualcuno mi ordini, sia online che per posta, esiste sempre un solo conto bancario. Non ci può mai essere un altro, non importa da dove si accede al mio negozio.

0

Quindi voglio comprare una TV. Sto guardando attraverso un List<TV>. Ma poi decido che voglio avere una TV LCD. Così ho instanceof attraverso l'elenco e ottenere List<LCD_TV>. Dal momento che voglio una tv aziendale, chiamo l'abstract TV.getManufacturer() e controllo se è == company. Allora so che voglio un LCD a LED, quindi chiamo LCD_TV.getLcdType() e controllo se è == LED. Quindi scelgo casualmente list.get(rand() % list.size())