php函數、類和對象以及類的封裝、繼承、類的靜態方法、靜態屬性

原文: php函數、類和對象以及類的封裝、繼承、類的靜態方法、靜態屬性

一、函數php

    php內置函數能夠直接使用,若是沒有安裝php擴展便可html

    自定義函數函數

//函數function  函數名 

    function dump($var = null){    //支出默認參數值

        echo ‘<pre/>’;

         var_dump($var);

    }

二、類(class)和對象( new Obj)post

<?php 
//定義一我的的類,如今還不是對象

 class Person
{
 //私有屬性 
    private $eye = '大眼睛';
    private $mouth = '小嘴巴';
    private $leg = '大長腿';
             
    //構造方法 new 對象的時候自定調用
    public function __construct()
    {
        echo __CLASS__;
    }    
    public function run()
    {
        echo  $this->leg;
    } 
    //學習 會用到 腿(走路)、眼睛(看書)、嘴(唸書)
    public function study()
    {
        echo $this->leg, $this->eye, $this->mouth;

    }                 


}

//使用類 new之後就變成了對象

$person = new Person();          //輸出 Person
$person -> run();                //輸出  大長腿
$person -> study();             //輸出  大長腿 大眼睛 小嘴脣

三、類的封裝(public, protected, private)和繼承(extends)學習

//類的繼承  
class A
{
    public function help()
    {
        echo __METHOD__;
    }
    //聲明一個吃的方法 私有的
    private function eat()
    {
        echo  __METHOD__;
    }

}


//子類能夠繼承父類全部的公共方法和屬性、受保護的方法和屬性,私有方法除外
//若是想使用,重寫便可
class B extends  A
{
    public function doSomething()
    {
        $this -> help();   //繼承了父類的方法   前提是聲明爲public 
        echo '<hr/>';
        $this -> eat();    //由於吃是私有的,子類不能使用, 這裏在子類中寫了一個eat方法.

    }
    //子類的吃
    public function eat()
    {
        echo __METHOD__;
    }

}
$b = new B;
$b->doSomething();
//輸出結果

A::helpthis


B::eat

四、類的靜態方法和靜態屬性url

<?php

//定義一個Url 相關的類
class Url
{
    public static function createUrl($arr = [])
    {
        echo __METHOD__;
    }
    public static function redirect($url = '')
    {
        echo __METHOD__;
    }
    public static function getCurrentUrl()
    {
        echo __METHOD__;
    }
}
//把方法聲明成靜態方法,不須要每次都實例化(new)對象,操做方便,節省內存,效率更高
echo  Url::createUrl($var='');
echo  Url::redirect($url='');
echo  Url::getCurrentUrl();

五、類的靜態屬性spa

<?php

//定義一個Url 相關的類
class Url
{
    //聲明爲類常量
    const URL = 'http://www.baidu.com'; //從5.3之後能夠直接在類外部使用 const
    //聲明爲靜態變量
     public static $var = 'it is very good';
    public static function createUrl($arr = [])
    {
        echo self::URL;
        echo '<br/>';
        echo self::$var;
        echo '<br/>';
        echo __METHOD__;
    }
    public static function redirect($url = '')
    {
        echo __METHOD__;
    }
    public static function getCurrentUrl()
    {
        echo __METHOD__;
    }
}
//把方法聲明成靜態方法,不須要每次都實例化(new)對象,操做方便,節省內存,效率更高
echo  Url::createUrl($var='');
相關文章
相關標籤/搜索