Maison > Questions et réponses > le corps du texte
<?php class ren{ public $xingming;//定义一个成员变量 这里是否保存成员方法里的变量值 public $shengao;//定义一个成员变量 public $tizhong;//定义一个成员变量 public function boot($name,$sg,$tz){//声明成员变量 利用public声明function boot($name,$sg,$tz)作用是什么 $this->xingming=$name; $this->shengao=$sg; $this->tizhong=$tz; if($this->shengao<185 && $this->tizhong<85){ echo $this->xingming."符合要求 可以通过"; //方法实现的功能 }else{ echo $this->xingming."不符合要求 不可以通过";//方法实现实现的功能 } } } $sport=new ren(); //实例化类并传递参数 echo $sport->boot("李亚","165","51");//执行类中的方法 ?>
我个人的思路是 利用$this调用成员变量 调用过然后再把成员方法赋给$this调用成变量里 然后再利用 public它来保存 把成员方法赋给成员变量里的值 我不知道我的思路可是对了 求高手指教谢谢
汪汪2016-11-09 16:51:29
从PHP5.0版本开始,对象声明时需要声明对象属性和方法的可见性,public关键字表示属性或方法是公开可见的。
在PHP5.0之前未支持对象属性和方法的可见性定义,默认所有的属性和方法都是公开可见的,如以下的对象声明:
//例1 class Obj { var $name = 'Obj'; function getName() { return $this->name; } }
而PHP5开始推荐写法为:
//例2 class Obj { protected $name = 'Obj'; public function getName() { return $this->name; } }
对于例1来说,实际上可以直接访问name属性,从而绕过getName方法,如
$obj = new Obj(); echo $obj->name;
而对于例2来说,由于$name属性是protected(受保护的),因此必须使用getName方法才能得到$name属性的值。
同时这也是面向对象语言通用的一种声明方式。
public: 公开可见
protected: 对象内部可见 (该对象的子对象同样可以访问)
private: 对象自身内部可见 (不包含该对象的子对象,或者说private属性和方法不会被继承)