Private и Protected - это не враги программиста, мешающие ему работать, а друзья, помогающие исключить ненужное из взаимодействия между классами и гарантировать, что никто его туда случайно не вытащит.
Попрактикуйтесь в паттернах, разделите класс, который должен быть семиугольным треугольником, на непротиворечивые части - и не выдумывайте, как обмануть правила, для вашей же пользы и созданные.