链表头节点标识符/指针访问问题

发布于 2025-01-03 06:45:28 字数 369 浏览 0 评论 0原文

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 属性实现 getter 方法

有人可以建议我访问 $first 的正确方法吗?

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
}
}

What could be the solution for this?

  • Make $first public? that is not a nice idea
  • Implement getter method for $first property

Can someone please suggest me correct way to access $first?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

舟遥客 2025-01-10 06:45:28

访问是通过类而不是实例来控制的。您可以从类中的代码访问该类的任何私有成员。无论您使用 $this 引用还是其他引用都没有关系。

class LinkedList{
    private $first="3.11";

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

PHP、Java 和 C++ 中也是如此。

Access is controlled though the class, not the instance. You can access any private member of a class from code that's within the class. Whether you use the $this reference or another doesn't matter.

class LinkedList{
    private $first="3.11";

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

This is the same in PHP, Java, and C++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文