# a single underscore marks a member as protected by default class X var _a as int get _b as int return 1 set _c as int pass pro _d as int get return 1 set pass def _e pass class Y inherits X get _b as int is override return 2 set _c as int is override pass pro _d as int is override get return 2 set pass def _e is override pass class Test def main is shared x = X() print x._a # .error. cannot access print x._b # .error. cannot access x._c = 5 # .error. cannot access print x._d # .error. cannot access x._d = 5 # .error. cannot access x._e # .error. cannot access