成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php面向?qū)ο蟮奶攸c(diǎn)和實(shí)例介紹-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“php面向?qū)ο蟮奶攸c(diǎn)和實(shí)例介紹”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“php面向?qū)ο蟮奶攸c(diǎn)和實(shí)例介紹”吧!

專(zhuān)注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)阿克塞哈薩克族自治免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

public   公有的:本類(lèi),子類(lèi),外部對(duì)象都可以調(diào)用
protected 受保護(hù)的:本類(lèi) 子類(lèi),可以執(zhí)行,外部對(duì)象不可以調(diào)用
private 私有的:只能本類(lèi)執(zhí)行,子類(lèi)與外部對(duì)象都不可調(diào)用
面向?qū)ο缶幊痰娜筇攸c(diǎn)

1)封閉性

封閉性,也可以稱(chēng)為信息隱藏。就是將一個(gè)類(lèi)的使用和實(shí)現(xiàn)分開(kāi),只保留有限的接口(方法)與外部聯(lián)系。對(duì)于用到該類(lèi)的開(kāi)發(fā)人員,只要知道這個(gè)類(lèi)如何使用即可,而不用去關(guān)心這個(gè)類(lèi)是如何實(shí)現(xiàn)的。這樣做可以讓開(kāi)發(fā)人員更好地把精力集中起來(lái)專(zhuān)注別的事情,同時(shí)也避免了程序之間的相互依賴(lài)而帶來(lái)的不便。

2)繼承性

繼承性就是派生類(lèi)(子類(lèi))自動(dòng)繼承一個(gè)或多個(gè)基類(lèi)(父類(lèi))中的屬性與方法,并可以重寫(xiě)或添加新的屬性和方法。繼承這個(gè)特性簡(jiǎn)化了對(duì)象和類(lèi)的創(chuàng)建,增加了代碼的可重性。繼承分單繼承和多繼承,PHP所支持的是單繼承,也就是說(shuō),一個(gè)子類(lèi)有且只有一個(gè)父類(lèi)。

3)多態(tài)性

多態(tài)性是指同一個(gè)類(lèi)的不同對(duì)象,使用同一個(gè)方法可以獲得不同的結(jié)果,這種技術(shù)稱(chēng)為多態(tài)性。多態(tài)性增強(qiáng)了軟件的靈活性和重用性。

類(lèi)的定義

一個(gè)類(lèi)可以包含有屬于自己的常量,變量(稱(chēng)為“屬性”)以及函數(shù)(稱(chēng)為“方法”)。
和很多面向?qū)ο蟮恼Z(yǔ)言一樣,PHP也是通過(guò)class關(guān)鍵字加類(lèi)名來(lái)定義類(lèi)的。類(lèi)的格式如下:

復(fù)制代碼 代碼如下:


<?php
  Class myobject{
    //……
}
?>


定義:物以類(lèi)聚,把具有相似特性的對(duì)象歸到一個(gè)類(lèi)中,類(lèi)定義了這些相似對(duì)象擁有的相同屬性和方法。類(lèi)是相似對(duì)象的描述,稱(chēng)為類(lèi)的定義,是該類(lèi)對(duì)象的藍(lán)圖或原型。

類(lèi)的對(duì)象稱(chēng)為類(lèi)的一個(gè)實(shí)例。要?jiǎng)?chuàng)建一個(gè)類(lèi)的實(shí)例,必須使用 new 關(guān)鍵字。
001ZpQGYty6MeYnSNUh35&690

復(fù)制代碼 代碼如下:


<?php
//類(lèi)的定義以關(guān)鍵字class開(kāi)始,類(lèi)的命名通常以每個(gè)單詞第一個(gè)字母大寫(xiě)
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";

        //定義方法
    public function run(){
        echo "Running\n";
    }
    public function dribblr(){
        echo "Dribbling\n";
    }
    public function pass(){
        echo "Passing\n";
    }
}
    //類(lèi)到對(duì)象的實(shí)例化
    //類(lèi)的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類(lèi)的名稱(chēng)和一對(duì)括號(hào)
    $jordan = new NbaPlayer();

    //對(duì)象中的屬性成員可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    echo $jordan->name."\n";

    //對(duì)象中的成員方法可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    $jordan->dribble();
    $jordan->run();
?>


成員方法

類(lèi)中的函數(shù)被稱(chēng)為成員方法。函數(shù)和成員方法的區(qū)別就是,函數(shù)實(shí)現(xiàn)的是某個(gè)獨(dú)立的功能,而成員方法是實(shí)現(xiàn)類(lèi)中的一個(gè)行為,是類(lèi)的一部分。
下面就來(lái)擴(kuò)充上面的myobject類(lèi),為它添加一個(gè)成員方法,代碼如下:

