PHP面向对象学习一

1. 抽象性 ,  2. 封装性 ,3.共享性 ,4. 强调对象结构而不是程序结构
面向对象的三大特点(封装,继承,多态)缺一不可
class MyPc{ ———创建一个名为 MyPc的类,class声明一个类
public $name;
var $price;
 
function vod() {
         $this->name;     $this访问内部变量和方法
           }
    ……
     $this->vod() ;

}
 
$pc1 = new MyPc();   用new来实例化一个类
$pc1->name; ->访问成员属性
$pc->vod(); 访问成员方法
 
初始化对象  __construct()
class MyPc{
 public $name;
  function __construct($name=''){
$this->name = $name;
}
}
 
 
析构函数 __destruct()
当对象内部的操作执行完毕的时候,
__destruct()被调用,
然后对象所使用的内存被释放出来。
function __destruct(){}里面可以 执行一些操作,如关闭数据库连接
原则:后进先出
•__construct 构造方法,当一个对象创建时调用此方法,使用此方法的好处是:可以使构造方法有一个独一无二的名称,无论它所在的类的名称是什么.这样你在改变类的名称时,就不需要改变构造方法的名称
__destruct 析构方法,PHP将在对象被销毁前(即从内存中清除前)调用这个方法
默认情况下,PHP仅仅释放对象属性所占用的内存并销毁对象相关的资源.
析构函数允许你在使用一个对象之后执行任意代码来清除内存.
当PHP决定你的脚本不再与对象相关时,析构函数将被调用.
在一个函数的命名空间内,这会发生在函数return的时候.
对于全局变量,这发生于脚本结束的时候.如果你想明确地销毁一个对象,你可以给指向该对象的变量分配任何其它值.通常将变量赋值勤为NULL或者调用unset.
 
类的封装和应用
封装键字publicprotectedprivate
封装相关函数:__set() , __get()
public 表示全局,类内部外部子类都可以访问;
protected表示受保护的,只有本类或子类或父类中可以访问;
private表示私有的,只有本类内部可以使用;
例:当 $name 声明为private私有属性时,可以通过
function __get($name){
return $this->name."二次加工";   还可以在输出前进行加工
}然后就可以在类的外部进行输出了
 
当 $name 声明为private私有属性时,可以通过
function __set($n,$v){
 $this->$n =$v;   还可以在赋值前进行判断或其它操作
}然后就可以在类的外部进行赋值了 $pc->name="555";
posted @ 2014-03-22 17:42  虚幻的街景  阅读(217)  评论(0编辑  收藏  举报