PHP基础知识03

来源:互联网 发布:mysql语句大全例子 编辑:程序博客网 时间:2024/06/06 00:48
?php
// 声明一个'iTemplate'接口
interface iTemplate{
   public function setVariable($name, $var);
   public function getHtml();
}
class Template implements iTemplate{

private $vars=array(1,2,3,4);


public function setVariable($name, $var){
$this->vars[$name]=$var;
}


public function getHtml(){
foreach ($this->vars as $key => $value) { //在类内部需要加撒谎那个$this一定要记住
echo $key.",".$value."<br/>";
}
}
   
}


$t=new Template();

$t->getHtml();
echo "<br/>";




class Car{
        private $price = 1000;


        public function getPrice(){
        return $this->price;
        }
    }




    $car=new Car;
    $price=$car->getPrice();
    echo $price;






    class Car{
private static $s=10;


public static function getSpeed(){
return self::$s;
}


public static function speedUp(){
return self::$s+1;
}


}




class BigCar extends Car{
public static function start(){
parent::speedUp();
}
}


Bigcar::start();


echo BigCar::getSpeed();






echo "<br/>";




//面向对象
class Car{
public $name="123";


public function __clone(){
$obj=new Car();
$obj->name=$this->name;
}


}




$a=new Car();
$a->name='new year!';
$b=clone $a;
var_dump($b);






//对象遍历
class MyClass
{
   public $var1 = 'value 1';
   public $var2 = 'value 2';
   public $var3 = 'value 3';
   protected $protected = 'protected var';
   private   $private   = 'private var';
   function iterateVisible() {
      echo "MyClass::iterateVisible:<br/>";
      foreach($this as $key => $value) {
          print "$key => $value<br/>";
      }
   }
}


$class = new MyClass();
foreach($class as $key => $value) {
   print "$key => $value<br/>";
}
echo "<br/>";
$class->iterateVisible();


//对象的克隆
class Test{


  public $name="123";
  }
  $t=new Test;
  $s=clone $t;
  echo $s->name;




  //对象的比较
  //属性和属性值都相等
//如果是===的话必须是某一个对象的同一个实例。
  <?php
Class User {
private $id;
public $name;


public function __construct($id, $name){
$this->id = $id;
$this->name = $name;
}
}


$a1 = new User(1, 'aa');
$a2 = new User(1, 'aa');
var_dump($a1 == $a2);