2.13. Symulowanie subklasingu klasy Fixnum

Problem

Chcemy zdefiniować nową klasę zachowującą się jak subklasa klasy Fixnum, Float czy innej numerycznej klasy języka Ruby. Ta nowa klasa powinna mieć możliwość występowania jako operand operacji arytmetycznych z udziałem prawdziwych obiektów Integer czy Float i generalnie przejawiać powinna zachowanie niemal identyczne ze swoim pierwowzorem (superklasą), z tą różnicą, że bazować będzie na odmiennej reprezentacji liczb bądź też definiować dodatkowe elementy funkcjonalności.

Rozwiązanie

Aby uczynić opisany problem bardziej realnym, rozpatrzmy konkretny przykład. Załóżmy, że chcemy zdefiniować klasę podobną do Integer, lecz bazującą na szesnastkowej, a nie dziesiętnej reprezentacji liczb. ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.