___ qstnhdr ___ Wie erbt man von MonkeyDevice?
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com.
___ qstntxt ___
Ich möchte die MonkeyDevice-Klasse der Monkeyrunner-API erweitern.
Meine abgeleitete Klasse sieht so aus.
%Vor%
Wenn ich %code% von einem anderen Modul anrufe, erhalte ich den folgenden Fehler:
%Vor%
Was mache ich falsch?
Vielen Dank im Voraus!
___ answer14517613 ___
Es scheint, dass Sie eine %code% -Instanz nicht direkt initialisieren können, ohne eine Factory-Funktion %code% aufzurufen. Stattdessen müssen Sie %code% in Ihrer Funktion %code% zuweisen, damit %code% die Instanz als von %code% erben erkennt, bevor Sie sie %code%
aufrufen
Beispiel:
%Vor%
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend.
___ tag123monkeyyrunner ___ Monkeyrunner ist ein Tool von Android SDK, das eine API zum Schreiben von Programmen bereitstellt, die ein Android-Gerät oder einen Emulator von außerhalb des Android-Codes steuern.
___ tag123inheritance ___ Vererbung ist das System in der objektorientierten Programmierung, das es Objekten ermöglicht, Operationen zu unterstützen, die von anterioren Typen definiert sind, ohne eine eigene Definition angeben zu müssen. Es ist der Hauptvektor für Polymorphie in der objektorientierten Programmierung.
___ answer9410314 ___
Es scheint, dass Sie versuchen, eine %code% -Instanz, die durch den Factory-Aufruf %code% zurückgegeben wurde, zu erweitern.
Wenn Sie versuchen, %code% im Konstruktor zu ersetzen, erhalten Sie einen Fehler (?).
Ich vermute, dass Sie Jython ausführen, da sich CPython hier nicht beschweren würde, stattdessen wird eine lokale Variable %code% erstellt und ihr Wert verloren.
Um das zu erreichen, was Sie wollen, sollten Sie eine Klasse mit der benutzerdefinierten %code% anstelle von %code% erstellen, Ihre %code% Instanz von der Factory holen und Ihre Sachen in die Instanz oder ihre Klasse / Basen / etc / p>
Alternativ könnten Sie %code% in eine andere Klasse umbrechen und monkey-ish-Aufrufe und Mitgliederzugriffe durch %code% und %code% übergeben.
___