Rumah >pembangunan bahagian belakang >masalah PHP >Apakah sifat statik dan kaedah statik dalam php
Dalam PHP, atribut ahli dan kaedah ahli yang diubah suai oleh kata kunci statik dipanggil atribut statik dan kaedah statik Sintaks untuk mengakses atribut statik dan kaedah statik ialah "nama kelas::$atribut statik" dan "nama kelas. ::staticmethod()".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Dalam PHP, diubah suai oleh kata kunci statik Sifat ahli dan kaedah ahli dipanggil sifat statik dan kaedah statik Di sini mereka boleh dirujuk secara kolektif sebagai ahli statik dalam kelas adalah berbeza daripada ahli statik tidak akan dijadikan objek, iaitu katakan Kami boleh mengakses ahli statik melalui kelas tanpa membuat instantiating kelas.
Mudah untuk mengisytiharkan pembolehubah statik dalam kelas Kita boleh menambah kata kunci statik sebelum ahli biasa kelas untuk menukar ahli biasa ini menjadi ahli statik. Dengan cara ini, kita boleh mengakses ahli statik ini secara langsung dalam kelas tanpa membuat instantiating kelas. Format sintaks untuk mengakses ahli statik adalah seperti berikut:
类名::$静态属性 类名::静态方法()
di mana simbol ::
dipanggil operator resolusi skop, yang digunakan untuk mengakses ahli statik, kaedah statik dan pemalar, dan juga boleh digunakan untuk mengatasi ahli dalam kelas dan kaedah.
Jika anda ingin mengakses sifat statik dalam kaedah ahli di dalam kelas, cuma tambah operator self::
sebelum nama sifat statik.
Berikut menunjukkan takrifan ahli statik melalui contoh mudah:
<?php header("Content-type:text/html;charset=utf-8"); class Website { static public $name = 'PHP中文网<br>'; public $title = 'PHP教程'; public static function url() { echo self::$name; echo 'https://www.php.cn/<br>'; echo $this -> title; } } Website::url(); ?>
Hasil larian adalah seperti berikut:
Nota: Dalam kaedah statik, hanya pembolehubah statik boleh dipanggil, dan pembolehubah biasa tidak boleh dipanggil manakala kaedah biasa boleh memanggil pembolehubah statik.
Menggunakan ahli statik, selain menghapuskan keperluan untuk membuat instantiat objek, fungsi lain adalah untuk masih menyimpan data statik yang diubah suai selepas objek dimusnahkan supaya ia boleh digunakan pada masa akan datang apa yang kami perkenalkan sebelum ini Pembolehubah statik adalah serupa.
[Contoh] Isytiharkan pembolehubah statik $num, kemudian isytiharkan kaedah, panggil pembolehubah statik di dalam kaedah dan tambah 1 pada nilai pembolehubah kemudian nyatakan objek dalam kelas, dan akhirnya, panggil kaedah.
<?php header("Content-type:text/html;charset=utf-8"); class Website { static public $num = 0; public function add() { echo '$num 的值为:' . self::$num; self::$num++; } } $num1 = new Website(); $num1 -> add(); echo '<br>'; $num2 = new Website(); $num2 -> add(); ?>
Keputusan yang dijalankan adalah seperti berikut:
Ahli statik tidak perlu membuat instantiate objek Ruang memori telah diperuntukkan apabila kelas berada dimuatkan buat kali pertama Jadi memanggil ahli statik secara langsung adalah lebih pantas. Walau bagaimanapun, jika terlalu banyak ahli statik diisytiharkan, ruang akan diduduki sepanjang masa, yang akan menjejaskan kelajuan berjalan sistem.
Nota:
Subkelas boleh mengatasi kaedah statik kelas induk.
Untuk mengakses pembolehubah statik dalam kaedah, anda perlu menggunakan simbol :: Anda tidak boleh menggunakan $this;
Kaedah statik dan pembolehubah statik akan diwarisi oleh subkelas. .
Pembolehubah statik tidak boleh diakses oleh ->
, tetapi oleh ::
(double colon)
Objek boleh terus memanggil pembolehubah statik melalui nama objek-> kaedah Ahli, ini sama seperti memanggil kaedah biasa.
Kajian yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah sifat statik dan kaedah statik dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!