PHP面向對象 實例化 構造函數 封裝 繼承 靜態

面向對象:
一:定義類
class Dog
{
var $name;
var $age;
var $pinzhong;

function Jiao()
{
echo "{$this->name}在叫";
}
}php

二:實例化對象
$dog = new Dog();
調用對象的成員:
$dog->name = "旺財";
$dog->Jiao();html

三:$this關鍵字
$this->name;this表明該對象,若是要在成員方法中調用成員變量,必定要使用$this找出該成員變量

四:構造函數:
function __construct($n,$a,$p)
{
$this->name = $n;
$this->age = $a;
$this->pinzhong = $p;
}
五:析構函數:
function __destruct()
{
echo "拜拜";
}安全


六:封裝:
將類裏面的成員變量加一個private修飾符變成私有的,目的是爲了保護類裏面的成員不被外界隨意訪問,從而確保類的安全性。若是將變量設置爲私有,如何去訪問:
1.本身寫函數get函數set函數,而後來對變量賦值和取值
2.用系統自帶的__get()函數和__set()函數來實現類裏面的變量賦值取值
function __set($name,$value)
{
$this->$name = $value;
}
function __get($name)
{
return $this->$name;
}函數

七:繼承
繼承通常是單繼承:一個兒子只能有一個父親
子類能夠繼承父類的全部成員
子類能夠對父類的成員方法進行重寫:(函數名同樣),若是要在子類方法中調用父類的方法,用parent::Jiao();
function Jiao()
{
parent::Jiao();

echo "hello";
}
final關鍵字能夠定義該類爲最終類,不可被繼承

靜態:
關鍵字:static ,若是成員聲明瞭爲靜態的,那麼該成員是屬於該類的,不是屬於對象的
如何調用靜態的成員:
HaShiQi::$height = 10;
HaShiQi::Gao();
用類名加雙冒號調用類的靜態成員



ui

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>

<?php
    class Dog
    {
        private $name;
        private $age;
        private $pinzhong;
        
        function __construct($n,$a,$p)        //構造函數,兩個下劃線
        {
            $this->name=$n;
            $this->age=$a;
            $this->pinzhong =$p;
            }
        
        function SetName($n)
        {
            $this->name = $n; 
            }
            
        function SetAge($m)
        {
            if($m>=1 && $m<=5)
            {
                $this->age =$m;
                }
            
            }    
            
        
         function Jiao()
        {
            echo "{$this->name}在叫,它{$this->age}歲了"; //this表明該對象,若是要在成員方法中調用成員變量,必定要使用$this找出該成員變量
            
            }
            
            function __destruct()
        {
            echo "拜拜";
        }


        }
        
        
        
        $dog =new Dog("旺財",10,"金毛");
        
        $dog->SetName("小強");
        
        $dog->SetAge(3);
        
        $dog ->Jiao();
        
        


?>    
</body>
</html>
相關文章
相關標籤/搜索