Расширение BigDecimal?

У меня достаточно кода с использованием класса BigDecimal , и я ненавижу неуклюжесть интерфейса .

Я облегчил боль от использования BigDecimal с целыми числами, создав вспомогательный класс со статическими методами со следующими методами:

compare(BigDecimal first, int second)
divide(BigDecimal dividend, BigDecimal divisor, int scale)
divide(BigDecimal dividend, int divisor, int scale)
divide(int divident, int divisor, int scale)
multiply(BigDecimal first, BigDecimal second, int scale)
multiply(BigDecimal first, int second, int scale)
multiply(int first, int second, int scale)
zeroPad(BigDecimal value, int totalLength, int scale)

Это все, что мне сейчас нужно, а кода немного. более читабельный, чем раньше. Однако я читал, что статические методы - это «плохо» и что они не следуют объектно-ориентированным принципам.

Если я расширю BigDecimal , я определю новый тип и, следовательно, Мне придется переопределить все методы, чтобы обернуть их моим объектом, иначе я не смогу использовать результаты с расширенными методами. Это не кажется разумным.

Как бы вы подойти к этой проблеме?

8
задан Bhesh Gurung 14 December 2011 в 21:27
поделиться