Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fungsi PHP kelas dan fungsi objek

Fungsi PHP kelas dan fungsi objek

WBOY
WBOYasal
2023-05-18 15:12:06720semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas Aplikasinya yang meluas terutamanya disebabkan oleh pustaka fungsinya yang berkuasa. Artikel ini akan memperkenalkan fungsi kelas dan objek fungsi dalam PHP.

Dalam pustaka fungsi PHP, adalah perkara biasa untuk menggunakan kelas. Kelas mentakrifkan semua sifat dan kaedah objek, yang menjadikan kod lebih berstruktur dan teratur. Dalam PHP, kelas ditakrifkan melalui kata kunci kelas. Berikut ialah contoh definisi kelas PHP mudah:

class MyClass {
  // 属性定义
  public $prop1 = "I'm a class property!";
 
  // 方法定义
  public function setProperty($newval) {
      $this->prop1 = $newval;
  }
 
  public function getProperty() {
      return $this->prop1 . "<br />";
  }
}

Dalam kod di atas, kami telah mentakrifkan kelas yang dipanggil MyClass dan mempunyai sifat yang dipanggil prop1 dan dua sifat yang dipanggil setProperty() dan kaedah getProperty(). Anda perlu menggunakan kata kunci $this apabila menetapkan sifat dan kaedah panggilan.

Seterusnya kita boleh mencipta contoh MyClass dan mengakses sifat dan kaedahnya:

$obj = new MyClass;

echo $obj->prop1; // 输出 "I'm a class property!"

$obj->setProperty("I'm a new property value!");

echo $obj->getProperty(); // 输出 "I'm a new property value!"

Dalam kod di atas, kami mencipta tika bernama $obj dan menggunakan $ Sintaks obj->prop1 mengakses nilai harta kelas. Seterusnya, kami memanggil kaedah setProperty() untuk mengubah suai nilai harta prop1. Akhir sekali, kami memanggil kaedah getProperty() sekali lagi untuk melihat nilai baharu bagi harta prop1.

Selain kelas PHP biasa, terdapat juga jenis kelas khas yang dipanggil kelas abstrak. Kelas abstrak tidak boleh digunakan dan hanya digunakan untuk memperoleh kelas lain. Kaedah dalam kelas abstrak mungkin mengandungi pelaksanaan atau tidak Jika kaedah diisytiharkan abstrak, maka kelas terbitan mesti melaksanakan kaedah tersebut. Berikut ialah contoh definisi kelas abstrak PHP yang mudah:

abstract class AbstractClass {
    // 强制要求子类定义这些方法
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);
 
    // 普通方法
    public function printOut() {
        print $this->getValue() . "<br/>";
    }
}

Dalam kod di atas, kami mencipta kelas abstrak bernama AbstractClass dan mentakrifkan dua kaedah abstrak bernama getValue() dan prefixValue(). Seterusnya, kami mentakrifkan kaedah biasa yang dipanggil printOut(). Kaedah abstrak dalam kelas boleh ditindih oleh mana-mana subkelas yang melaksanakan kelas tersebut.

Selain kelas PHP biasa dan kelas abstrak, PHP juga menyediakan jenis kelas khas yang dipanggil antara muka. Antara muka adalah serupa dengan kelas abstrak, tetapi mereka tidak boleh mengandungi sebarang pelaksanaan, hanya tandatangan kaedah. Kelas boleh melaksanakan satu atau lebih antara muka, dan apabila melaksanakan antara muka, ia mesti melaksanakan semua kaedah yang diisytiharkan dalam antara muka. Berikut ialah contoh definisi antara muka PHP yang mudah:

interface MyInterface {
    public function getValue();
    public function setValue($value);
}

Dalam kod di atas, kami mencipta antara muka bernama MyInterface dan mentakrifkan dua kaedah getValue() dan setValue(). Dalam kelas yang melaksanakan antara muka ini, kedua-dua kaedah ini mesti dilaksanakan.

Ringkasan: Antara fungsi kelas dan objek fungsi PHP, kelas ialah konsep yang biasa digunakan dalam perpustakaan fungsi PHP. Kelas dalam PHP boleh menentukan sifat dan kaedah, yang menjadikan kod lebih berstruktur dan teratur. Kelas abstrak dan antara muka ialah jenis kelas khas Dalam kelas abstrak, kaedah mungkin mengandungi pelaksanaan atau tidak, manakala dalam antara muka, kaedah hanya mengandungi pengisytiharan kaedah. Apabila melaksanakan kelas atau antara muka abstrak, semua kaedah yang diisytiharkan di dalamnya mesti dilaksanakan.

Atas ialah kandungan terperinci Fungsi PHP kelas dan fungsi objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn