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.