ЗАДАНИЕ 2:
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function showMsg() {
return "Ваше имя: {$this->name}";
}
}
class Employee extends Person {}
$employee = new Employee("Иван");
echo $employee->showMsg(); // Ваше имя: Иван
ЗАДАНИЕ 3:
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function showMsg() {
return "Ваше имя: {$this->name}";
}
}
class Employee extends Person {
public $company;
public function __construct($name, $company) {
parent::__construct($name);
$this->company = $company;
}
public function showMsg() {
return parent::showMsg() . ". Вы работаете в {$this->company}";
}
}
$employee = new Employee("Иван", "ООО Рога и Копыта");
echo $employee->showMsg(); // Ваше имя: Иван. Вы работаете в ООО Рога и Копыта
ЗАДАНИЕ 4:
interface MessageService {
public function sendMessage($contact, $message);
}
class TelegramMessageService implements MessageService {
public function sendMessage($contact, $message) {
return "Вы отправили сообщение {$message} на {$contact}";
}
}
$messageService = new TelegramMessageService();
echo $messageService->sendMessage("123456", "Привет мир!"); // Вы отправили сообщение Привет мир! на 123456
ЗАДАНИЕ 5:
abstract class MessageService {
public abstract function sendMessage($contact, $message);
}
class TelegramMessageService extends MessageService {
public function sendMessage($contact, $message) {
return "Вы отправили сообщение {$message} на {$contact}";
}
}
$messageService = new TelegramMessageService();
echo $messageService->sendMessage("123456", "Привет мир!"); // Вы отправили сообщение Привет мир! на 123456
Создайте родительский класс «Person» с public свойством «name». Добавьте конструктор,
который будет менять public свойство «name», при создании экземпляра класса. Добавьте
так же public метод «showMsg», который будет возвращать строку «Ваше имя: {$name}»,
$name – это свойство класса.
Создайте дочерний класс «Employee» без свойств и методов.
Создайте экземпляр класса «Employee» и выведите на экран результат вызова метода
«showMsg».
ЗАДАНИЕ 3.
Создайте родительский класс «Person» с public свойством «name». Добавьте конструктор,
который будет менять public свойство «name», при создании экземпляра класса. Добавьте
так же public метод «showMsg», который будет возвращать строку «Ваше имя: {$name}»,
$name – это свойство класса.
Создайте дочерний класс «Employee» с public свойством «company». Добавьте
конструктор, который будет изменять свойство «name» у родителя и свойство «company»
у дочернего класса. Добавьте так же public метод «showMsg», который будет возвращать
строку «Ваше имя: {$name}. Вы работаете в {$company}», $name – это свойство класса
родителя, $company – свойство дочернего класса.
Создайте экземпляр класса «Employee» и выведите на экран результат вызова метода
«showMsg».
ЗАДАНИЕ 4.
Создайте интерфейс «MessageService» с методом «sendMessage($contact, $message)».
Создайте класс TelegramMessageService, который будет использовать интерфейс
«MessageService», добавьте метод «sendMessage», который будет возвращать строку «Вы
отправили сообщение {$message} на {$contact}».
Создайте экземпляр класса и выведите результат работы метода «sendMessage».
ЗАДАНИЕ 5.
Реализовать такую же логику, как и в ЗАДАНИЕ 4, только вместо интерфейса
использовать абстрактный класс.