php术语:getter和public方法之间的区别?

我的问题更多是关于术语然后是技术性的(或者是它?).

类中的getter方法和公共方法有什么区别?它们是同一个还是它们之间有区别?

我问,因为我正在努力学习最好的编码实践,这个领域对我来说似乎很灰暗.我正在评论我的代码,并注意到我有一个名为“Getters”的大部分和另一个名为“公共方法”的大部分然后我就像……“什么是差异?!”.

谢谢!

解决方法:

简单来说,PHP中的getter只是一种允许代码的其他部分访问某个类属性的方法.

例如:

<?php

class Person {
    private $name;

    public function __construct($name) {
        $this->name = $name;
    }

    // Getter
    public function getName() {
        return $this->name;
    }
}

$bob = new Person('Bob');
echo $bob->getName(); // Bob

?>

一种方法可能不一定只是为了返回一个属性;你可以创建其他方法,以便你的班级可以做一些时髦的事情.

为了扩展上面的例子,让我们给Person类一个名为say()的方法,并给它一个函数/方法参数来表示说什么:

    public function say($what) {
        printf('%s says "%s"', $this->name, $what);
    }

在我们从类中创建一个对象之后调用它:

$bob = new Person('Bob');
echo $bob->getName(), "\n"; // Bob
$bob->say('Hello!');        // Bob says "Hello!"

请注意,在say()方法中,我引用了$this-> name.没关系,因为$name属性在同一个类中找到. getter(及其相应的setter,如果有的话)的目的是允许代码的其他部分访问此属性.

上一篇:尽管删除了getter,Javascript也不会让我设置只有getter的属性


下一篇:python3的getter方法setter方法以及property修饰