PHP笔记之:基于面向对象设计的详解

  public 表示全局,类内部外部子类都可以访问;

  

复制代码 代码如下:

  <?php

  class Test{

  public  $name='Janking',

  $sex='male',

  $age=23;

  function __construct(){

  echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';

  }

  function func(){

  echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';

  }

  }

  $P=new Test();

  echo '<br /><br />';

  $P->age=100;

  $P->name="Rainy";

  $P->sex="female";

  $P->func();

  ?>

  Public

  private表示私有的,只有本类内部可以使用;

  

复制代码 代码如下:

  <?php

  class Test{

  private  $name='Janking',

  $sex='male',

  $age=23;

  function __construct(){

  $this->funcOne();

  }

  function func(){

  echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';

  }

  private function funcOne(){

  echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';

  }

  }

  $P=new Test();

  echo '<br /><br />';

  $P->func();

  $P->age=100;        // Cannot access private property Test::$age

  $P->name="Rainy";   // Cannot access private property Test::$name

  $P->sex="female";   // Cannot access private property Test::$female

  $P->funcOne();      // Call to private method Test::funcOne() from context ''

  ?>

  Private

  protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:

   __set():是直接设置私有成员属性值时,自动调用的方法

  __get():是直接获取私有成员属性值时,自动调用的方法

  __isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法

  __unset(); 是直接unset删除对象中私有属性时,自动调用的方法