亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php學習筆記之面向對象

2024-05-04 23:27:04
字體:
來源:轉載
供稿:網友
面向對象是一種計算機編程架構,比面向過程編輯具有更強的靈活性和擴展性。這里想提醒一下初學者:要想在編程這條路上走得比別人遠,就一定要掌握面向對象編程技術。
 
 

public   公有的:本類,子類,外部對象都可以調用
protected 受保護的:本類 子類,可以執行,外部對象不可以調用
private 私有的:只能本類執行,子類與外部對象都不可調用
面向對象編程的三大特點

1)封閉性

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

2)繼承性

繼承性就是派生類(子類)自動繼承一個或多個基類(父類)中的屬性與方法,并可以重寫或添加新的屬性和方法。繼承這個特性簡化了對象和類的創建,增加了代碼的可重性。繼承分單繼承和多繼承,PHP所支持的是單繼承,也就是說,一個子類有且只有一個父類。

3)多態性

多態性是指同一個類的不同對象,使用同一個方法可以獲得不同的結果,這種技術稱為多態性。多態性增強了軟件的靈活性和重用性。

類的定義

一個類可以包含有屬于自己的常量,變量(稱為“屬性”)以及函數(稱為“方法”)。
和很多面向對象的語言一樣,PHP也是通過class關鍵字加類名來定義類的。類的格式如下:

 

復制代碼代碼如下:

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

 

定義:物以類聚,把具有相似特性的對象歸到一個類中,類定義了這些相似對象擁有的相同屬性和方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。

類的對象稱為類的一個實例。要創建一個類的實例,必須使用 new 關鍵字。
001ZpQGYty6MeYnSNUh25&690

 

復制代碼代碼如下:

<?php
//類的定義以關鍵字class開始,類的命名通常以每個單詞第一個字母大寫
    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";
    }
}
    //類到對象的實例化
    //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
    $jordan = new NbaPlayer(); 

    //對象中的屬性成員可以通過"->"符號來訪問
    echo $jordan->name."/n";

    //對象中的成員方法可以通過"->"符號來訪問
    $jordan->dribble();
    $jordan->run();
?>

 

成員方法

類中的函數被稱為成員方法。函數和成員方法唯一的區別就是,函數實現的是某個獨立的功能,而成員方法是實現類中的一個行為,是類的一部分。
下面就來擴充上面的myobject類,為它添加一個成員方法,代碼如下:

 

復制代碼代碼如下:

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

 

該方法的作用是輸出商品名稱,商品名稱是通過方法的參數傳進來的。
類是一個抽象的描述,是功能相似的一組對象的集合。如果想用到類中的方法和變量,首先就要把它具體落實到一個實體,也就是對象上。

類常量
既然有變量,當然也會有常量了。常量就是不會改變的量,是一個恒值。眾所周知的一個常量就是圓周率Pi。定義常量使用關鍵字const如:
ConstPI=3.14159;

構造函數

PHP 5 允行開發者在一個類中定義一個方法作為構造函數。具有構造函數的類會在每次創建新對象時先調用此方法,所以非常適合在使用對象之前做一些初始化工作。

 

復制代碼代碼如下:

<?php
//類的定義以關鍵字class開始,類的命名通常以每個單詞第一個字母大寫
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";

 

        //構造函數,在對象被實例化的時候自動調用
        function __construct($name,$height,$weight,$team){
            echo "It is an  NbaPlayer constructor/n";
            $this->name = $name;
            //$this是PHP里面的偽變量,表示對象自身??梢酝ㄟ^$this->的方式訪問對象的屬性和方法
            $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";
    }
}
    //類到對象的實例化
    //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
    $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");   

    //對象中的屬性成員可以通過"->"符號來訪問
    echo $jordan->name."/n";

    //對象中的成員方法可以通過"->"符號來訪問
    $jordan->dribble();
    $jordan->run();

    //每一次用new實例化對象的時候,都會用類名后面的參數列表調用構造函數
    $james = new NbaPlayer("James","203cm","120kg","Heat")
    echo $james->name."/n";
?>

 

析構函數

 

復制代碼代碼如下:

