Ich habe zwei Klassen.zwei Klassen mit gemeinsamen Methoden und Eigenschaften
Klasse A:
class A() {
public void QQ() {}
public void WW() {}
}
und Klasse B:
class B() {
public void QQ() {}
public void WW() {}
}
Sie teilen nicht die gleiche Schnittstelle oder eine abstrakte Klasse. A und B haben zwei unterschiedliche Hierarchien und ich kann das im Moment nicht ändern.
Ich möchte ein einzelnes Verfahren schreiben, das für A und B funktioniert und QQ und WW-Methoden verwendet.
Kann ich das tun? Können Sie mir irgendein Dokument vorschlagen, das ich studieren kann?
Tanks
Sie können einen Delegaten verwenden –
es ist sehr ähnlich zu dynamischen Typ – Admdebian
"Sie teilen nicht die gleiche Schnittstelle" - ja, derzeit gibt es keine 'Schnittstelle', die sie beide implementieren. Sie haben jedoch eindeutig einen Teil ihrer öffentlichen Oberfläche gemeinsam. Definieren Sie also eine Schnittstelle 'ICanQQAndWW' und lassen Sie sie beide implementieren. Warum nach einem hässlichen Hack suchen, wenn es schon einen offensichtlichen sauberen Weg dafür gibt? – AakashM