登录模块加载中...
会员投稿 投稿指南 今天是:
打印本页 | 关闭窗口 | 双击滚屏 您的位置首页>>网页制作学习园地>>PHP教程>>php数据库相关>>数组的常用函数
数组的常用函数
来源:不详 ‖ 作者: ‖ 点击: ‖ 时间:12-01-17 09:11:47 ‖ 【 】‖ 我要投稿

代码如下:
/*
* 封装性:面向对象三大特性之一
*
* 1.就是把对象的成员(属性,方法)结合成一个独立的相同单位,并尽可能隐藏对象的内部细节
* 访问权限修饰符 public protected private
* private:私有的,用这个关键字修饰的成员,只能在对象内部访问(只有用$this访问)
*
* 属性可以封装:
* 只要一个变量,需要在多个方法使用,就将这个变量声明为成员属性,可以直接在这个对象中的所有方法中使用
*
* 成员属性,相当于这个对象中的全局变量
*
* 成员属性都会在方法中使用,成员属性值的变化其实就是在改变方法的执行行为,也就是改变了对象的功能
*
* 成员属性的值如果不正常,方法执行的功能叶就不正常
*
* 作用:不需要在对象外部改变或读取它的值
* 1.封装
* 再提供一个公有的方法(经过方法对对象成员属性进行赋值和取值就可以控制)
*
*
* 方法也可以封装
*
* 作用:
* 1.使用private修饰使其只能在内部使用
*
* 2.一个类中有100个方法,封装了95个(为另外5个服务的方法),只有5个方法可以使用
*
* 100个成员属性,都让取值,不可以改值;或者只可改值,不可获取值//此种情况下使用以下方法比较方便
* 和封装有关的魔术方法:
*
* __set();//是直接设置[私有的]成员属性值时,自动调用的方法
* __get();//是直接获取[私有的]成员属性值时,自动调用的方法
* __isset();//是直接使用isset()查看对象中私有属性是否存在时,自动调用这个方法
* __unset();//是直接使用unset()删除对象中私有属性时,自动调用的方法
*
*
*
*
*
*
*
*/
class Person{
//x封装成员属性,不需要在对象外部改变
private $name;
private $age;
private $sex;
private __unset($proName){
unset($this->$proName);
}
//是直接查看对象中私有属性是否存在时,自动调用这个方法
//__isset($proName)的使用,$proName代表属性名
private function __isset($proName){
return isset($this->$proName);//isset()返回是否存在
}
function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
//当获取私有的成员属性时,自动调用此方法
private function __get($proName)
{
//控制所获取的值
if($proName=="age"){
if($this-age>40)
return $this->age-10;
}
return $this->$proName;
}
//当设置私有的成员属性时,自动调用此方法
private function __set($proName,$proValue){
//$proName表示成员属性名,$proValue表示成员属性值
//控制设置范围
if($proName=="age"){
if($proValue > 100 || $proValue<0)
return;
}
$this->$proName=$proValue;
}
//提供公有方法来设置成员属性的值
function setAge($age){
//控制年龄范围,增加安全性
if($age > 100 || $age < 0 )
return;
$this->age=$age;
}
//提供公有方法来获取成员属性的值
function getAge(){
//控制获取年龄的范围
if($this->age < 30)
return $this->age;
else if($this->age<40)
return $this->age-5;
else if($this->age<50)
return $this->age;
else
return $this->age-15;
提供公有方法来 }
function say(){
echo "我的名字:{$this->name},我的年龄:{$this->age},我的姓别:{$this->sex}
";
//访问封装过的 run()方法
$this-run();
}
private function run(){
echo '111111111111
'
}
function eat(){
}
//析构方法
function __destruct(){
}
}
$p1=new Person("zhangsan",25,"男");
$p2=new Person;
$p3=new Person;
//$p1->age=-50;//因为年龄在外部随意访问,所以成员属性药封装,才有安全性。
$p1->setAge(30);//通

|<< << < 1 2 > >> >>|
加入收藏:  加入收藏夹  | 发送给好友:  发送给好友
责任编辑:admin
  • 上一篇:数据库操作类(完整)
  • 下一篇:无
  • 相关文章列表
    请文明参与讨论,禁止漫骂攻击。  
    网友评论