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

采纳的回答

Harald
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 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!