
Привет! Сегодня я расскажу тебе о таком интересном понятии, как наследование классов в PHP. На примере классов Student и Aspirant мы познакомимся с тем, как можно создавать и использовать наследуемые классы.Для начала, давай определим класс Student. Он будет содержать свойства firstName (имя), lastName (фамилия), group (группа) и averageMark (средняя оценка). Создадим также метод getScholarship, который будет возвращать сумму стипендии в зависимости от средней оценки студента.php
class Student {
public $firstName;
public $lastName;
public $group;
public $averageMark;
public function getScholarship {
if ($this->averageMark 5) {
return 5000;
} else {
return 3000;
}
}
}
Теперь давай создадим класс Aspirant, который наследует все свойства и методы класса Student. Единственное отличие состоит в наличии научной работы. Добавим это свойство в класс Aspirant и переопределим метод getScholarship для аспиранта.php
class Aspirant extends Student {
public $scientificWork;
public function getScholarship {
if ($this->averageMark 5) {
return 6000;
} else {
return 4000;
}
}
}
Теперь у нас есть два класса, наследника и родителя. Мы можем создать массив, содержащий объекты класса Student и Aspirant, и вызвать метод getScholarship для каждого элемента массива.php
$students array(
new Student(‘Иван’, ‘Иванов’, ‘Группа 1’٫ 4.8)٫
new Aspirant(‘Петр’, ‘Петров’, ‘Группа 2’, 5.0, ‘Научная работа 1’)
);
foreach ($students as $student) {
echo $student->getScholarship . ‘
‘;
}
В результате выполнения кода мы получим сумму стипендии для каждого студента и аспиранта в массиве.
Таким образом, мы создали классы Student и Aspirant, используя концепцию наследования классов в PHP. Класс Aspirant наследует свойства и методы класса Student, а также переопределяет метод getScholarship. Создав массив объектов классов и вызвав метод getScholarship для каждого объекта, мы получили сумму стипендии для каждого студента и аспиранта.