Object-Oriented Programming Onramp, Creating Custom Classes, Adding Functionality, Methodenaufruf
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hallo,
meine Frage bezieht sich auf den Kurs Object-Oriented Programming Onramp, Creating Custom Classes. Man wird aufgefordert in der Klasse idstick die Methode signal zu ergänzen. Anschließend soll man in Task 2 die Methode signal aufrufen. Warum wird signal ohne Objektinstanz aufgerufen? Gibt es in Matlab statische Methoden? In diesem Fall müsste die Methode aber doch über den Klassennamen idstick referenziert werden?
Die Definition der Methode signal in der Klasse idstick lautet:
methods
function signal(id,ok)
if ok
disp("Beep")
else
disp("Buzz")
end
end
end
In Aufgabe 3 wird erklärt, dass die Methode signal als erste Eingabe ein Objekt vom Typ idstick erwartet. In der Methodendefinition von signal wird in der Parameterliste kein Typ angegeben sonderen nur der Name des ersten Parameters (id). Wie kann eine Typprüfung stattfinden? id könnte irgendetwas sein.
Vielen Dank!
Lisa
0 Commenti
Risposta accettata
Harald
il 5 Giu 2024
Hallo,
damit man sieht, in welchem Teil genau du bist (chapter / section / lesson), bitte den Teil verlinken, um den es geht.
Generell muss außer beim Konstruktor ein Objekt der Methode übergeben werden, entweder method(obj, ...) oder obj.method(...) . Statische Methoden gibt es, dazu müsste das Attribut Static gesetzt werden.
Die Methode signal der Klasse idstick wird überhaupt nur dann aufgerufen, wenn das erste Argument ein Objekt der Klasse idstick ist. Daher ist eine Datentypüberprüfung von id nicht notwendig.
Viele Grüße,
Harald
0 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!