Нужно ли объявлять свойство в наследнике? Вопрос может совсем глупый, но всё же. Подскажите. В данном примере нужно ли объявлять свойство у наследника?class Company{
protected $company_id = NULL;
//обязательно нужно указать ID организации
public function setCompany($id){
$this->company_id = $id;
}

public function getInfo(){
return $this->company_id;
//... return data array company...
}
}
class Department extends Company{
protected $company_id = NULL; //вот тут нужно?
public function test(){
return $this->getInfo();
}
}
//$a1 = new Company();
//$a1->setCompany(100);
$a2 = new Department();
$a2->setCompany(200);
echo $a2->test();

21 Авг 2019 в 06:59
191 +1
0
Ответы
1

Нет, в данном случае не нужно объявлять свойство $company_id в классе наследнике Department. Поскольку это свойство уже объявлено в родительском классе Company и помечено как protected, оно будет доступно и в классе Department.

Использование того же имени $company_id в классе Department необходимо только в случае, если в классе Department требуется иметь отдельное свойство с таким же именем, но с другими свойствами или методами. В противном случае можно использовать унаследованное свойство $company_id из класса Company.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир