激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php學習筆記 數組的常用函數

php學習筆記 數組的常用函數

2019-11-28 14:08代號極光 PHP教程

只要一個變量,需要在多個方法使用,就將這個變量聲明為成員屬性,可以直接在這個對象中的所有方法中使用 成員屬性,相當于這個對象中的全局變量

代碼如下:


<?php 
/* 
* 封裝性:面向對象三大特性之一 

* 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}<br>"; 
//訪問封裝過的 run()方法 
$this-run(); 

private function run(){ 
echo '111111111111<br>' 

function eat(){ 

//析構方法 
function __destruct(){ 


$p1=new Person("zhangsan",25,"男"); 
$p2=new Person; 
$p3=new Person; 
//$p1->age=-50;//因為年齡在外部隨意訪問,所以成員屬性藥封裝,才有安全性。 
$p1->setAge(30);//通過方法來設置成員屬性德值 
$p1->getAge();//通過方法來獲取成員屬性德值 
//通過添加家魔術方法__set($proName,$proValue) __get($proName),就可以直接調用成員屬性了 
$p1->say();//可以調用 
$p1->run();//私有的方法不能直接調用 
//刪除$p1里面的name 
unset($p1->name); 
//判斷name是否存在 
if(isset($p1->name)){ 
echo "存在<br>"; 
}else{ 
echo "沒有這個成員 <br>"; 

?> 


作者:代號極光 
出處:http://zizhuyuan.cnblogs.com

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久精品国产 | 国产精品男女 | 亚洲成人在线免费 | 麻豆蜜桃在线观看 | 午夜视频在线免费 | 色淫影院 | 亚州精品在线视频 | 一级成人欧美一区在线观看 | 成人免费在线视频 | avav在线播放 | 国产一区二区在线免费播放 | 黑人一区二区 | 免费在线性爱视频 | 国产亚洲精品久久久久5区 男人天堂免费 | 美国黄色毛片女人性生活片 | 99精品视频在线免费观看 | 免费观看一区 | 国产精品视频一区二区三区四 | 亚洲精华液久久含羞草 | 欧美精品在线视频观看 | 久久大胆视频 | 少妇的肉体2无删减版 | 亚洲网在线观看 | 俄罗斯16一20sex牲色另类 | 蜜桃成品人免费视频 | 羞羞网站在线看 | 国产成人av免费观看 | 亚洲特黄 | xxnxx中国18| 久久国产一二区 | 婷婷久久综合九色综合色多多蜜臀 | 激情91| 国产午夜精品久久久久 | 国产精品免费一区二区三区在线观看 | 羞羞视频在线免费 | 久久久成人999亚洲区美女 | 成人毛片100免费观看 | 成年人黄色免费网站 | 91久久极品少妇韩国 | av老司机久久 | 久久激情免费视频 |