Наследование в PHP

Текущая заметка содержит очень простой наглядный пример наследования в языке программирования под названием PHP.

Итак, создаем новый класс  samolet («Самолет»). Пусть он будет обладать парой свойств — это  $skorost / скорость и  $dalnost_poleta / дальность полета. Наряду с ним давайте создадим потомка  voennii_samolet («Военный самолет»), — здесь будем использовать ключевое слово extends.Помимо уже имеющихся методов у потомка появится новый метод под названием vipustit_raketu() / «Выпустить ракету». Кроме того, давайте изменим свойство  $skorost с 300 у родителя на 500. Итак, листинг:

<?php
class samolet {
  /* Свойства: */
  var $skorost = 300;
  var $dalnost_poleta = 14000; 

  /* Методы: */
  function vzletet() {
    return "Взлететь";
  }
  function prizemlitcya() {
    return "Приземлиться";
  } 
}

/* voennii_samolet - потомок класса samolet: */
class voennii_samolet extends samolet {
  /* Свойства: */
  var $skorost = 500;

  /* Методы: */
  function vipustit_raketu() {
    return "Выпустить ракету";
  }
}
?>

Теперь давайте создадим экземпляр класса voennii_samolet(), как видите потомок на ряду с имеющимися у родителя методами и свойствами приобрел новые, а также немного сменил старые. Т.е. мы с вами произвели расширение существующего класса:

<?php
/* Объявляем объект класса voennii_samolet: */
$obiekt = new voennii_samolet();

/* Вызываем методы экземпляра класса voennii_samolet: */
print $obiekt->vzletet();
print $obiekt->vipustit_raketu();

/* Обращаемся к свойствам объекта: */
print $obiekt->skorost;
print $obiekt->dalnost_poleta;
?>

Более подробную информацию о наследовании в PHP читайте на веб-страницах официального мануала.

Опубликовано 2-04-2013 в 11:14


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты