Идентификатор главного узла Linkedlist / проблема с доступом к указателю - PullRequest
0 голосов
/ 07 февраля 2012
class LinkedList{
private $first;

public function Merge(LinkedList $ll){
//We can't access $ll->first for merging operation as it's private inside $ll.
//We can only access $this->first not $first of $ll
}
}

Что может быть решением для этого?

  • Сделать $ first публичным? это не очень хорошая идея
  • Реализуйте метод получения для свойства $ first

Может кто-нибудь предложить мне правильный способ доступа к $ сначала?

1 Ответ

2 голосов
/ 07 февраля 2012

Доступ контролируется через класс, а не экземпляр. Вы можете получить доступ к любому закрытому члену класса из кода, который находится внутри класса. Используете ли вы ссылку $this или другую, не имеет значения.

class LinkedList{
    private $first="3.11";

    public function Merge(LinkedList $ll){
        echo $this->first, ' ', $ll->first;
    }   
}                                                                                

То же самое в PHP, Java и C ++.

...