Я использую Python bitmap
package.Как расширить статический базовый конструктор?
Это почти все, что нужно, но это не работает с шестнадцатеричными значениями, которые необходимы моим приложением, так что я расширил его так:
import bitmap
class BitMap(bitmap.BitMap):
def tohexstring(self):
val = self.tostring()
st = "{0:0x}".format(int(val,2))
return st.zfill(self.sz/4)
Базовый класс имеет статический конструктор из строка:
bitmap.BitMap.fromstring("01010101")
я могу сделать один из шестнадцатеричного преобразования шестнадцатеричного значения в бункер:
bitmap.BitMap.fromstring(format(int("aa",16),"08b"))
Но возвращенный класс является исходным классом растрового изображения, а не расширенным.
Как я могу использовать этот конструктор, но все же вернуть свой расширенный класс?
Почему вы не реализуете 'fromstring' для hex в вашем подклассе? Обратите внимание, что присвоение того же имени, что и суперкласс, не является идеальным. – jonrsharpe