Bir Mixin nedir?
Gelen bilgisayar programlama , bir mixin başka sınıf
tarafından devralınan ancak örneklenemez anlamına gelmez bir sınıftır. Tek bir
sınıf birçok mikropları devralabilir, bu yüzden birçok fonksiyon koleksiyonu
kolayca birleştirilebilir. Çoğu ortak programlama dili, mixin metodolojisini
kullanmasına rağmen, C ++ ve Java dahil olmak üzere pek çok şey devlet desteğiyle iş kurmayoktur. Genel olarak, miksler betik dillerinde veya
JavaScript ve Perl gibi betik oluşturma becerisine sahip olan dillerde bulunur
.
Karışımlar, derleme sırasında bir alt sınıfa dahil olmaları
bakımından benzersizdir. Yöntemleri ve sabitleri alt sınıfta yer almaktadır.
Karışım sınıflarının başka bir özel özelliği, yöntemlerin çalışma zamanında
nesneler olarak tanımlanabilmesi ve bunlara bağlanabilmesidir. Çoğu dil,
çalışma zamanı yerine derleme zamanında farklı bir yaklaşım, bağlayıcı ve
tanımlayıcı yöntemler kullanır. Bu çalışma zamanı bağlaması, karışımların çok
esnek olmasını sağlar.
Çoklu kalıtımda yaygın bir sorun, yöntem çağrısında
belirsizliktir ve karıĢımlar bu sorunu çözebilir çünkü bunlar birden fazla
kalıtımla aynı kurallara uymazlar. Örneğin, birden fazla kalıtım, bir "A
elmas kuyruğu" olarak adlandırılabilir, burada bir A sınıfı, B ve C alt
sınıflarına sahiptir ve bir D sınıfı, B ve C sınıflarından miras alır. Bu
senaryodaki problem, bu senaryodaki problemdir. A, B ve C sınıflarındaki aynı
adın tümü, D sınıfı içine miras alınabilir; bu, aynı yöntemin birden fazla
versiyonunu net bir ayrım olmadan yapar. Karışımlar, standart çoklu mirasta
olduğu gibi üzerine yazma girişiminde bulunmak yerine, yöntemin her bir
sürümünü ayrı tutarak bu sorunu çözmektedir.
Karışımlar, kalıt edildikleri sınıflardaki yöntemleri
geçersiz kılmazlar. Örneğin, bir A sınıfı "myMethod" yöntemini
tanımladıysa ve "myMethod" yöntemini de tanımlayan bir mixin B'yi
miras aldıysa, bu yöntemlerin her ikisi de belirsizliğe rağmen çağrılabilir ve devlet desteği hayvancılıkA
sınıfında "myMethod" uygulaması yine de tamamen erişilebilir. Tam
olarak, bu yöntemlerin nasıl çağrılacağı, karışımın uygulandığı dile bağlıdır.
Java gibi miksleri kullanmayan bazı programlama dilleri,
bunları taklit etmek için arabirimler kullanır. Bu dillerdeki arayüzler,
karışımların tam işlevselliğini taklit etmez, çünkü arayüzler yalnızca sabitler
ve yöntem beyanları içerebilir. Diğer taraftan karıĢımlar, tam uygulama
yöntemleri içerebilir. Miksleri desteklemeyen diller genellikle kabaca aynı
şeyi yapmak için koyabilecekleri uygulanabilir alternatiflere sahiptir.
Yorumlar
Yorum Gönder