0426面向对象
//面向過程
//類和對象 任何東西都可以稱為對象 類實例化出來的東西 是一條具體的信息
// 類 對所有同類的對象抽象出來的東西
//定義類
class Ren
{
var $name;//稱為成員變量
var $age;
var $height;
var $sex; //一邊不要給成員變量賦值
function __construct($s)//構造函數
{
$this->sex=$s;
}
function run() //成員函數(方法)
{
echo "這個人正在跑";
}
function say()
{
echo $this->name."正在說話";
}
function __destruct() //析構函數 對象銷毀前調用
{
echo"該對象以銷毀";
}
function setage($a)//給age賦值的函數
{
if($a>10&&$a<50)
{
$this->age=$a;
}
}
function getage()//取age的值
{
return $this->age;
}
function __set($name,$value)//對類里面的私有成員進行賦值的魔術方法 ***
{
$this->$name=$value;
}
function __get($name)//對類里面的私有成員進行取值的魔術方法 ***
{
return $this->$name;
}
}
//使用類
//1 實例化對象
$r=new Ren("男");
///2 給成員變量賦值(調用成員變量)
$r->name='張三'; //給對象name賦值
$r->setage(30);
$r->name="李四";//執行該語句會自動調用__set方法 $r->__set("name","李四")
var_dump($r);
//3 成員方法
$r->say();//執行成員方法
//訪問修飾符 public
//1 如果要加訪問修飾符需要去掉var
//2 訪問修飾符有三種 public 公有的 protected 受保護的 privatc私有的 (只能在這個類里使用)
//3 如果不加訪問修飾符默認是公有的(public)
// $this引用 它代表該對象(哪個對象調用就代表它),
//構造函數
//1 寫法特殊 __construct
//2 執行特殊 在造對象的時候最先執行
//作用:對對象執行初始化操作
//面向對象的三大特性
// 封裝
//目的:讓類更加安全 不讓外界直接訪問類里面的成員變量
//做法:1 把成員變量做成私有的(privatc)
//2 做一個方法來實現變量的取值或者是賦值 在方法里加限制條件
//使用類里面的魔術方法也可以實現對私有成員的操作
//__set() 的特點:會自動執行,把賦值語句中的變量名作為第一個參數,把變量名作為第二個參數調用__set()方法
//__get() 的特點: 會自動執行 把賦值語句中的變量名作為參數調用__get()方法
轉載于:https://www.cnblogs.com/wcc731546227/p/5435150.html
總結
- 上一篇: [J2ME] Signing a mid
- 下一篇: LVS+keepalived负载均衡