Sono un nuovo arrivato e mi chiedo come sia possibile implementare una struttura simile ai metodi astratti delle classi & in Java. In Java, farei quanto segue:Equivalenza di classi/metodi astratti (Java) in Google Go
abstract class A{
static method1(){
...
method2();
...
}
abstract method2();
}
class B extends A{
method2(){
...
}
}
class C extends A{
method2(){
...
}
}
Conosco interfacce e strutture. Potrei costruire un'interfaccia e quindi una struttura per implementare method1. Ma per quanto riguarda method2? So che posso incorporare un'interfaccia in un'altra e anche una struttura come un campo di un'altra struttura. Ma non vedo un modo per implementare la mia struttura con quei metodi.
L'unica soluzione che vedo è implementare il metodo1 sia in classe B che in classe C. Non c'è un altro modo?
Nota: ovviamente nel mio caso non è solo un metodo. Inoltre ho una gerarchia di classi astratte e non voglio davvero spostare tutto nelle "sottoclassi".
Gli esempi che ho trovato su Internet sono per lo più con un solo metodo per interfaccia. Sarebbe bello se uno di voi ragazzi potesse darmi un suggerimento qui! Grazie.
Come questa risposta, e voglio aggiungere, che se aveste bisogno di avere un'interfaccia di struttura, come una classe astratta, di quanto possiate usare lo stesso principio scritto da @ANisus, ma aggiungete metodi getter. In modo che tu possa chiamare parametri di struttura come '' 'Model.getName''' dove' '' Model''' avrebbe una struttura esatta che risolve alcune interfacce che hai creato. – Altenrion