您好,登錄后才能下訂單哦!
隱藏對象字段和實現細節,僅通過對外接口,控制在程序中字段的讀取和訪問級別
,將抽象的行為和數據相結合,形成一個有機的整體。
<?php
classs Conputer{
//public 公共的,內外可以訪問
//private 私有的,類內可以訪問
//protected 受保護的,類內和子類可以訪問
//類內指的是{}之間的部分
}
?>
確定一個對象是否是一個類的實例,一個類的子類的實例,或者實現了一個接口
可以做成私有的,也可以設置靜態方法,和普通字段設置一樣,
<?php
class Computer{
const PI=3.14;
}
?>
1、總結:靜態方法只能訪問靜態的,或者常量,用self關鍵字;
<?php
//類名一般第一個字母大小
class Computer{
const PI=3.1415926;//常量,在該類所有的實例化對象的生命周期內,值不變,約定俗成 常量名稱大寫
public static $_count=0; //靜態類字段
private $_name='聯想'; //我是公共字段,內外可以訪問,初始化不可以賦值變量,如 $_name=time();錯誤
private $_cpu; //我是私有字段,類內可以訪問
protected $_zb; //我是受保護的字段,子類和類內可以訪問
public function _run(){
//類內訪問字段: $this->字段名稱
$this->_cpu='I5';
}
//靜態方法可以通過類—>方法名稱訪問,也可以通過 類名稱::方法名稱訪問
//靜態方法,不可以訪問非靜態字段,非靜態方法,通過$this也無法訪問,因為不在對象中
//靜態方法,可以訪問靜態字段,靜態方法,
//靜態方法內部,不可使用$this關鍵字
//靜態只能訪問靜態 ,或者常量,
public static function _run2(){
echo self::$_count;
//self::_run(); 錯誤
//self::_name; 錯誤
self::PI;
}
//普通方法可以訪問靜態方法,因為,靜態方法是為了對所有實例共享的
public function _run3(){
self::_run2();
}
//攔截器
//變量有用
private function __set($varname,$varvalue){
$this->$varname=$varvalue;
}
private function __get($varname){
return $this->$varname;
}
}
//實例化一個類
$computer=new Computer();
$computer1=new Computer();
Computer::_run2();
echo '<br>';
$computer->_run2();
echo '<br>';
//訪問常量
echo Computer::PI;
echo '<br>';
//echo Computer::$_count;
//echo $computer->_count; 無法訪問
//echo $computer->PI; 無法訪問
//攔截器 設置變量值
$computer->_name="dell";
echo '<br>';
echo $computer->_name;
echo '<br>';
$computer->_count="dell";
echo '<br>';
echo $computer->_count;
echo '<br>';
echo Computer::$_count;
//instanceof 關鍵字 確定某個對象是否是一個類的實例。一個類的子類,或者是實現了某個接口,
echo ($computer instanceof Computer);
?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。