Ci è stato assegnato il compito di creare la classe carta. questa classe viene utilizzata dalla classe mazzo che contiene un'array di carte e il metodo astratto inizializza, per dare i vari semi, nomi e numeri alle carte. successivamente abbiamo creato la classe napoletano (figlia di mazzo).
ora, tanto per provare a fare qualcosa di divertente, volevo provare a fare il gioco della briscola, ma sono fermo al principio: la partita di briscola come la devo considerare?
credo sia giusto vederla come un metodo... ma di quale classe? di napoletano? ok, ma se io dovessi fare una nuova classe francese che descrive appunto un mazzo di carte francesi (quelle da poker per intenderci), dovrei stare a riscrivermi tutta l'implementazione della briscola?
anche se fosse un metodo astratto di mazzo, dovrei starmi a riscrivere lo stesso identico codice sia per un mazzo napoletano sia per uno francese, ma dato che a briscola si gioca allo stesso modo sia che si abbia un mazzo napoletano, piacentino, francese (in questo caso vanno tolte delle carte, ma l'algoritmo legato al gioco sempre quello rimane) o che sia, non è un po' inutile renderlo astratto se devo riscrivere lo stesso codice?
e se fosse un metodo non virtuale di mazzo, come potrei fare per sapere se devo considerare un mazzo napoletano o francese?
spero di essermi spiegato bene...