from abc import ABCMeta
from abc import abstractmethod
class A(metaclass=ABCMeta):
@property
@abstractmethod
def foo(self):
"""What a foo!"""
pass
class B(A):
@property
def foo(self):
return self.__foo
@foo.setter
def foo(self, v):
self.__foo = v
def __init__(self):
self.foo = 'foolish foo'
# class C(B):
# def __init__(self):
# self.__foo = 'foolish foo'
# @property
# def foo(self):
# return self.__foo
# @foo.setter
# def foo(self, v):
# self.__foo = v
# a = A()
b = B()
print(b.foo)