. PHP Design Patterns . PHP Design Patterns PHP OO Abstract Class Basics

PHP Design Patterns PHP OO Abstract Class Basics

PHP Abstract Class Basics


Here is an example of creating a very simple abstract class called OOPHPAbstractClass, and OOPHPClassToExtendAnAbstract which extends it.

Note that to successfully extend OOPHPAbstractClass, OOPHPClassToExtendAnAbstract must have getName() and setName functions().





OOPHPClassToExtendAnAbstract.php

//copyright Lawrence Truett and FluffyCat.com 2007, all rights reserved

  //this class "extends" OOPHPAbstractClass 

  include_once('OOPHPAbstractClass.php');
  
  class OOPHPClassToExtendAnAbstract extends OOPHPAbstractClass {

    private $instanceName;  
    
    //OOPHPAbstractClass has the abstract function getName,
    //  so we must implement it here. 
    public function getName() {
      return $this->instanceName;
    }  
    
    //OOPHPAbstractClass has the abstract function setName,
    //  so we must implement it here. 
    public function setName($nameIn) {
      $this->instanceName = $nameIn;
    }
  }


download source, use right-click and "Save Target As..." to save with a .php extension.


OOPHPAbstractClass.php

//copyright Lawrence Truett and FluffyCat.com 2007, all rights reserved

  //OOPHPAbstractClass - a simple OO PHP Abstract Class
  //  this defines two functions, getName() and setName($nameIn)
  //  which any class extending this must have
  
  abstract class OOPHPAbstractClass {  
    
    abstract public function getName();

    abstract public function setName($nameIn);
    
  }

download source, use right-click and "Save Target As..." to save with a .php extension.


testOOPHPAbstract.php


//copyright Lawrence Truett and FluffyCat.com 2007, all rights reserved

  include_once('OOPHPClassToExtendAnAbstract.php');

  define('BR', '<'.'BR'.'>');

  echo 'BEGIN TESTING PHP ABSTRACT CLASSES'.BR;
  echo BR;
  
  echo 'test 1 - create a class which extends an abstract'.BR;
  $classOne = new OOPHPClassToExtendAnAbstract();
  echo BR;
  $classOne->setName("Harold");
  echo $classOne->getName();
  echo BR.BR;

  echo 'END TESTING PHP ABSTRACT CLASSES'.BR;

download source, use right-click and "Save Target As..." to save with a .php extension.


output of testOOPHPAbstract.php

BEGIN TESTING PHP ABSTRACT CLASSES

test 1 - create a class which extends an abstract

Harold

END TESTING PHP ABSTRACT CLASSES


References

Design Patterns

Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

PHP 5

The Official PHP web site
Core PHP Programming, 3rd Edition by Leon Atkinson and Zeev Suraski
Sign In
to add the first comment for PHP Design Patterns PHP OO Abstract Class Basics.