import gobject

class A(gobject.GObject):
    __gproperties__ = {
        'name': (str, '', '', '', gobject.PARAM_READWRITE)
    }

class B(A):
    __gproperties__ = {
        'surname': (str, '', '', '', gobject.PARAM_READWRITE)
    }

b = B()
b.name = 'marco'
b.surname = 'giusti'

class C(gobject.GObject):
    name = gobject.property(type=str)

class D(C):
    surname = gobject.property(type=str)

d = D()
d.name = 'marco'
d.surname = 'giusti'
