var obj1 = { czescUlamkowa: 10, czescCalkowita: 20, oblicz: function () { ..... } } Przedstawiony kod został zapisany w języku JavaScript. W podanej...
var obj1 = { czescUlamkowa: 10, czescCalkowita: 20, oblicz: function () { ..... } }Przedstawiony kod został zapisany w języku JavaScript. W podanej definicji obiektu metodą jest element o nazwie
Pytanie z egzaminu CKE, październik 2016 (arkusz E.14-X-16.08).
Metoda to właściwość obiektu, której wartością jest funkcja. W definicji obj1 tylko oblicz ma po dwukropku słowo function, więc tylko ona jest metodą. Wywołuje się ją przez kropkę z nawiasami: obj1.oblicz(). Wewnątrz metody do pozostałych pól obiektu sięga się przez this, np. this.czescCalkowita. Nowsza składnia pozwala zapisać metodę krócej: oblicz() { ... }. Do zapamiętania: w literale obiektu { } każda para nazwa: wartość to właściwość, a gdy wartością jest funkcja - jest to metoda. Obiekt łączy w ten sposób dane i działania na nich. Tak zbudowany obiekt grupuje powiązane dane i działania na nich w jednym miejscu.
Pola czescCalkowita i czescUlamkowa łatwo uznać za metody, bo mają nazwy jak czynności, ale ich wartościami są liczby 10 i 20. To zwykłe właściwości obiektu, czyli dane: odczytuje się je zapisem obj1.czescCalkowita, bez nawiasów, i nie da się ich wywołać. obj1 z kolei to nazwa zmiennej, w której zapisano cały obiekt, a nie jego element - nie stoi w nawiasie klamrowym. O tym, czy element obiektu jest metodą, decyduje jego wartość, a nie nazwa. Wartością oblicz jest funkcja, dlatego to jedyna metoda tego obiektu, wywoływana jako obj1.oblicz(). Podobnie jest w innych językach obiektowych: pola przechowują stan obiektu, a metody opisują operacje, które można na nim wykonać. Nazwa elementu nie ma tu znaczenia - liczy się to, co stoi po dwukropku.