Quick actions

cmd+k|ctrl+k

Navigation

Languages

ABC-property

Snippet info

Language

Python

Visibility

public

Author

atymo

Created

2019-07-15T14:31:52Z

Updated

2019-07-15T14:31:52Z

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)
INFO