November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy zdefiniować dwie wersje metody o tej samej nazwie, różniące się zestawem argumentów.
W danej klasie języka Ruby może istnieć tylko jedna metoda o określonej nazwie. Może ona być jednak wywoływana z różnym zestawem argumentów, który to zestaw można badać w trakcie jej wykonywania.
W poniższym fragmencie definiowana jest klasa Rectangle, reprezentująca prostokąt. Jej obiekty można tworzyć w dwojaki sposób: podając dwa parametry oznaczające położenia wierzchołków lewego górnego i prawego dolnego albo podając trzy parametry: położenie lewego górnego wierzchołka, długość i szerokość. W treści metody initialize łatwo jest rozróżnić te dwa przypadki.
# Konstruktor wywoływać można dwojako: ...