property
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan PHP di Coddy. Pelajaran 6 dari 91.
property adalah variabel yang dimiliki oleh sebuah class. property menyimpan informasi tentang keadaan object. Di PHP, property harus dideklarasikan di dalam class menggunakan kata kunci visibilitas seperti public.
property dapat memiliki nilai default: setiap object baru dimulai dengan nilai awal yang sama, tetapi setiap object menyimpan salinannya sendiri yang independen:
<?php
class Student {
public $school = "PHP Academy"; // nilai bawaan
public $name;
public $age;
}Property tanpa nilai default dimulai dengan null sampai kamu menetapkannya.
Kamu bisa menetapkan nilai property menggunakan method dan $this:
class Student {
public $school = "PHP Academy";
public $name;
public $age;
public function setInfo($name, $age) {
$this->name = $name; // atur data instance
$this->age = $age; // atur data instance
}
}Buat object siswa dan atur data masing-masing:
$student1 = new Student();
$student2 = new Student();
$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);Akses property:
echo $student1->name . "\n"; // Alice
echo $student2->name . "\n"; // Bob
echo $student1->school . "\n"; // PHP Academy
echo $student2->school . "\n"; // PHP AcademyOutput:
Alice
Bob
PHP Academy
PHP AcademyPerbedaan utama: Property dengan nilai default (seperti $school) dimulai dengan nilai yang sama untuk setiap object. Property yang ditetapkan melalui method (seperti $name dan $age) berbeda untuk setiap object.
Tantangan
MudahLengkapi class Student di student.php:
- Deklarasikan property
$schooldengan nilai default"PHP Academy" - Deklarasikan property
$namedan$age(tanpa nilai default) - Tambahkan method
setInfoyang menerima parameter$namedan$age, lalu menetapkannya menggunakan$this
File driver.php akan menguji class-mu dengan membuat dua student dan mencetak informasi mereka.
Coba sendiri
<?php
require_once 'student.php';
$student1 = new Student();
$student2 = new Student();
$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);
echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengenalan OOPclass vs objectKata Kunci $thismethodpropertyConstructor (__construct)Destructor (__destruct)Ringkasan: Kalkulator Sederhana4Pewarisan
Pewarisan DasarKata Kunci parent::Penimpaan methodKata Kunci finalClass AbstrakRingkasan: Hierarki Karyawan7Enkapsulasi
Public, Protected, PrivateModifier Akses secara MendalamGetter dan SetterPenyembunyian InformasiPromosi Constructor (8.0)Ulasan: Sistem Catatan Siswa2Namespace dan Autoloading
Pengenalan NamespaceKata Kunci useStandar Autoloading PSR-4Autoloader ComposerRingkasan: Proyek yang Terorganisasi5Interface dan Kontrak
Pengenalan InterfaceMengimplementasikan InterfaceImplementasi Beberapa InterfaceInterface vs Abstract ClassPetunjuk Tipe dengan InterfaceRekap: Kalkulator Bentuk8Magic Methods
Pengantar Magic Methods__toString & __debugInfo__get, __set, __isset, __unset__call & __callStatic__clone & Cloning Object__serialize & __unserializeRingkasan: Koleksi Kustom11Sistem Tipe Data dan Penanganan Error
Deklarasi TipeTipe NullableTipe Union dan IntersectionClass ExceptionHierarki Exception KustomTry, Catch, FinallyRekap: Validator Form3Property dalam class
Property instance vs staticKonstanta dalam classMethod & property staticProperty private & protectedProperty readonly (PHP 8.1)Ulasan: Pengelola Rekening Bank6Polimorfisme
Meninjau Kembali Method OverridingPolimorfisme melalui AntarmukaPetunjuk Tipe dan Tipe UnionPengikatan Statis TertundaRangkuman: Pemroses PembayaranLatihan sendiri: Compiler PHP online