Wywołanie _clone tworzy fizyczną kopię obiektu person. Wywołanie _super pozwala obiektom na wywołanie implementacji metody egzemplarza rodzica. Obiekty mogą odwoływać się do siebie używając _self. Sloty obiektu są dostępne i przypisywanie za pomocą notacji z kropką.

Metody które nie są częścią publicznego interfejsu obiektu mogą być oznaczone jako prywatne przy użyciu _private. Prywatne metody mogą być wołane wyłącznie przez _self, _super i _clone.

Opcjonalne argumenty mogą być deklarowane przy użyciu _optional. Opcjonalne argumenty które nie są przekazywane są przypisywane przez Magika do specjalnego obiektu _unset (odpowiednik null). Do deklarowania listy opcjonalnych argumentów może być użyte _gather.

_method my_object.my_method(_gather values) _endmethod

Iteracja W Magiku na iteracje pozwalają _for, _over, _loop i _endloop.

_method my_object.my_method(_gather values) total << 0.0 _for a _over values.elements() _loop total +<< a _endloop _return total _endmethod

m << my_object.new() x << m.my_method(1.0, 2, 3.0, 4) # x = 10.0

Tutaj values.elements() jest iteratorem który pomaga iterować wartości.

W Magiku metody generatora są zwane metodami iteratora.