Rumah > php教程 > php手册 > Nota kajian membaca pengaturcaraan berwibawa PHP5 dengan asas download_php e-buku

Nota kajian membaca pengaturcaraan berwibawa PHP5 dengan asas download_php e-buku

WBOY
Lepaskan: 2016-05-16 09:00:26
asal
2206 orang telah melayarinya

PHP 5 Power Programming PDF alamat muat turun /books/28207.html

Dalam PHP4, __construct() tidak digunakan sebagai nama pembina, dan kelas mesti digunakan Namanya mentakrifkan kaedah, sama seperti dalam C++.
Dalam PHP5, kaedah penamaan pembina bersatu baharu digunakan: __construct() Sudah tentu, nama kelas juga boleh digunakan.
Walau bagaimanapun, jika anda menggunakan kedua-duanya pada masa yang sama, sistem akan menggunakan __construct() secara lalai.

Salin kod Kod adalah seperti berikut:

Orang kelas {
//Kaedah dalam PHP4
fungsi awam Person(){
gema "Kaedah dalam PHP4";
}
//Kaedah disyorkan dalam PHP5
fungsi awam __construct(){
gema "Kaedah yang disyorkan untuk PHP5";
}
fungsi awam katakan(){
}
}
$p1=Orang baharu(
?> 🎜>
Anda tidak boleh mengembalikan nilai dalam pembina, jadi cara paling biasa untuk menjana ralat dari dalam pembina ialah membuang pengecualian.
Kod adalah seperti berikut:

Salin kod Kodnya adalah seperti berikut:
Orang kelas{
peribadi $_age;
fungsi awam __build($age){
cuba {
jika ($age<120){
$this- >_age=$age ;
}else {
lemparkan Exception baharu("Umur yang anda masukkan terlalu lama"); $e->getMessage( );
}
}
}
$p1=Orang baharu(121);>



Kawalan Akses

Perlindungan akses atribut objek ialah paradigma utama OOP
Awam: boleh diakses di mana-mana
Dilindungi: ahli kelas boleh diakses daripada kaedah di dalam objek oleh subkelas dan kelas induk bagi kelas di mana mereka beradaPersendirian: Ahli kelas hanya boleh diakses melalui kaedah dalam objek kelas di mana mereka berada, tetapi tidak boleh diakses daripada ahli kelas yang diwarisi. Oleh kerana ahli persendirian tidak akan diwarisi, dua kelas berkaitan boleh mengisytiharkan pembolehubah persendirian dengan nama yang sama. Iaitu, kedua-dua kelas hanya boleh melihat harta peribadi mereka sendiri, dan tiada hubungan antara ahli persendirian.
Contoh:




Salin kod
Kod adalah seperti berikut: /*** Tentukan MyClass
*/ Salin kod

Kod adalah seperti berikut:

kelas Foo { public static $my_static = 'foo'; public static function staticValue() { return self::$my_static;//Untuk mengakses ahli statik dalam kelas, gunakan kata kunci kendiri } }
$obj=new Foo();
echo $obj->staticValue();//Kaedah 1
echo Foo::staticValue();//Kaedah 2
?


Objek klon
Dalam PHP4, apabila objek baharu dikembalikan, objek itu sendiri dikembalikan
Dalam PHP5, apabila objek baharu, objek yang ditunjuk akan dikembalikan. Handle"
Ini bermakna dalam PHP5, apabila memberikan contoh objek ($obj1) kepada pembolehubah lain ($obj2), kedua-dua objek menghala ke kawasan memori yang sama.
Contohnya:
Salin kod Kod adalah seperti berikut:

ujian kelas{
awam $str;
}
$obj1=ujian baharu();$obj1->str="obj1"; obj1;
$obj2->str="obj2";
gema $obj1->str;//akan mengeluarkan "obj1"
?>


Sebab $obj1 dan $ obj2 menunjuk ke kawasan memori yang sama, jadi apabila mana-mana objek digunakan untuk mengubah suai nilai pembolehubah ahli, ia akan menjejaskan objek lain.
Tetapi kadangkala, kita perlu membuat salinan objek (dua kawasan memori bebas Pada masa ini, anda boleh menggunakan klon arahan bahasa
Rujuk contoh di bawah; 🎜>

Salin kod
Kod adalah seperti berikut: ujian kelas{ public $str ;
} Contoh:


Salin kod


Kod adalah seperti berikut:
Bapa kelas{ fungsi awam __construct(){ gema "Panggil pembina kelas induk
";
}
}
Anak kelas memanjangkan Bapa {
fungsi awam __construct(){
parent::__construct();//Kaedah 1
// Father::__construct();//Kaedah 2
echo "Panggil pembina subkelas";
}
}
$son=new Son();
?>


Hasil:
Panggil pembina kelas induk
Panggil pembina kaedah subkelas 1 disyorkan untuk fungsi
, atas sebab yang dinyatakan di atas.

instanceof instance





Salin kod
Kodnya adalah seperti berikut:
< ;?php class Rectangle { public $name=__CLASS__; } class Square extends Rectangle {
public $name=__CLASS__
}
class Bulatan{
public $name=__CLASS__;
}
function checkIfRectangle($shape){
if ($shape instanceof Rectangle ){
echo $shape->name; }lain {
gema "Objek ini bukan contoh kelas Rectangle";
}
}
checkIfRectangle(new Square());//Output: Square
checkIfRectangle(new Circle());/ /Output: Objek bukan contoh kelas Rectangle
?>


Nota: __CLASS__ ialah pemalar khas yang digunakan untuk menyimpan nama kelas semasa
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan