Coba jelasin public interface IReadable dari Konstanta (pemrograman) dong

IValueInterface aValue { get; }

IValueInterface aValue { set; }

get { return _aValue; }

set { _aValue = value as ConcreteValue; }

Kemudian, metode yang didefinisikan memilih antarmuka yang tepat dengan read-only atau membaca / menulis kemampuan:

// Can modify aVariable, so be careful!

Sebuah struktur data constant atau objek yang disebut sebagai "immutable" dalam berorientasi objek bahasa. Sebuah benda yang berubah menganugerahkan beberapa keuntungan dalam perancangan program. Misalnya, mungkin "disalin" hanya dengan menyalin pointer atau referensi, menghindari operasi memakan waktu copy dan menghemat memori.

Bahasa berorientasi objek seperti C + + memperpanjang constantness lebih jauh. Setiap anggota dari struct atau kelas dapat dibuat const bahkan jika kelas tidak. Sebaliknya,  kata kunci memungkinkan anggota kelas untuk diubah bahkan jika objek yang instantiated sebagai .

Bahkan fungsi dapat const di C + +. Makna di sini adalah bahwa hanya fungsi const dapat disebut untuk objek instantiated sebagai const, fungsi const tidak mengubah data non-bisa berubah.

Java memiliki kualifikasi yang disebut  yang mencegah perubahan referensi dan memastikan tidak akan pernah menunjuk ke objek yang berbeda. Hal ini tidak mencegah perubahan pada objek disebut sendiri. Jawa  pada dasarnya setara dengan pointer di C + +. Ini tidak menyediakan fitur lain dari .

C # memiliki kedua  dan yang di kualifikasi, const adalah hanya untuk kompilasi-waktu constant, sementara readonly dapat digunakan dalam konstruktor dan aplikasi runtime lainnya.