Cara Menggunakan Overriding di PHP

Share to

Pengertian Overriding

Overriding OOP PHP – Overriding adalah ketika sebuah subclass mengimplementasikan kembali sebuah method yang sudah didefinisikan pada superclass. Dalam hal ini, subclass memberikan implementasi khusus untuk method tersebut yang berbeda dari implementasi yang diberikan oleh superclass.

Ketika sebuah method dioverride oleh subclass, ketika method tersebut dipanggil pada objek dari subclass, maka implementasi method pada subclass yang akan dijalankan, bukan implementasi method pada superclass. Namun, ketika method tersebut dipanggil pada objek dari superclass, maka implementasi method pada superclass yang akan dijalankan.

Overriding sangat penting dalam konsep inheritance pada pemrograman berorientasi objek, karena memungkinkan subclass untuk memperluas atau mengubah perilaku dari superclass tanpa harus mengubah superclass itu sendiri.

Kelebihan Overrding pada OOP

Ada beberapa kelebihan dari overriding dalam pemrograman berorientasi objek, antara lain:

Memungkinkan subclass untuk memperluas atau mengubah perilaku dari superclass tanpa harus mengubah superclass itu sendiri. Dengan cara ini, superclass tetap bisa digunakan oleh berbagai subclass tanpa perlu melakukan perubahan pada superclass.

Meningkatkan fleksibilitas dalam penggunaan class inheritance. Dengan adanya overriding, subclass dapat menyesuaikan implementasi dari method yang diwarisi dari superclass sesuai dengan kebutuhan subclass.

Memungkinkan penggunaan polimorfisme. Polimorfisme adalah kemampuan untuk menggunakan objek dari berbagai subclass sebagai objek superclass, dan dengan overriding, subclass dapat memberikan implementasi khusus untuk method yang sama pada superclass, sehingga memungkinkan penggunaan polimorfisme.

Mengurangi duplikasi kode. Dengan menggunakan overriding, subclass dapat mewarisi implementasi method dari superclass dan hanya perlu mengubah bagian-bagian tertentu yang diperlukan, sehingga mengurangi duplikasi kode dan mempercepat pengembangan program.

Kekurangan Overriding pada OOP

Meskipun overriding memiliki kelebihan, namun juga memiliki beberapa kekurangan, antara lain:

Overriding dapat menyebabkan kebingungan dan kesulitan dalam pemeliharaan kode. Hal ini terjadi ketika subclass melakukan overriding pada method superclass dan membuat perubahan pada perilaku yang mendasar, sehingga sulit bagi pengembang untuk mengetahui secara pasti perilaku dari method yang dipanggil pada objek.

Overriding dapat menyebabkan pengurangan performa. Jika terlalu banyak method yang di-override, maka hal ini dapat menyebabkan kinerja program menjadi lebih lambat karena harus memeriksa subclass terlebih dahulu sebelum memanggil method dari superclass.

Overriding dapat menyebabkan ketidakcocokan antara superclass dan subclass. Hal ini terjadi ketika subclass melakukan overriding pada method superclass dan membuat perubahan pada perilaku yang mendasar, sehingga tidak sesuai dengan harapan yang diinginkan dari subclass tersebut.

Overriding dapat menyebabkan masalah dengan debugging. Jika subclass melakukan overriding pada method superclass dan terjadi kesalahan dalam implementasi, maka sulit untuk mengetahui di mana letak kesalahan tersebut karena kesalahan tersebut mungkin tersembunyi dalam method subclass.

Karena itu, penggunaan overriding harus dilakukan dengan hati-hati dan bijaksana untuk menghindari masalah yang tidak diinginkan pada program.

Contoh Penggunaan Overriding OOP PHP

Berikut adalah contoh penggunaan overriding pada class Kendaraan dalam pemrograman PHP:

class Kendaraan {
    public function bunyiKlakson() {
        echo "Bunyi klakson kendaraan";
    }
}

class Mobil extends Kendaraan {
    public function bunyiKlakson() {
        echo "Bunyi klakson mobil: tuut...tuut...";
    }
}

class Motor extends Kendaraan {
    public function bunyiKlakson() {
        echo "Bunyi klakson motor: tut..tut..tut...";
    }
}

$kendaraan = new Kendaraan();
$mobil = new Mobil();
$motor = new Motor();

$kendaraan->bunyiKlakson(); // output: "Bunyi klakson kendaraan"
$mobil->bunyiKlakson(); // output: "Bunyi klakson mobil: tuut...tuut..."
$motor->bunyiKlakson(); // output: "Bunyi klakson motor: tut..tut..tut..."

Sumber : www.geeksforgeeks.org/

Related Posts

Mengenal Namespace OOP PHP

Share to

Share toNamespace Namespace di PHP adalah cara untuk mengatur kelompok kelas, antarmuka, fungsi, dan konstanta sehingga nama yang sama dapat digunakan dalam konteks berbeda tanpa konflik.  Fitur…

Konstanta PHP OOP

Share to

Share toKonstanta PHP OOP Konstanta PHP OOP adalah nilai yang tidak dapat diubah selama runtime dari sebuah program. Dalam paradigma pemrograman berorientasi objek (OOP), konstanta dapat didefinisikan…

Static Keyword PHP OOP

Cara Membuat Static Keyword PHP OOP

Share to

Share toStatic Keyword PHP OOP Static Keyword PHP – Dalam pemrograman berorientasi objek (OOP) di PHP, kata kunci static digunakan untuk menunjukkan bahwa suatu properti atau metode…

Metode Setter dan Getter dalam PHP OOP

Share to

Share toMetode Setter dan Getter dalam PHP OOP Setter dan Getter adalah metode yang digunakan dalam Object-Oriented Programming (OOP) untuk mengatur dan mengambil nilai dari properti (atau…

Visibility Atau Access Modifier Dalam PHP

Share to

Share toVisibility dalam Pemrogramman Visibility Atau Access Modifier Dalam PHP – dalam pemrograman merujuk pada tingkat aksesibilitas dari suatu variabel, method, atau class dalam sebuah program. Terdapat…

OOP PHP Pengertian Inheritance

Share to

Share toOOP PHP Pengertian Inheritance ( pewarisan ) Pengertian Inheritance OOP PHP Pengertian Inheritance – Inheritance adalah salah satu konsep dalam pemrograman berorientasi objek (OOP) yang memungkinkan…