paolo-chiappini / proj-ingsw-heroscimmie

Apache License 2.0
2 stars 0 forks source link

Costanti di classe private #2

Closed paolo-chiappini closed 1 year ago

paolo-chiappini commented 1 year ago

Per quanto riguarda le costanti delle classi, potrebbe essere meglio renderle private per i seguenti motivi: nel caso di Bookshelf, BOOKSHELF_COMLUMN e BOOKSHELF_ROW sono accessibili solamente come Bookshelf.BOOKSHELF_COLUMN/ROW, ovvero solo tramite un riferimento diretto alla classe Bookshelf. Se da Bookshelf ora si volesse estrarre un'interfaccia, ad esempio IBookshelf, non sarebbe più possibile ottenere la dimensione in quanto IBookshelf non ha costanti.

Si potrebbe quindi pensare di adottare la "metodologia Java" e aggiungere 2 getter: getHeight(): int, getWidth(): int (che nel caso di Bookshelf ritornerebbero il valore delle costanti che a questo punto sarebbero private). In questo modo diventa possibile estrarre i metodi nell'interfaccia IBookshelf in modo da poter creare, per esempio, delle librerie di test che hanno dimensioni diverse da quella effettiva.