""" experiment with hints and subclasses
"""


class A:
    """
    A class to try out type hinting on attributes

    === Attributes ===
    # @param int x:
    #     an integer
    # @param int y:
    #     another integer
    @type y: int
        another integer
    @type x: int
        an integer
    """
    def __init__(self, x, y):
        """
        Initialize an A.

        @type x: int
        @type y: int
        @rtype: None
        """
        self._set_y(y)
        self.x = x

    def _set_y(self, y):
        self._y = y

    def _get_y(self):
        return self._y

    y = property(_get_y, _set_y)


if __name__ == "__main__":
    a = A(0, 1)
    # Pycharm flags these
    # if they are hinted
    # in class docstring
    print(a.x + "three")
    print(a.y + "three")
