DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

sınıf tabanlı ve prototip tabanlı

Sınıf tabanlı dil ve prototip tabanlı dil arasındaki fark, nesne yönelimli programlama yapmak için kullandıkları paradigmalardır. Nesne yönelimli programlama, veri ve işlevleri bir arada tutan nesneler adı verilen soyutlamalar kullanarak programlama yapmaktır1.

Sınıf tabanlı dil, nesnelerin sınıflar adı verilen şablonlardan oluşturulduğu bir paradigmadır. Sınıflar, nesnelerin ortak özelliklerini ve davranışlarını tanımlar. Sınıflar arasında kalıtım adı verilen bir ilişki kurulabilir. Kalıtım, bir sınıfın başka bir sınıfın özelliklerini ve davranışlarını miras almasını sağlar. Sınıf tabanlı dillerde, nesnelerin türü sınıflar tarafından belirlenir. Popüler sınıf tabanlı diller arasında Java, Python ve C++ bulunur.
**
**Prototip tabanlı dil, nesnelerin prototipler adı verilen var olan nesnelerden klonlanarak oluşturulduğu bir paradigmadır. Prototipler, nesnelerin özelliklerini ve davranışlarını tanımlar. Prototipler arasında delegasyon adı verilen bir ilişki kurulabilir. Delegasyon, bir nesnenin başka bir nesneye özellik veya davranış sormasını sağlar. Prototip tabanlı dillerde, nesnelerin türü prototipler tarafından belirlenir. Popüler prototip tabanlı diller arasında JavaScript, Lua ve Self bulunur.

Özetle, sınıf tabanlı dil ve prototip tabanlı dil arasındaki fark, nesnelerin nasıl oluşturulduğu ve nasıl ilişkilendirildiğidir. Sınıf tabanlı dil, nesneleri sınıflardan türetir ve kalıtım ile ilişkilendirir. Prototip tabanlı dil, nesneleri prototiplerden klonlar ve delegasyon ile ilişkilendirir.

Top comments (0)