Prinsip Terbuka/Tertutup (Open/Closed Principle, OCP) menyatakan bahwa entitas software seharusnya terbuka untuk perluasan tetapi tertutup untuk modifikasi: Anda harus menambah perilaku baru dengan menambahkan kode baru, bukan dengan mengedit kode yang sudah ada dan teruji.
Mengapa ini penting
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