復(fù)制代碼 代碼如下:


<?php
classmyobject{
   function getobjectname($name){
      echo "商品名稱(chēng)為:".$name;
   }
}
?>


該方法的作用是輸出商品名稱(chēng),商品名稱(chēng)是通過(guò)方法的參數(shù)傳進(jìn)來(lái)的。
類(lèi)是一個(gè)抽象的描述,是功能相似的一組對(duì)象的集合。如果想用到類(lèi)中的方法和變量,首先就要把它具體落實(shí)到一個(gè)實(shí)體,也就是對(duì)象上。

類(lèi)常量
既然有變量,當(dāng)然也會(huì)有常量了。常量就是不會(huì)改變的量,是一個(gè)恒值。眾所周知的一個(gè)常量就是圓周率Pi。定義常量使用關(guān)鍵字const如:
ConstPI=3.14159;

構(gòu)造函數(shù)

PHP 5 允行開(kāi)發(fā)者在一個(gè)類(lèi)中定義一個(gè)方法作為構(gòu)造函數(shù)。具有構(gòu)造函數(shù)的類(lèi)會(huì)在每次創(chuàng)建新對(duì)象時(shí)先調(diào)用此方法,所以非常適合在使用對(duì)象之前做一些初始化工作。

復(fù)制代碼 代碼如下:


<?php
//類(lèi)的定義以關(guān)鍵字class開(kāi)始,類(lèi)的命名通常以每個(gè)單詞第一個(gè)字母大寫(xiě)
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";

        //構(gòu)造函數(shù),在對(duì)象被實(shí)例化的時(shí)候自動(dòng)調(diào)用
        function __construct($name,$height,$weight,$team){
            echo "It is an  NbaPlayer constructor\n";
            $this->name = $name;
            //$this是PHP里面的偽變量,表示對(duì)象自身??梢酝ㄟ^(guò)$this->的方式訪問(wèn)對(duì)象的屬性和方法
            $this->height = $height;
            $this->weight = $weight;
            $this->team = $team;
        }

        //定義方法
    public function run(){
        echo "Running\n";
    }
    public function dribblr(){
        echo "Dribbling\n";
    }
    public function pass(){
        echo "Passing\n";
    }
}
    //類(lèi)到對(duì)象的實(shí)例化
    //類(lèi)的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類(lèi)的名稱(chēng)和一對(duì)括號(hào)
    $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

    //對(duì)象中的屬性成員可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    echo $jordan->name."\n";

    //對(duì)象中的成員方法可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    $jordan->dribble();
    $jordan->run();

    //每一次用new實(shí)例化對(duì)象的時(shí)候,都會(huì)用類(lèi)名后面的參數(shù)列表調(diào)用構(gòu)造函數(shù)
    $james = new NbaPlayer("James","203cm","120kg","Heat")
    echo $james->name."\n";
?>


析構(gòu)函數(shù)

復(fù)制代碼 代碼如下:


<?php
//類(lèi)的定義以關(guān)鍵字class開(kāi)始,類(lèi)的命名通常以每個(gè)單詞第一個(gè)字母大寫(xiě)
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";
       
        //構(gòu)造函數(shù),在對(duì)象被實(shí)例化的時(shí)候自動(dòng)調(diào)用
        function __construct($name,$height,$weight,$team){
            echo "It is an  NbaPlayer constructor\n";
            $this->name = $name;
            //$this是PHP里面的偽變量,表示對(duì)象自身。可以通過(guò)$this->的方式訪問(wèn)對(duì)象的屬性和方法
            $this->height = $height;
            $this->weight = $weight;
            $this->team = $team;
        }
       
        //析構(gòu)函數(shù),在程序執(zhí)行結(jié)束的時(shí)候會(huì)自動(dòng)調(diào)用
        //析構(gòu)函數(shù)通常被用于清理程序使用的資源。比如程序使用了打印機(jī),那么可以再析構(gòu)函數(shù)里面釋放打印機(jī)資源
        function __destruct(){
            echo "Destroying".$this->name."\n";
        }
       
        //定義方法
    public function run(){
        echo "Running\n";
    }
    public function dribblr(){
        echo "Dribbling\n";
    }
    public function pass(){
        echo "Passing\n";
    }
}
    //類(lèi)到對(duì)象的實(shí)例化
    //類(lèi)的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類(lèi)的名稱(chēng)和一對(duì)括號(hào)
    $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");   
   
    //對(duì)象中的屬性成員可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    echo $jordan->name."\n";
   
    //對(duì)象中的成員方法可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    $jordan->dribble();
    $jordan->run();
   
    //每一次用new實(shí)例化對(duì)象的時(shí)候,都會(huì)用類(lèi)名后面的參數(shù)列表調(diào)用構(gòu)造函數(shù)
    $james = new NbaPlayer("James","203cm","120kg","Heat")
    echo $james->name."\n";
   
    //通過(guò)把變量設(shè)為null,可以觸發(fā)析構(gòu)函數(shù)的調(diào)用
    //當(dāng)對(duì)象不再使用的時(shí)候會(huì)觸發(fā)析構(gòu)函數(shù)
    $james = null;
    echo "from now on James will not be used.\n"
