PDA

View Full Version : [PHP] Definire classe identica senza estendere


biowep
24-01-2014, 21:29
Ciao,
devo dichiarare due classi identiche ma con nomi diversi. Il problema è che non posso dichiarare una come estensione dell'altra perché devono essere proprio identiche, diciamo che come importanza sono sullo stesso piano. In particolare vorrei evitare che le istanze di una fossero anche istanze dell'altra. Usando l'operatore "instanceof" su un'istanza di una delle due classi e chiedendo se è un'istanza dell'altra, la risposta deve essere: falso.

Vorrei anche evitare di dichiarare una terza classe dalla quale far ereditare entrambe. È possibile farlo magari con le interfacce? (purtroppo non le ho mai usate, non ho nemmeno un'idea chiara di cosa siano).

Daniels118
27-01-2014, 08:25
Se hai un'esigenza del genere vuol dire che devi prendere maggiore confidenza con la programmazione ad oggetti. Quello che vuoi fare è concettualmente sbagliato: se due classi sono identiche, allora rappresentano la stessa cosa.

Le interfacce servono per costringere una classe ad implementarne i metodi, ma le interfacce di per se non li possono implementare.

Se proprio ci tieni, puoi provare a scrivere proprietà e metodi in un file separato e utilizzare include (non so se funziona, devi provare).

tomminno
27-01-2014, 12:41
A cosa serve avere 2 classi uguali di nome differente?
Non capisco perchè non vuoi usare la classe base, che è il modo corretto di procedere nel tuo caso (che poi non ha proprio senso avere 2 classi uguali distinte solo dal nome)