Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan jenis data objek dalam PHP

Cara menggunakan jenis data objek dalam PHP

王林
王林asal
2023-07-15 11:30:031439semak imbas

Cara menggunakan jenis data objek dalam PHP

Dalam PHP, objek ialah jenis data khas yang boleh digunakan untuk mewakili entiti dunia sebenar atau konsep abstrak. Objek dicipta melalui kelas, yang menentukan sifat dan kaedah yang dimiliki objek. Dalam artikel ini, kita akan belajar cara menggunakan jenis data objek dalam PHP dan melalui contoh kod untuk mendalami pemahaman kita.

Buat kelas
Dalam PHP, kita boleh menggunakan kata kunci kelas untuk mencipta kelas. Kelas boleh mengandungi berbilang sifat dan kaedah. Berikut ialah contoh mudah:

class Person {
  public $name;
  public $age;
  
  public function sayHello() {
    echo "Hello, my name is " . $this->name . ".";
    echo " I am " . $this->age . " years old.";
  }
}

Dalam contoh ini, kami mencipta kelas bernama Person, yang mempunyai dua sifat awam $name dan $age, dan kaedah awam sayHello. Sifat boleh digunakan untuk menyimpan keadaan objek, manakala kaedah digunakan untuk menentukan tingkah laku objek.

Mencipta Objek
Untuk mencipta objek kita perlu menggunakan kata kunci baharu diikuti dengan nama kelas dan parameter boleh dihantar menggunakan kurungan. Berikut ialah contoh mencipta objek Orang:

$person = new Person();

Selepas kita mencipta objek, kita boleh menggunakan sintaks anak panah -> untuk mengakses sifat dan kaedah objek. Contohnya, kita boleh menetapkan nilai pada atribut $name dan $age dan memanggil kaedah sayHello:

$person->name = "John";
$person->age = 30;
$person->sayHello(); // 输出:Hello, my name is John. I am 30 years old.

Inheritance
PHP menyokong warisan kelas Melalui warisan, kita boleh mencipta kelas baharu yang mewarisi sifat daripada kelas sedia ada. dan kaedah, serta boleh menambah sifat dan kaedah anda sendiri. Sebagai contoh, kita boleh mencipta kelas Pelajar yang mewarisi daripada kelas Orang:

class Student extends Person {
  public $grade;
  
  public function sayGrade() {
    echo "I am in grade " . $this->grade . ".";
  }
}

Dalam contoh ini, kelas Pelajar mewarisi semua sifat dan kaedah kelas Orang dan menambah harta $gred baharu dan kaedah baharu sayGrade.

Buat objek Pelajar dan panggil kaedahnya:

$student = new Student();
$student->name = "Jane";
$student->age = 18;
$student->grade = 12;

$student->sayHello(); // 输出:Hello, my name is Jane. I am 18 years old.
$student->sayGrade(); // 输出:I am in grade 12.

Pengenkapsulan dan kawalan akses
Pengenkapsulan dalam PHP ialah mekanisme untuk melindungi sifat dan kaedah objek Kami boleh menggunakan pengubah kawalan akses untuk menyekat akses kepada sifat dan kebenaran kaedah. Tiga pengubah kawalan akses tersedia: awam, dilindungi dan peribadi.

  • awam: Hak akses awam, sifat dan kaedah boleh diakses di dalam dan di luar kelas.
  • dilindungi: Akses, sifat dan kaedah yang dilindungi boleh diakses di dalam kelas dan dalam subkelas.
  • peribadi: Hak akses peribadi, sifat dan kaedah hanya boleh diakses dalam kelas.

Berikut ialah contoh penggunaan kawalan akses:

class Car {
  public $brand;
  protected $price;
  private $mileage;
  
  public function __construct($brand, $price, $mileage) {
    $this->brand = $brand;
    $this->price = $price;
    $this->mileage = $mileage;
  }
  
  public function displayInformation() {
    echo "Brand: " . $this->brand . "<br>";
    echo "Price: " . $this->price . "<br>";
    echo "Mileage: " . $this->mileage . "<br>";
  }
  
  protected function calculateValue() {
    return $this->price - $this->mileage;
  }
  
  private function getMileage() {
    return $this->mileage;
  }
}

$car = new Car("Toyota", 20000, 50000);

$car->displayInformation(); // 输出:Brand: Toyota   Price: 20000   Mileage: 50000
echo $car->brand; // 输出:Toyota

// 以下行代码会报错,因为$price和$mileage属性具有受保护和私有访问权限,无法在类外部访问:
//echo $car->price;
//echo $car->mileage;

// 以下行代码会报错,因为calculateValue和getMileage方法具有受保护和私有访问权限,无法在类外部访问:
//echo $car->calculateValue();
//echo $car->getMileage();

Dalam contoh ini, kami mencipta kelas Kereta dengan jenama atribut awam, harga atribut dilindungi dan perbatuan atribut persendirian, serta paparan kaedah awam Maklumat, dilindungi kaedah calculateValue dan kaedah persendirian getMileage.

Ringkasan
Dalam artikel ini, kami mempelajari cara menggunakan jenis data objek dalam PHP. Kami belajar cara membuat kelas, mencipta objek dan mengakses sifat dan kaedah objek melalui sintaks anak panah. Kami juga mempelajari konsep pewarisan kelas, enkapsulasi dan kawalan akses serta mempraktikkannya dengan kod sampel. Dengan memahami dan mahir menggunakan jenis data objek, kami boleh menggunakan ciri pengaturcaraan berorientasikan objek PHP dengan lebih baik untuk mereka bentuk dan membangunkan aplikasi yang kompleks.

Atas ialah kandungan terperinci Cara menggunakan jenis data objek dalam PHP. 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