Liskov Substitution Principle (LSP)
Liskov Substitution Principle (LSP) dalam PHP:
Dalam PHP, LSP dapat diterapkan dengan menggunakan pewarisan kelas dan memastikan bahwa subkelas dapat digunakan tanpa mengubah properti atau perilaku yang diharapkan dari kelas dasar.
Contoh PHP dengan LSP:
Dalam contoh ini, kelas Square
adalah subkelas dari Shape
. Meskipun Square
mengubah metode setWidth()
dan setHeight()
untuk memastikan bahwa width
dan height
selalu sama, itu tetap mematuhi Liskov Substitution Principle karena Square
masih bisa digunakan sebagai Shape
tanpa menghasilkan efek samping yang tidak diinginkan.
Liskov Substitution Principle (LSP) dalam JavaScript:
Dalam JavaScript, LSP diterapkan dengan cara yang mirip dengan PHP. Pastikan bahwa subkelas dapat digunakan di mana saja di mana kelas dasar digunakan, tanpa menimbulkan kesalahan atau perilaku yang tidak diharapkan.
Contoh JavaScript (ES6) dengan LSP:
Dalam contoh ini, Square
adalah subkelas dari Shape
dan mematuhi Liskov Substitution Principle karena itu masih memiliki metode area()
yang bekerja sebagaimana mestinya, meskipun hanya menggunakan satu sisi (side
) untuk menghitung area.
Liskov Substitution Principle (LSP) dalam Golang:
Dalam Golang, LSP juga diterapkan dengan cara yang serupa. Pastikan bahwa subkelas dapat menggantikan kelas dasar tanpa mengubah perilaku yang diharapkan dari kelas dasar tersebut.
Contoh Golang dengan LSP:
Dalam contoh ini, Rectangle
dan Square
mengimplementasikan Shape
interface. Kedua jenis bentuk ini dapat digunakan di mana saja di mana Shape
diharapkan tanpa menghasilkan efek samping yang tidak diinginkan. Dengan menggunakan printArea()
, kita dapat mencetak area dari objek Rectangle
dan Square
dengan aman, mematuhi Liskov Substitution Principle.
Last updated