Show
Saat objek dibuat, semua properti non-privat dari semua kelas induk menjadi milik objek yang baru dibuat ini. Dia tidak tahu properti mana yang menjadi milik kelas tempat pembuatannya, dan properti mana yang menjadi milik induknya
Hanya jika Anda membuat dua objek berbeda, seperti itu (saya menambahkan metode pengambil)
Ketika Anda menulis kode berikut _yaitu, Anda menginisialisasi properti di konstruktor tanpa mendeklarasikannya, php secara internal mendeklarasikannya sendiri. Dan ketika Anda membuat
PHP memungkinkan pengembang untuk mendeklarasikan metode konstruktor untuk kelas. Kelas yang memiliki metode konstruktor memanggil metode ini pada setiap objek yang baru dibuat, sehingga cocok untuk inisialisasi apa pun yang mungkin diperlukan objek sebelum digunakan
Contoh #1 Konstruktor dalam pewarisan
Tidak seperti metode lain, dikecualikan dari yang biasa saat diperpanjang Konstruktor adalah metode biasa yang dipanggil selama instantiasi objek yang sesuai. Dengan demikian, mereka dapat menentukan jumlah argumen yang sewenang-wenang, yang mungkin diperlukan, mungkin memiliki tipe, dan mungkin memiliki nilai default. Argumen konstruktor dipanggil dengan menempatkan argumen dalam tanda kurung setelah nama kelas Contoh #2 Menggunakan argumen konstruktor
Jika kelas tidak memiliki konstruktor, atau konstruktor tidak memiliki argumen yang diperlukan, tanda kurung dapat dihilangkan Konstruktor gaya lamaSebelum PHP 8. 0. 0, kelas di namespace global akan menginterpretasikan metode bernama sama dengan kelas sebagai konstruktor gaya lama. Sintaks itu sudah tidak digunakan lagi, dan akan menghasilkan kesalahan Di kelas namespace, atau kelas apa pun pada PHP 8. 0. 0, metode bernama sama dengan kelas tidak pernah memiliki arti khusus Selalu gunakan dalam kode baru Promosi KonstruktorMulai dari PHP 8. 0. 0, parameter konstruktor juga dapat dipromosikan agar sesuai dengan properti objek. Sangat umum untuk parameter konstruktor ditugaskan ke properti di konstruktor tetapi sebaliknya tidak dioperasikan. Promosi konstruktor memberikan gambaran singkat untuk kasus penggunaan tersebut. Contoh di atas dapat ditulis ulang sebagai berikut Contoh #3 Menggunakan promosi properti konstruktor
Ketika argumen konstruktor menyertakan pengubah visibilitas, PHP akan menafsirkannya sebagai properti objek dan argumen konstruktor, dan menetapkan nilai argumen ke properti. Tubuh konstruktor mungkin kosong atau berisi pernyataan lain. Pernyataan tambahan apa pun akan dieksekusi setelah nilai argumen ditetapkan ke properti yang sesuai Tidak semua argumen perlu dipromosikan. Dimungkinkan untuk mencampur dan mencocokkan argumen yang dipromosikan dan yang tidak dipromosikan, dalam urutan apa pun. Argumen yang dipromosikan tidak berdampak pada kode yang memanggil konstruktor
Baru di penginisialisasiMulai dari PHP 8. 1. 0, objek dapat digunakan sebagai nilai parameter default, variabel statis, dan konstanta global, serta dalam argumen atribut. Objek juga dapat diteruskan ke define() sekarang
Contoh #4 Menggunakan new di penginisialisasi
Metode pembuatan statisPHP hanya mendukung satu konstruktor per kelas. Namun, dalam beberapa kasus, mungkin diinginkan untuk mengizinkan objek dibangun dengan cara yang berbeda dengan input yang berbeda. Cara yang disarankan untuk melakukannya adalah dengan menggunakan metode statis sebagai pembungkus konstruktor Contoh #5 Menggunakan metode pembuatan statis
Konstruktor dapat dibuat pribadi atau dilindungi untuk mencegahnya dipanggil secara eksternal. Jika demikian, hanya metode statis yang dapat membuat instance kelas. Karena mereka berada dalam definisi kelas yang sama, mereka memiliki akses ke metode privat, meskipun bukan dari instance objek yang sama. Konstruktor pribadi adalah opsional dan mungkin masuk akal atau tidak tergantung pada kasus penggunaan Tiga metode statis publik kemudian mendemonstrasikan cara berbeda untuk membuat instance objek
Dalam ketiga kasus tersebut, kata kunci Bagaimana Anda memanggil variabel kelas induk?Untuk memanggil metode kelas induk, kita perlu menggunakan kata kunci super .
Bisakah kita mengakses variabel kelas anak di kelas induk?Ini memiliki semua variabel instan. Satu-satunya aspek yang tidak biasa adalah, dalam definisi metode kelas anak, Anda tidak dapat langsung mengakses variabel instance kelas induk . Misalnya, jika induk memiliki variabel instan tinggi, definisi metode kelas anak tidak akan dapat mengaksesnya secara langsung.
Bagaimana cara mengakses kelas induk di PHP?Untuk memanggil konstruktor kelas induk dari konstruktor kelas anak, Anda menggunakan induk. sintaks __construct(arguments) . Sintaks untuk memanggil konstruktor induk sama dengan metode biasa.
Bagaimana Anda meneruskan data dari kelas induk ke kelas anak?Berikut adalah tiga langkah untuk meneruskan properti ke komponen turunan. . Persiapkan Anak. ts untuk Input eksternal. Siapkan kelas komponen anak (Anak. ts) untuk menerima input eksternal. . Ikat Properti di Induk. html. Pertama-tama, kami memiliki beberapa data di kelas komponen induk kami (Parent. ts). Gunakan Properti pada Anak. html |