Object-Oriented Programming Onramp, Creating Custom Classes, Adding Functionality, Methodenaufruf
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Harald
2024-6-5
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!