Начальные двойные подчеркивания предотвращают полиморфизм, поскольку как определение метода , так и вызов метода искажены под двумя разными именами. Замените это подчеркиванием, чтобы исправить это.
Кроме того, двойные подчеркивания не используются для "частных" атрибутов, и вы должны отказаться от любых ссылок, которые вам говорят, что они есть. Они используются для устранения неоднозначности МИ.