Latihan 1 dari materi OOP Lanjutan di PHP — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Starter-nya sudah punya abstract class Bangun dengan method abstract luas(): float, dan empat baris di bawah yang membuat object lalu menulis hasilnya. Biarkan semuanya, tulis dua class di antaranya.
Buat class Lingkaran extends Bangun. Constructor-nya menerima $radius, dan luas() mengembalikan M_PI * $radius * $radius. Pakai konstanta M_PI, jangan mengetik 3.14.
Buat class Segitiga extends Bangun. Constructor-nya menerima $alas dan $tinggi, dan luas() mengembalikan 0.5 * $alas * $tinggi.
Jalankan. new Lingkaran(7) dan new Segitiga(10, 5) dari starter harus menulis dua baris ini:
153.94
25
Baris pertama sudah dibulatkan 2 angka oleh round(..., 2) di starter.
Hint
Bangun itu abstract: dia gak bisa di-new, cuma menetapkan bahwa tiap anaknya wajib punya luas(). Jadi kamu menulis dua class anak yang masing-masing mengisi rumusnya.
Tiap anak ditulis class NamaAnak extends Bangun, punya constructor yang menyimpan ukurannya (constructor property promotion paling ringkas), dan method public function luas(): float dengan rumusnya sendiri.
class Lingkaran extends Bangun { public function __construct(public float $radius) {} public function luas(): float { return M_PI * $this->radius * $this->radius; } } dan Segitiga sama, dengan public float $alas, public float $tinggi, lalu return 0.5 * $this->alas * $this->tinggi;
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...