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

Bu blogdaki popüler yayınlar

En İyi Açık Kaynak Açık Artırma Yazılımını Nasıl Seçerim?

Dizüstü bilgisayar araç montaj nedir?

Erie yerlileri kim?