Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Машина
- //Интерфейс - Перевозка. Мы можем считать время, за которое любой траснпорт преодолевает определенное расстояние.
- interface Transport {
- public function countTime();
- }
- //Помимо легковых автомобилей внутри суперкласса могут быть грузовики, мотоциклы.
- class Vehicle implements Transport {
- function countTime () {
- //код
- }
- }
- class Car extends Vehicle {
- public $brand;
- public $price;
- function isExpensive() {
- if ("{$this->price}" > 650000) {
- return "Да";
- } else {
- return "Нет";
- }
- }
- }
- $car1 = new Car();
- $car2 = new Car();
- $car1->brand = 'БМВ';
- $car2->brand = 'Ауди';
- $car1->price = 600000;
- $car2->price = 700000;
- //Телевизор
- //Интерфейс - Ремонт. Мы можем отремонтировать любое устройство, по-крайней мере подать заявку на ремонт.
- interface Repair {
- public function wantToRepair();
- }
- //Помимо телевизора внутри суперкласса могут быть мониторы, экраны сотовых телефонов.
- class Display implements Repair {
- function countTime () {
- //код
- }
- class TV extends Display {
- public $brand;
- public $size;
- function getBigSize() {
- if ("{$this->size}" > 41) {
- return true;
- }
- }
- }
- $tv1 = new TV();
- $tv2 = new TV();
- $tv1->brand = 'Сони';
- $tv2->brand = 'Филипс';
- $tv1->size = 42;
- $tv2->size = 40;
- //Шариковая ручка
- //Интерфейс - Рука. Мы можем писАть любыми письменными принадлежностями.
- interface Hand {
- public function toWrite();
- }
- //Помимо ручки внутри суперкласса могут быть карандаши, маркеры.
- class Writing_tools implements Hand {
- function toWrite() {
- //код
- }
- }
- class Pen extends Writing_tools {
- public $color;
- public $type;
- function getDescription() {
- return "{$this->color} {$this->type}";
- }
- }
- $pen1 = new Pen();
- $pen2 = new Pen();
- $pen1->color = 'Черная';
- $pen2->color = 'Синяя';
- $pen1->type = 'Шариковая';
- $pen2->type = 'Гелевая';
- //Утка
- //Интерфейс - Зоопарк. Животых держат в зоопарке. Пример функции - узнать вид и род животного.
- interface Zoo {
- public function kindOf();
- }
- //Помимо утки внутри суперкласса могут быть голуби, пингвины.
- class Birds implements Zoo {
- function kindOf() {
- //код
- }
- }
- class Duck extends Birds {
- public $name;
- public $whereIs;
- function sayKryaKrya() {
- return "{$this->name} сказал КРЯ-КРЯ";
- }
- }
- $duck1 = new Duck();
- $duck2 = new Duck();
- $duck1->name = 'Чёрный плащ';
- $duck2->name = 'Скрудж МакДак';
- $duck1->whereIs = 'На месте';
- $duck2->whereIs = 'Зимует';
- //Товар
- //Интерфейс - Корзина. Добавлять в корзину сайта можно товары и услуги (например, доп гарантия).
- interface Cart {
- public function addToCart();
- }
- //Помимо товаров внутри суперкласса могут быть услуги. Речь можем идти об интернет-магазине с доп услугами. У них могут быть одинаковые свойства, например, цена.
- class Sellable implements Cart {
- function addToCart() {
- //код
- }
- }
- class Item extends Sellable {
- public $count;
- public $available;
- function isAvailable() {
- if ("{$this->available}" == true) {
- return "В наличии {$this->count} шт.";
- } else {
- return "Товара нет в наличии";
- }
- }
- }
- $item1 = new Item();
- $item2 = new Item();
- $item1->count = 100;
- $item2->count = 200;
- $item1->available = true;
- $item2->available = false;
Advertisement
Add Comment
Please, Sign In to add comment