Supponiamo di avere il seguente codice.
class D { static Integer i1 = 42; }
È vero che D ha un intero? O è solo per la variabile di esempio che possiamo avere una relazione has-a?
Mi chiedo anche molto simile, se una variabile primitiva può anche fare una relazione has-a o è strettamente per le classi? per esempio.
class D { int i1 = 42; }
Sembra che D abbia un int
ma è un primitivo e non sono sicuro che le primitive siano legali per una relazione has-a.
Per costruire un esempio che potrebbe essere scomodo, presumo che non sia una relazione has-a che String s1 = "s1";
abbia un char perché non è quel tipo di relazione anche se s
e 1
sono variabili tipi di char
in questo caso.
Allo stesso modo, presumo che sia falso che una classe o un oggetto "abbia" qualcosa che ha solo concettualmente o come implementazione interna piuttosto che il modo semplice di capire come una relazione ha-una.
AFAIK, Java non ha class Digit
, non ha class Mantissa
, non ha class Coefficient
e no class Fraction
quando sfoglio i javadocs per Java 8, mentre Java ha molte classi per molti scopi diversi. Suppongo che il motivo dell'omissione di certe classi che sono concetti abbastanza comuni potrebbe essere che l'oggetto non sarebbe utile o che la gerarchia delle classi diventerebbe un complesso non necessario.
Ho compreso l'utilizzo e la definizione della relazione has-a? Ho frainteso qualcosa? Ci sono casi d'angolo a cui non ho pensato?