国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

php面向對象程序設計介紹

瀏覽:213日期:2022-06-10 18:18:57
目錄
  • 類與對象
  • 訪問控制
  • 繼承
  • 多態

PHP是一種面向對象的編程語言,它允許開發者使用面向對象的編程技術來構建復雜的應用程序。下面是一些關于PHP面向對象編程的講解:

類與對象

類是一種用于定義對象的藍圖,它描述了對象的屬性和方法。對象則是類的一個實例,它具有類中定義的屬性和方法。 在PHP中,使用class關鍵字來定義一個類,例如:

<?php
class Person {
    public $name;
    public $age;
    function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
    }
    function sayHello() {
echo "Hello, my name is " . $this->name;
    }
}

上面的代碼定義了一個名為Person的類,它有兩個屬性$name$age,和一個構造函數__construct(),以及一個方法sayHello()。 我們可以使用new關鍵字來創建一個類的實例,例如:

<?php
$person1 = new Person("John", 30);

上面的代碼創建了一個Person類的實例$person1,并將其屬性$name設為John,屬性$age設為30。 我們可以使用箭頭符號->來調用對象的屬性和方法,例如:

<?php
echo $person1->name; // 輸出 "John"
$person1->sayHello(); // 輸出 "Hello, my name is John"

訪問控制

PHP提供了三種訪問控制關鍵字來限制類的屬性和方法的訪問權限,它們分別是publicprotectedprivate

  • public:公共的屬性和方法可以被類的實例、類的子類和其他代碼訪問。
  • protected:受保護的屬性和方法可以被類的實例和類的子類訪問,但不能被其他代碼訪問。
  • private:私有的屬性和方法只能被類的實例訪問,不能被類的子類和其他代碼訪問。 例如:
<?php
class Person {
    public $name;
    protected $age;
    private $email;
    function __construct($name, $age, $email) {
$this->name = $name;
$this->age = $age;
$this->email = $email;
    }
    public function sayHello() {
echo "Hello, my name is " . $this->name;
    }
    protected function getAge() {
return $this->age;
    }
    private function getEmail() {
return $this->email;
    }
}

上面的代碼定義了一個Person類,其中$name屬性是公共的,$age屬性是受保護的,$email屬性是私有的。sayHello()方法是公共的,getAge()方法是受保護的,getEmail()方法是私有的。

繼承

繼承是面向對象編程的重要概念之一,它允許我們創建一個新的類,并從一個已有的類中繼承屬性和方法。繼承可以減少代碼的重復,增強代碼的可維護性和可擴展性。 在PHP中,使用extends關鍵字來繼承一個類,例如:

<?php
class Student extends Person {
    public $major;
    function __construct($name, $age, $email, $major) {
parent::__construct($name, $age, $email);
$this->major = $major;
    }
    public function sayHello() {
echo "Hello, my name is " . $this->name . " and I"m a student.";
    }
}

上面的代碼定義了一個Student類,它繼承自Person類,并添加了一個$major屬性。它還重寫了sayHello()方法,以便在輸出中添加學生的身份信息。 在子類的構造函數中,我們可以使用parent::__construct()來調用父類的構造函數,以便初始化繼承的屬性。

多態

多態是面向對象編程的另一個重要概念,它允許我們使用一個基類類型的變量來引用子類對象,從而實現代碼的通用性和靈活性。 在PHP中,多態可以通過類型提示和抽象類來實現。 類型提示是一種語法,它允許我們在函數或方法的參數中指定參數的類型,從而限制參數的類型,并提高代碼的可讀性和可維護性。例如:

<?php
function sayHello(Person $person) {
    $person->sayHello();
}

上面的代碼定義了一個sayHello()函數,它接受一個Person類型的參數。由于Student類繼承自Person類,所以我們可以將一個Student類的實例作為參數傳遞給sayHello()函數。 抽象類是一種特殊的類,它不能被實例化,只能被用來繼承。抽象類中可以定義抽象方法,這些方法沒有具體的實現,只是用來規定子類必須實現的方法。例如:

<?php
abstract class Shape {
    abstract public function area();
}
class Rectangle extends Shape {
    private $width;
    private $height;
    function __construct($width, $height) {
$this->width = $width;
$this->height = $height;
    }
    public function area() {
return $this->width * $this->height;
    }
}

上面的代碼定義了一個抽象類Shape,它有一個抽象方法area()Rectangle類繼承自Shape類,并實現了area()方法。 我們可以使用多態來實現一個通用的計算面積的函數,例如:

<?php
function getArea(Shape $shape) {
    return $shape->area();
}
$rectangle = new Rectangle(10, 20);
echo getArea($rectangle); // 輸出 "200"

上面的代碼定義了一個getArea()函數,它接受一個Shape類型的參數,并調用該參數的area()方法來計算面積。我們可以將一個Rectangle類的實例作為參數傳遞給getArea()函數。

到此這篇關于php面向對象程序設計介紹的文章就介紹到這了,更多相關php面向對象內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
相關文章:
主站蜘蛛池模板: 91麻精品国产91久久久久 | 日韩美女专区中文字幕 | a久久99精品久久久久久不 | 精品国产90后在线观看 | 亚洲精品久久精品h成人 | 偷拍精品视频一区二区三区 | 私人玩物福利视频 | 欧美在线观看一区二区 | 男女猛烈无遮掩免费视频 | 一级欧美一级日韩毛片99 | 一级毛片在线不卡直接观看 | 国产日韩精品一区在线不卡 | 黄色视屏免费 | 一级国产a级a毛片无卡 | 九九久久九九久久 | 日韩大片高清播放器大全 | 久色小说| 2020亚洲男人天堂 | 波多野结衣视频在线观看地址免费 | 欧美视频在线观 | 国产高清一级视频在线观看 | 欧美jizz19性欧美 | 经典国产一级毛片 | 精品国产自在在线在线观看 | 国产美女自拍视频 | 牛牛本精品99久久精品88m | 中文 日本 免费 高清 | 韩国欧洲一级毛片免费 | 在线观看国产亚洲 | 午夜毛片免费观看视频 | 成年网站视频在线观看 | 精品一区二区三区免费观看 | 午夜福利国产一级毛片 | 欧美aaa视频| 国产精品一区伦免视频播放 | 欧美国一级毛片片aa | 久久国产精品1区2区3区网页 | 久久99精品免费视频 | 欧美日韩高清不卡一区二区三区 | 国产孕妇孕交大片孕 | 人成精品 |