Доступ к частной переменной PHP от дочернего элемента

, поэтому я пытаюсь решить проблему, с которой столкнулся при разработке классов PHP. Я создал базовый класс и присвоил частные переменные. У меня есть дочерние классы, расширяющие этот базовый класс, которые ссылаются и изменяют эти частные переменные через функции базового класса. Вот пример, имейте в виду, что я все еще не понимаю разницы между методами/переменными privateи protected(дайте мне знать, если я делаю это неправильно!):

base.class.php

<?php
class Base {
    private $test;
    public function __construct(){
        require('sub.class.php');
        $sub = new Sub;
        echo($this->getTest());
    }
    public function getTest(){
        return $this->test;
    }
    protected function setTest($value){
        $this->test = $value;
    }
}
?>

подкласс.php

<?php
class Sub extends Base {
    public function __construct(){
        parent::setTest('hello!');
    }
}
?>

Поэтому я ожидаю, что результатом будет hello! напечатано на экране - вместо этого ничего нет. С моей стороны может быть фундаментальное непонимание классов, а может быть, я просто делаю что-то не так. Любое руководство очень ценится! Спасибо.

РЕДАКТИРОВАТЬ:

Спасибо всем, кто предоставил ответ - я думаю, несмотря на отличные решения, что дочерние классы на самом деле не то, что мне нужно - кажется, классы делегатов могут быть более полезными на данный момент, поскольку я не на самом деле не нужно ссылаться на базовые функции из других классов.

6
задан iLoch 31 May 2012 в 04:39
поделиться