gpt4 book ai didi

php - 从外部类访问私有(private)函数

转载 作者:行者123 更新时间:2023-12-02 05:24:03 27 4
gpt4 key购买 nike

我正在学习面向对象的东西,遇到了这个:

class n{

private function f($v){
return $v*7;
}

function c(){
return $this->f(5);
}
}

$o = new n;
echo $o->c(); //returns 35

如果我仍然可以从类外访问函数,这是否违反了声明函数 private 的目的?难道不应该完全阻止吗?我错过了什么吗?请帮忙清理一下。谢谢

最佳答案

公共(public)函数旨在对该类的实例执行操作。比如,Save()

Save() 的内部工作方式对调用者来说并不有趣;他只是想保存它而不关心它是如何发生的。

作为一种风格问题,您可能希望也可能不希望在该方法中实际执行保存。它可能取决于设计选择或对象的属性。见:

class FooObject
{

private $_source;

public function Save()
{

if ($this->_source == "textfile")
{
$this->saveToTextfile();
}
elseif ($this->_source == "database")
{
$this->saveToDatabase();
}
}

private function saveToTextfile()
{
// Magic
}

private function saveToDatabase()
{
// Magic
}
}

您不希望任何人直接调用私有(private)方法,因为它们仅供内部使用。但是,公共(public)方法可能会间接调用私有(private)方法。

关于php - 从外部类访问私有(private)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8133634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com