<?php
//類的定義以關鍵字class開始,類的命名通常以每個單詞第一個字母大寫
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";
        
        //構造函數,在對象被實例化的時候自動調用
        function __construct($name,$height,$weight,$team){
            echo "It is an  NbaPlayer constructor/n";
            $this->name = $name;
            //$this是PHP里面的偽變量,表示對象自身??梢酝ㄟ^$this->的方式訪問對象的屬性和方法
            $this->height = $height;
            $this->weight = $weight;
            $this->team = $team;
        }
        
        //析構函數,在程序執行結束的時候會自動調用
        //析構函數通常被用于清理程序使用的資源。比如程序使用了打印機,那么可以再析構函數里面釋放打印機資源
        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";
    }
}
    //類到對象的實例化
    //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
    $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");    
    
    //對象中的屬性成員可以通過"->"符號來訪問
    echo $jordan->name."/n";
    
    //對象中的成員方法可以通過"->"符號來訪問
    $jordan->dribble();
    $jordan->run();
    
    //每一次用new實例化對象的時候,都會用類名后面的參數列表調用構造函數
    $james = new NbaPlayer("James","203cm","120kg","Heat")
    echo $james->name."/n";
    
    //通過把變量設為null,可以觸發析構函數的調用
    //當對象不再使用的時候會觸發析構函數
    $james = null;
    echo "from now on James will not be used./n"
?>

 

析構函數會在到某個對象的所有引用都被刪除或者當對象被顯式銷毀時執行。

對象的引用

 

復制代碼代碼如下:

