Зачем нужна функция sayit?
В курсе PHP на первом занятии по ООП не совсем понятно зачем нужна функция sayIt() если тоже самое делает функция getWords().
class human {
private $words;
public function setwords($words)
{
$this->words=$words;
}
public function getwords(){
return $this->words;
}
public function sayit(){
return $this->getwords();
}
}
$human = new human();
$human->setwords("Слово");
echo $human->sayIt();
// В echo же можно написать просто $human->getwords();
1 ответов
Здравствуйте, Антон
Можно написать $human->getwords();
Здесь я показывал немного другой функционал.
Есть getters и setters. У них очень простое предназначение - задавать значения для полей для того, чтобы не нарушать инкапсуляцию. т.е. эти методы просто устанавливают или отдают значение для поля класса. Если попробовать вызывать приватное поле напрямую - мы получим ошибку.
Метод sayit() - это другое немного.
В sayit() может быть любая реализация, например можно подключить библиотеку-генератор голоса, которая на вход получает текст, а на выходе произносится текст. В getter $this->getwords() не стоит помещать такой функционал, ведь человек может произносить слова не только голосом, но и жестами, печатать текст и прочее. Для печатания текста может быть метод typeIt(). Getter просто отдает нужное нам поле класса.
Там дальше про наследование, интерфейсы посмотрите. Лучше всего ООП осваивается при изучении фреймворков.