PHP

PHP


<?php


abstract class AbstrClass{

   abstract protected function getValue();

   

   public function output(){

       print $this -> getValue();

   }

}


class ConcreteClassOne extends AbstrClass{

   

   public $var1 = "value1";

   public $var2 = "value2";

   public $var3 = "value3";

   protected $var4 = "value4";

   private $var5 = "value5";

   

   public $testVar = "Misaki";

   

   function getTestVar(){

       return $this -> testVar;

   }

   

   function setTestVar($testVar){

       $this -> testVar = $testVar;

   }

   

   protected function getValue(){

       return "ConcreteClassOne\n";

   }

   

   function getObj(ConcreteClassOne $obj){

       return $obj;

   }

   

   

   function myEcho(ConcreteClassOne $obj){

       var_dump($obj);

   }

}



class ConcreteClassTwo extends AbstrClass{

   protected function getValue(){

       return "ConcreteClassTwo\n";

   }

}



$objOne = new ConcreteClassOne;

$objOne -> output();


$objTwo = new ConcreteClassTwo;

$objTwo -> output();


//print ($objOne -> myEcho($objTwo));


//$objOne -> getObj($objOne) -> myEcho($objOne);


foreach ($objOne as $key => $value){

   echo "$key = $value \n";

}


$objOne -> setTestVar("Anna");

print ($objOne -> getTestVar());

Report Page