<?php
//類的定義以關鍵字class開始,類的命名通常以每個單詞第一個字母大寫
    class NbaPlayer{
        public $name = "Jordan"; //定義屬性
        public $height = "198cm";
        public $team = "Bull";
        public $playerNumber = "23";

 

        //構造函數,在對象被實例化的時候自動調用
        function __construct($name,$height,$weight,$team){
            echo "It is an  NbaPlayer constructor/n";
            $this->name = $name;
            //$this是PHP里面的偽變量,表示對象自身。可以通過$this->的方式訪問對象的屬性和方法
            $this->height = $height;
            $this->weight = $weight;
            $this->team = $team;
        }

        //析構函數,在程序執行結束的時候會自動調用
        //析構函數通常被用于清理程序使用的資源。比如程序使用了打印機,那么可以再析構函數里面釋放打印機資源
        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";
    }
}
    //類到對象的實例化
    //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
    $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");   

    //對象中的屬性成員可以通過"->"符號來訪問
    echo $jordan->name."/n";

    //對象中的成員方法可以通過"->"符號來訪問
    $jordan->dribble();
    $jordan->run();

    //每一次用new實例化對象的時候,都會用類名后面的參數列表調用構造函數
    $james = new NbaPlayer("James","203cm","120kg","Heat")
    echo $james->name."/n";

    //對象的引用用于訪問對象的屬性和方法,$james,$james1和$james2都是對象的引用
    //$james和$james1是對象的兩個獨立引用
    //$james2是$james的影子,使用對象的同一個引用,任何一個賦值為null相當于刪除了同一個引用
    $james1 = $james;
    $james2 = &$james

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜欧美不卡精品aaaaa| 国产精品网站视频| 欧美国产高跟鞋裸体秀xxxhd| 美女扒开尿口让男人操亚洲视频网站| 日本一欧美一欧美一亚洲视频| 亚洲最大的网站| 狠狠色狠狠色综合日日小说| 亚洲精品国产精品乱码不99按摩| 亚洲精品第一页| 亚洲视频在线观看视频| 久久精品99久久久久久久久| …久久精品99久久香蕉国产| 国产精品老女人视频| 久久精视频免费在线久久完整在线看| 久久综合免费视频| 欧美激情在线观看| 国产精品黄色av| 国产亚洲欧美日韩精品| 欧美日韩在线影院| 亚洲欧美视频在线| 久久视频免费在线播放| 日韩av在线免费| 91精品综合久久久久久五月天| 91久久国产精品| 久久999免费视频| 热久久这里只有| 日韩欧美精品中文字幕| 日韩av黄色在线观看| 日韩国产高清视频在线| 亚洲精品一区二区久| 日韩欧美在线视频观看| 欧美高清电影在线看| 精品国产成人在线| 懂色av一区二区三区| 亚洲男人天堂九九视频| 亚洲国产成人精品久久久国产成人一区| 亚洲电影中文字幕| 不卡av电影院| 美日韩丰满少妇在线观看| 欧美成人免费播放| 精品国产老师黑色丝袜高跟鞋| 亚州成人av在线| 精品国产乱码久久久久久虫虫漫画| 国产精品第一页在线| 久久久国产精品一区| 国产精品免费电影| 成人激情在线播放| 欧美极品少妇与黑人| 色噜噜狠狠色综合网图区| 久久久精品免费视频| 国产一区二区丝袜| 精品国产依人香蕉在线精品| 欧美日韩国产va另类| 伊人男人综合视频网| 欧美日韩裸体免费视频| 成人免费看吃奶视频网站| 亚洲精品黄网在线观看| 91亚洲国产成人久久精品网站| 国产成人亚洲综合青青| 欧美视频免费在线观看| 日韩欧美精品中文字幕| www国产91| 日韩视频欧美视频| 最新国产成人av网站网址麻豆| 国产a∨精品一区二区三区不卡| 亚洲а∨天堂久久精品喷水| 狠狠躁夜夜躁人人爽超碰91| 亚洲欧美另类国产| 亚洲国产精品成人va在线观看| 在线中文字幕日韩| 国产欧美日韩精品丝袜高跟鞋| 亚洲视频国产视频| 精品久久香蕉国产线看观看亚洲| 精品动漫一区二区三区| 亚洲精品网站在线播放gif| 正在播放欧美视频| 亚洲日本中文字幕免费在线不卡| 欧美日韩亚洲天堂| 色偷偷av一区二区三区乱| 久久五月情影视| 一区国产精品视频| 亚洲大胆人体在线| 久久久国产影院| 亚洲国模精品一区| 久久免费成人精品视频| 精品欧美国产一区二区三区| 97久久精品视频| 久久韩剧网电视剧| 久久久国产精品视频| 亚洲高清在线观看| 国产精品日韩av| 日韩中文理论片| 97在线观看视频| 精品国产依人香蕉在线精品| 欧美成人激情视频| 亚洲午夜精品久久久久久性色| 久久伊人精品一区二区三区| 亚洲国产精品系列| 97色在线视频| 亚洲色图在线观看| 久色乳综合思思在线视频| 日韩电影中文字幕在线| 成人久久久久爱| 18性欧美xxxⅹ性满足| 欧美一区二区三区四区在线| 欧美日韩不卡合集视频| 成人做爰www免费看视频网站| 亚洲成人免费在线视频| 日韩免费电影在线观看| 亚洲第一偷拍网| 97国产精品免费视频| 国产精品自产拍在线观| 久久香蕉精品香蕉| 国内精品小视频| 亚洲欧美三级伦理| 久久伊人精品天天| 亚洲欧洲在线看| 久久久久久久久久久国产| 91色中文字幕| 日本成人免费在线| 亚洲自拍高清视频网站| 影音先锋日韩有码| 91成人福利在线| 国产精品九九九| 亚洲国产精品久久久久秋霞不卡| 精品成人久久av| 日本三级久久久| 欧美日韩性视频| 亚洲一区二区中文字幕| 日韩精品免费在线视频| 日韩在线播放av| 亚洲国产精品久久91精品| 亚洲精品国产品国语在线| 亚洲欧美综合精品久久成人| 欧美日韩亚洲一区二区| 日韩av在线不卡| 亚洲一区二区三区四区在线播放| 亚洲少妇中文在线| 久久精品视频免费播放| 欧美高清无遮挡| 亚洲人成网站999久久久综合| 欧美一级大片在线免费观看| 亚洲变态欧美另类捆绑| 精品久久久久久中文字幕大豆网| 粗暴蹂躏中文一区二区三区| 神马国产精品影院av| 色综合91久久精品中文字幕| 国产在线高清精品| 亚洲成人亚洲激情| 欧美日韩中文在线| 精品视频偷偷看在线观看| 国产精品久久久久不卡| 欧美成人激情图片网| 日韩av在线一区| 亚洲女人初尝黑人巨大| 91日韩在线视频| 国内自拍欧美激情| 国产日韩欧美中文在线播放| 成人黄色大片在线免费观看| 欧美在线播放视频| 91久热免费在线视频| 亚洲精品久久久久久久久久久| 国产一区二区激情| 国产精品成人国产乱一区|