文章出處

先來講靜態

靜態的的分類和區別

1、普通成員

普通成員是屬于對象的

2、靜態成員

靜態成員是屬于類的

加上關鍵字static可以變成靜態的

調用類中的變量,需要雙冒號::

靜態的不需要造新對象

普通方法里面可以調用靜態成員

靜態方法里面不能調用普通方法

self關鍵字在類里面代表該類,靜態成員用的

例:

<?php

class Ren
{
    public $name="張三";
    public static $zhongzu; //靜態成員
    
    //普通方法
    function Say()
    {
        echo self::$zhongzu."你好";     可以調用靜態成員,關鍵字self
    }
    //靜態方法
    static function Run()
    {
        echo $this->name;
    }
}

Ren::$zhongzu = "戰斗民族";      靜態調用類中變量
Ren::Run();

$r = new Ren();                 
$r->Say();
?>

抽象類:

比類更加抽象

不能被實例化,作為父類使用

關鍵字abstract寫在類名前面

extends是繼承的意思

<?php
abstract class DongWu            加關鍵字,就是一個抽象類
{
    public $name;
    public $age;
    
    function Run()
    {
        echo "跑";
    }
}

class Dog extends DongWu           子類繼承父類的
{
    
}

$d = new Dog();
$d->Run();
以運算為例:
abstract class YunSuan           加關鍵字,成為抽象類
{
    public $a;
    public $b;
    
    function Suan()
    {
    }
}

class Jia extends YunSuan        子類繼承父類
{
    function Suan()
    {
        return $this->a+$this->b;
    }
}

class Jian extends YunSuan        同樣是子類繼承父類,父類可以派生多個子類
{
    function Suan()
    {
        return $this->a-$this->b;
    }
}

class Cheng extends YunSuan
{
    function Suan()
    {
        return $this->a*$this->b;
    }    
}

$jia = new Cheng();
$jia->a=10;
$jia->b=5;
echo $jia->Suan();

?>

接口:

極度抽象的類

定義方式不用class  用imterface

命名規則一般用I開頭

接口里面只聲明函數名,沒有函數體,不要寫花括號

繼承接口的關鍵字不是用extends,要用implements

接口里面的方法主要用來控制子類,必須實現該方法

例:

<?php
interface IUSB
{    
    function Read(); //接口里面只聲明函數名
    function Write(); 
}

class ShuBiao implements IUSB
{
    function Read()
    {
        echo "鼠標插上了";
    }
    function Write()
    {
        echo "給鼠標傳了數據";
    }
}

$s = new ShuBiao();
$s->Read();


//接口

//1.面向對象 interface
//2.API

?>

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()