Materi inatec kelas XI 21-09-2019 Sesi 5

admin
Arief Siswanto
2019-09-21 09:18:34

Abstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya. Di dalam abstract class umumnya akan memiliki abstract method.

intinya abstract class tidak bisa dipanggil karena dia sifatnya adalah parent class atau class ayah. contoh peerapan abstract class:

<?php

namespace app\models;

abstract class MasterSegitiga{
    abstract public function hitungLuas();
    
    abstract public function hitungKeliling();
}

class Segitiga extends \app\models\MasterSegitiga{
    public $alas;
    public $tinggi;
    
    public $sisiA;
    public $sisiB;
    public $sisiC;

    public function hitungKeliling() {
        return ($this->sisiA + $this->sisiB + $this->sisiC);
    }

    public function hitungLuas() {
        return ($this->alas * $this->tinggi) / 2;
    }

}

$segitiga = new Segitiga();
var_dump($segitiga);

jika dijalan kan akan menghasilkan:


object(app\models\Segitiga)#1 (5) {
  ["alas"]=>
  NULL
  ["tinggi"]=>
  NULL
  ["sisiA"]=>
  NULL
  ["sisiB"]=>
  NULL
  ["sisiC"]=>
  NULL
}

dan jika kita memaksan menjalankan master class dengan cara berikut:

$masterSegitiga = new MasterSegitiga();

maka akan muncul error seperti ini:

Fatal error: Cannot instantiate abstract class app\models\MasterSegitiga in C:\xampp\htdocs\labs\oop\models\segitiga.php on line 32
Showing 1-6 of 6 items.
Juan.wmv
Juan Christian
2019-09-21 09:44:17

abstract class cuma bisa di extends kan ya? ga bisa di instantiate

admin
Arief Siswanto
2019-09-21 09:49:03

ya betul abstract class itu parent class atau class ayah

adev22
Adev Saputra
2019-09-21 09:56:19

Kaga ada penjelasannya

admin
Arief Siswanto
2019-09-21 09:57:44

keposting, harusnya yg ke 4 dulu ini belum siap gw post

admin
Arief Siswanto
2019-09-21 09:58:00

ditunggu updatenya

admin
Arief Siswanto
2019-09-21 10:26:43

terupdate