Open/Closed Principle (OCP)
Open/Closed Principle (OCP) dalam PHP:
Dalam PHP, OCP dapat diterapkan dengan menggunakan warisan (inheritance) dan antarmuka (interface). Dengan menerapkan OCP, kelas-kelas harus terbuka untuk perluasan (oleh berarti dapat diwarisi), tetapi tertutup untuk modifikasi (tidak boleh mengubah perilaku kelas yang ada).
Contoh PHP dengan OCP:
Dalam contoh ini, interface Shape
mendefinisikan metode area()
. Kelas Circle
dan Square
mengimplementasikan antarmuka Shape
dan menyediakan implementasi untuk metode area()
. Jika Anda ingin menambahkan bentuk baru, Anda dapat membuat kelas baru yang mengimplementasikan Shape
tanpa mengubah kelas-kelas yang sudah ada.
Open/Closed Principle (OCP) dalam JavaScript:
Dalam JavaScript, OCP dapat diterapkan dengan cara yang mirip dengan PHP, dengan menggunakan pewarisan dan antarmuka.
Contoh JavaScript (ES6) dengan OCP:
Dalam contoh ini, Shape
adalah kelas dasar yang berisi metode area()
. Circle
dan Square
adalah kelas-kelas turunan yang mewarisi Shape
dan mengimplementasikan metode area()
. Jika Anda ingin menambahkan bentuk baru, Anda hanya perlu membuat kelas baru yang mengimplementasikan Shape
.
Open/Closed Principle (OCP) dalam Golang:
Dalam Golang, OCP dapat diterapkan dengan menggunakan interface dan implementasi interface yang dapat di-extend.
Contoh Golang dengan OCP:
Dalam contoh ini, Shape
adalah interface yang menyatakan metode Area()
. Circle
dan Square
adalah implementasi dari Shape
. Dengan menggunakan interface, kita dapat membuat bentuk baru yang mengimplementasikan Shape
tanpa mengubah kode yang sudah ada.
Dengan menerapkan OCP, kita dapat menambahkan fungsionalitas baru ke dalam sistem tanpa mengubah kode yang sudah ada, memungkinkan perluasan fungsionalitas tanpa memengaruhi perilaku kelas yang ada.
Last updated