<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FClass%2FInheritance</id>
		<title>PHP/Class/Inheritance - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FClass%2FInheritance"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/Class/Inheritance&amp;action=history"/>
		<updated>2026-04-05T04:00:11Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/Class/Inheritance&amp;diff=34&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/Class/Inheritance&amp;diff=34&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/Class/Inheritance&amp;diff=35&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/Class/Inheritance&amp;diff=35&amp;oldid=prev"/>
				<updated>2010-05-26T07:00:44Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Basic Inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    class Dog {&lt;br /&gt;
            public function bark( ) {&lt;br /&gt;
                    print &amp;quot;Woof!\n&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
    class Poodle extends Dog {&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Class Inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
     class ParentClass {&lt;br /&gt;
          public $parentvar;&lt;br /&gt;
          public function parentOne() {&lt;br /&gt;
               echo &amp;quot;Called parentOne()\n&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          private function parentTwo() {&lt;br /&gt;
               echo &amp;quot;Called parentTwo()!\n&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     class ChildClass extends ParentClass {&lt;br /&gt;
          public function childOne() {&lt;br /&gt;
               echo &amp;quot;Called childOne()!\n&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     $v = new ChildClass();&lt;br /&gt;
     $v-&amp;gt;parentOne();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Class Member Binding in PHP==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
     class ParentClass {&lt;br /&gt;
          public function callMe() {&lt;br /&gt;
               $this-&amp;gt;anotherCall();&lt;br /&gt;
          }&lt;br /&gt;
          public function anotherCall() {&lt;br /&gt;
               echo &amp;quot;Parent called!\n&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     class ChildClass extends ParentClass {&lt;br /&gt;
          public function anotherCall() {&lt;br /&gt;
               echo &amp;quot;Child called!\n&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     $child = new ChildClass;&lt;br /&gt;
     $child-&amp;gt;callMe();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a Class That Inherits from Another==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Item {&lt;br /&gt;
  var $name;&lt;br /&gt;
  function Item( $name=&amp;quot;item&amp;quot;, $code=0) {&lt;br /&gt;
    $this-&amp;gt;name = $name;&lt;br /&gt;
    $this-&amp;gt;code = $code;&lt;br /&gt;
  }&lt;br /&gt;
  function getName() {&lt;br /&gt;
   return $this-&amp;gt;name;&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 class PriceItem extends Item {&lt;br /&gt;
 }&lt;br /&gt;
 $item = new PriceItem( &amp;quot;widget&amp;quot;, 5442 );&lt;br /&gt;
 print $item-&amp;gt;getName ();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Define an Executive class that inherits Employee==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   class Employee {&lt;br /&gt;
      private $name;&lt;br /&gt;
      function setName($name) {&lt;br /&gt;
         if ($name == &amp;quot;&amp;quot;) echo &amp;quot;Name cannot be blank!&amp;quot;;&lt;br /&gt;
         else $this-&amp;gt;name = $name;&lt;br /&gt;
      }&lt;br /&gt;
      function getName() {&lt;br /&gt;
         return &amp;quot;My name is &amp;quot;.$this-&amp;gt;name.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   class Executive extends Employee {&lt;br /&gt;
      function pillageCompany() {&lt;br /&gt;
         echo &amp;quot;I&amp;quot;m selling company assets to finance my yacht!&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   $exec = new Executive();&lt;br /&gt;
   $exec-&amp;gt;setName(&amp;quot;R&amp;quot;);&lt;br /&gt;
   echo $exec-&amp;gt;getName();&lt;br /&gt;
   $exec-&amp;gt;pillageCompany();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example of Inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class cd {&lt;br /&gt;
    public $artist;&lt;br /&gt;
    public $title;&lt;br /&gt;
    protected $tracks;&lt;br /&gt;
    private $disk_id;&lt;br /&gt;
    public function __construct() {&lt;br /&gt;
        $this-&amp;gt;disk_id = sha1(&amp;quot;cd&amp;quot; . time() . rand());&lt;br /&gt;
    }&lt;br /&gt;
    public function get_disk_id() {&lt;br /&gt;
        return $this-&amp;gt;disk_id;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class cd_album extends cd {&lt;br /&gt;
    protected $num_disks;&lt;br /&gt;
    public function __construct($disks = 1) {&lt;br /&gt;
        $this-&amp;gt;num_disks = $disks;&lt;br /&gt;
        parent::__construct();&lt;br /&gt;
    }&lt;br /&gt;
    public function is_multi_cd() {&lt;br /&gt;
        return ($this-&amp;gt;num_disks &amp;gt; 1) ? true : false;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
$mydisk = new cd_album(3);&lt;br /&gt;
echo &amp;quot;&amp;lt;p&amp;gt;The compact disk ID is: &amp;quot;, $mydisk-&amp;gt;get_disk_id(), &amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
echo &amp;quot;&amp;lt;p&amp;gt;Is this a multi cd? &amp;quot;,&lt;br /&gt;
    ($mydisk-&amp;gt;is_multi_cd()) ? &amp;quot;Yes&amp;quot; : &amp;quot;No&amp;quot;,&lt;br /&gt;
    &amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==extends and implement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   class Employee {&lt;br /&gt;
      private $name;&lt;br /&gt;
      function setName($name) {&lt;br /&gt;
         if ($name == &amp;quot;&amp;quot;) &lt;br /&gt;
           echo &amp;quot;Name cannot be blank!&amp;quot;;&lt;br /&gt;
         else &lt;br /&gt;
           $this-&amp;gt;name = $name;&lt;br /&gt;
      }&lt;br /&gt;
      function getName() {&lt;br /&gt;
         return &amp;quot;My name is &amp;quot;.$this-&amp;gt;name.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   interface MyInterface&lt;br /&gt;
   {&lt;br /&gt;
      function account();&lt;br /&gt;
      function doc();&lt;br /&gt;
   }&lt;br /&gt;
   class Executive extends Employee implements MyInterface&lt;br /&gt;
   {&lt;br /&gt;
      private $totalStockOptions;&lt;br /&gt;
      function account()&lt;br /&gt;
      {&lt;br /&gt;
         echo &amp;quot;account&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      function doc()&lt;br /&gt;
      {&lt;br /&gt;
         echo &amp;quot;doc&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   class Assistant extends Employee implements MyInterface&lt;br /&gt;
   {&lt;br /&gt;
      function takeMemo() {&lt;br /&gt;
         echo &amp;quot;memo&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      function account(){&lt;br /&gt;
         echo &amp;quot;memo&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      function doc(){&lt;br /&gt;
         echo &amp;quot;Start small fire in the trash can.&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==inheritance example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Bird {&lt;br /&gt;
  private $name;&lt;br /&gt;
  private $breed;&lt;br /&gt;
  private $price;&lt;br /&gt;
  &lt;br /&gt;
  public function __construct($name, $breed, $price = 15) {&lt;br /&gt;
    $this-&amp;gt;setName ( $name );&lt;br /&gt;
    $this-&amp;gt;setBreed ( $breed );&lt;br /&gt;
    $this-&amp;gt;setPrice ( $price );&lt;br /&gt;
  }&lt;br /&gt;
  public function birdCall() {&lt;br /&gt;
    printf ( &amp;quot;&amp;lt;p&amp;gt;%s says: *chirp*&amp;lt;/p&amp;gt;\n&amp;quot;, $this-&amp;gt;getName () );&lt;br /&gt;
  }&lt;br /&gt;
  public function display() {&lt;br /&gt;
    printf ( &amp;quot;&amp;lt;p&amp;gt;%s is a %s and costs \$%.2f.&amp;lt;/p&amp;gt;&amp;quot;, $this-&amp;gt;getName (), $this-&amp;gt;getBreed (), $this-&amp;gt;getPrice () );&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Parrot extends Bird {&lt;br /&gt;
  public function birdCall() {&lt;br /&gt;
    printf ( &amp;quot;&amp;lt;p&amp;gt;%s says: *squawk*&amp;lt;/p&amp;gt;\n&amp;quot;, $this-&amp;gt;getName () );&lt;br /&gt;
  }&lt;br /&gt;
  public function __construct($name) {&lt;br /&gt;
    parent::__construct ( $name, &amp;quot;parrot&amp;quot;, 25 );&lt;br /&gt;
  }&lt;br /&gt;
  public function curse() {&lt;br /&gt;
    printf ( &amp;quot;&amp;lt;p&amp;gt;%s&amp;lt;/p&amp;gt;\n&amp;quot;, $this-&amp;gt;getName () );&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overriding parent methods==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
class DB {&lt;br /&gt;
 public $result;&lt;br /&gt;
 function getResult() {&lt;br /&gt;
  return $this-&amp;gt;result;&lt;br /&gt;
 }&lt;br /&gt;
 function query($sql) {&lt;br /&gt;
  error_log(&amp;quot;query() must be overridden by a database-specific child&amp;quot;);&lt;br /&gt;
  return false;&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
class MySQL extends DB {&lt;br /&gt;
 function query($sql) {&lt;br /&gt;
  $this-&amp;gt;result = mysql_query($sql);&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==subclass and parent class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   class Employee {&lt;br /&gt;
      private $name;&lt;br /&gt;
      function setName($name) {&lt;br /&gt;
         if ($name == &amp;quot;&amp;quot;) &lt;br /&gt;
           echo &amp;quot;Name cannot be blank!&amp;quot;;&lt;br /&gt;
         else &lt;br /&gt;
           $this-&amp;gt;name = $name;&lt;br /&gt;
      }&lt;br /&gt;
      function getName() {&lt;br /&gt;
         return &amp;quot;My name is &amp;quot;.$this-&amp;gt;name.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   class Executive extends Employee {&lt;br /&gt;
      function pillageCompany() {&lt;br /&gt;
         echo &amp;quot;hi!&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   $exec = new Executive();&lt;br /&gt;
   $exec-&amp;gt;setName(&amp;quot;Joe&amp;quot;);&lt;br /&gt;
   echo $exec-&amp;gt;getName();&lt;br /&gt;
   $exec-&amp;gt;pillageCompany();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Three levels of inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   class Employee {&lt;br /&gt;
      private $name;&lt;br /&gt;
      function setName($name) {&lt;br /&gt;
         if ($name == &amp;quot;&amp;quot;) echo &amp;quot;Name cannot be blank!&amp;quot;;&lt;br /&gt;
            else $this-&amp;gt;name = $name;&lt;br /&gt;
      }&lt;br /&gt;
      function getName() {&lt;br /&gt;
         return &amp;quot;My name is &amp;quot;.$this-&amp;gt;name.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   class Executive extends Employee {&lt;br /&gt;
      function methodB() {&lt;br /&gt;
         echo &amp;quot; my yacht!&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   class CEO extends Executive {&lt;br /&gt;
      function methodC() {&lt;br /&gt;
            echo &amp;quot;tuck&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   $ceo = new CEO();&lt;br /&gt;
   $ceo-&amp;gt;setName(&amp;quot;Joe&amp;quot;);&lt;br /&gt;
   $ceo-&amp;gt;methodB();&lt;br /&gt;
   $ceo-&amp;gt;methodC();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using inheritance to efficiently represent various vehicle types==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
class Vehicle {&lt;br /&gt;
     var $model;&lt;br /&gt;
     var $current_speed;&lt;br /&gt;
     function setSpeed($mph) {&lt;br /&gt;
          $this-&amp;gt;current_speed = $mph;&lt;br /&gt;
     }&lt;br /&gt;
     function getSpeed() {&lt;br /&gt;
          return $this-&amp;gt;current_speed;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
class Auto extends Vehicle {&lt;br /&gt;
    var $fuel_type;&lt;br /&gt;
    function setFuelType($fuel) {&lt;br /&gt;
          $this-&amp;gt;fuel_type = $fuel;&lt;br /&gt;
    }&lt;br /&gt;
     function getFuelType() {&lt;br /&gt;
          return $this-&amp;gt;fuel_type;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
class Airplane extends Vehicle {&lt;br /&gt;
     var $wingspan;&lt;br /&gt;
     function setWingSpan($wingspan) {&lt;br /&gt;
          $this-&amp;gt;wingspan = $wingspan;&lt;br /&gt;
     }&lt;br /&gt;
     function getWingSpan() {&lt;br /&gt;
          return $this-&amp;gt;wingspan;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the extends keyword to define a subclass==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Cat {&lt;br /&gt;
    var $age;&lt;br /&gt;
    function Cat($new_age){&lt;br /&gt;
        $this-&amp;gt;age = $new_age;&lt;br /&gt;
    }&lt;br /&gt;
    function Birthday(  ){&lt;br /&gt;
        $this-&amp;gt;age++;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class MyCat extends Cat {&lt;br /&gt;
    function MyCat(  ) {&lt;br /&gt;
    }&lt;br /&gt;
    function sleep(  ) {&lt;br /&gt;
        echo(&amp;quot;Zzzzzz.&amp;lt;br /&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
$fluffy=new MyCat(  );&lt;br /&gt;
$fluffy-&amp;gt;Birthday(  );&lt;br /&gt;
$fluffy-&amp;gt;sleep(  );&lt;br /&gt;
echo &amp;quot;Age is $fluffy-&amp;gt;age &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the parent construct==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Cat {&lt;br /&gt;
    var $age;&lt;br /&gt;
    function Cat($new_age){&lt;br /&gt;
        $this-&amp;gt;age = $new_age;&lt;br /&gt;
    }&lt;br /&gt;
    function Birthday(  ){&lt;br /&gt;
        $this-&amp;gt;age++;&lt;br /&gt;
    }&lt;br /&gt;
    function Eat(  ){&lt;br /&gt;
        echo &amp;quot;Chomp chomp.&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    function Meow(  ){&lt;br /&gt;
        echo &amp;quot;Meow.&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class MyCat extends Cat {&lt;br /&gt;
    function MyCat(  ) {&lt;br /&gt;
    }&lt;br /&gt;
    function eat(  ) {&lt;br /&gt;
        parent::eat(  );&lt;br /&gt;
        $this-&amp;gt;meow(  );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>