Attraverso l'API Java si vedono numerose occorrenze di nomi e pratiche conflittuali che mi stanno davvero confondendo.Convenzioni Java per dati accessibili. (Accessors pubblici & Getter/Denominazione)
Ad esempio:
La classe String ha una variabile privata (Intero) con il nome di count
che tiene traccia della dimensione della stringa, tuttavia questo viene restituito da un getter con il nome di length()
.
Se si passa a qualsiasi tipo di array, invece di avere un metodo getter per la lunghezza, basta passare la variabile attraverso una pubblica accessor e può essere ottenuta tramite arrayInstance.length
.
Tornando alla classe String abbiamo il metodo String#getBytes()
che è un getter, simile al getter length()
, tuttavia esegue un po 'più di logica per ottenere e restituire il valore.
A me, personalmente, la creazione di un getter con il prefisso di get
sembra ridondante, per esempio io piuttosto digito GamePacket#data()
contro GamePacket#getData()
però mi sento come se ci può essere un significato più profondo alla base di questa denominazione invece di incoerenza.
Inoltre, perché lo Array[]
non utilizza un getter per length
?
Qualcuno sarebbe così gentile da far luce su questo per me?
Un array non verrà ridimensionato. La 'lunghezza' è' finale' e innocua'. – ChiefTwoPencils
@ChiefTwoPencils - Buono a notare, perso questo, +1. – Hobbyist