?>


析構(gòu)函數(shù)會(huì)在到某個(gè)對(duì)象的所有引用都被刪除或者當(dāng)對(duì)象被顯式銷(xiāo)毀時(shí)執(zhí)行。

對(duì)象的引用

復(fù)制代碼 代碼如下:


<?php
//類(lèi)的定義以關(guān)鍵字class開(kāi)始,類(lèi)的命名通常以每個(gè)單詞第一個(gè)字母大寫(xiě)
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";

        //構(gòu)造函數(shù),在對(duì)象被實(shí)例化的時(shí)候自動(dòng)調(diào)用
        function __construct($name,$height,$weight,$team){
            echo "It is an  NbaPlayer constructor\n";
            $this->name = $name;
            //$this是PHP里面的偽變量,表示對(duì)象自身??梢酝ㄟ^(guò)$this->的方式訪問(wèn)對(duì)象的屬性和方法
            $this->height = $height;
            $this->weight = $weight;
            $this->team = $team;
        }

        //析構(gòu)函數(shù),在程序執(zhí)行結(jié)束的時(shí)候會(huì)自動(dòng)調(diào)用
        //析構(gòu)函數(shù)通常被用于清理程序使用的資源。比如程序使用了打印機(jī),那么可以再析構(gòu)函數(shù)里面釋放打印機(jī)資源
        function __destruct(){
            echo "Destroying".$this->name."\n";
        }

        //定義方法
    public function run(){
        echo "Running\n";
    }
    public function dribblr(){
        echo "Dribbling\n";
    }
    public function pass(){
        echo "Passing\n";
    }
}
    //類(lèi)到對(duì)象的實(shí)例化
    //類(lèi)的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類(lèi)的名稱(chēng)和一對(duì)括號(hào)
    $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

    //對(duì)象中的屬性成員可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    echo $jordan->name."\n";

    //對(duì)象中的成員方法可以通過(guò)"->"符號(hào)來(lái)訪問(wèn)
    $jordan->dribble();
    $jordan->run();

    //每一次用new實(shí)例化對(duì)象的時(shí)候,都會(huì)用類(lèi)名后面的參數(shù)列表調(diào)用構(gòu)造函數(shù)
    $james = new NbaPlayer("James","203cm","120kg","Heat")
    echo $james->name."\n";

    //對(duì)象的引用用于訪問(wèn)對(duì)象的屬性和方法,$james,$james1和$james2都是對(duì)象的引用
    //$james和$james1是對(duì)象的兩個(gè)獨(dú)立引用
    //$james2是$james的影子,使用對(duì)象的同一個(gè)引用,任何一個(gè)賦值為null相當(dāng)于刪除了同一個(gè)引用
    $james1 = $james;
    $james2 = &$james

    $james = null;
    echo "from now on James will not be used.\n"
?>


到此,相信大家對(duì)“php面向?qū)ο蟮奶攸c(diǎn)和實(shí)例介紹”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前題目:php面向?qū)ο蟮奶攸c(diǎn)和實(shí)例介紹-創(chuàng)新互聯(lián)
文章URL:http://jinyejixie.com/article0/dijpoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)域名注冊(cè)、網(wǎng)站維護(hù)、小程序開(kāi)發(fā)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)
永兴县| 沙湾县| 包头市| 武胜县| 东至县| 永州市| 浏阳市| 桃源县| 鸡东县| 石泉县| 宜城市| 军事| 化隆| 瓦房店市| 桐庐县| 澄城县| 大冶市| 左云县| 蒙山县| 法库县| 师宗县| 阿克陶县| 启东市| 大关县| 洪泽县| 聊城市| 柞水县| 通河县| 南陵县| 滨州市| 台江县| 吴川市| 仙桃市| 临清市| 平潭县| 嘉荫县| 罗城| 临汾市| 苏尼特右旗| 漳平市| 布尔津县|