Haskell'i öğrenirken, Haskell'den kaynaklanan harika bir icat olduğu varsayılan yazı sınıfını fark ettim .
Bununla birlikte, Wikipedia sayfasında type sınıfında :
Programcı, sınıfa ait her tür için var olması gereken ilgili türleriyle birlikte bir dizi işlev veya sabit isim belirleyerek bir tür sınıfını tanımlar.
Bana göre Java Arayüzüne oldukça yakın görünüyor ( Wikipedia Arayüzü (Java) sayfasından alıntı ):
Java programlama dilindeki bir arabirim, sınıfların uygulaması gereken bir arabirimi (terimin genel anlamıyla) belirtmek için kullanılan soyut bir türdür.
Bu ikisi oldukça benzer görünür: tür sınıfı, bir türün davranışını sınırlarken, arabirim bir sınıfın davranışını sınırlar.
Haskell'deki tip sınıfı ile Java'daki arayüz arasındaki farklar ve benzerlikler nelerdir merak ediyorum, ya da belki temelde farklılar?
DÜZENLEME: Haskell.org'un bile benzer olduklarını kabul ettiğini fark ettim . Çok benziyorlarsa (ya da öyle mi?), O zaman neden tür sınıfına bu kadar heyecan veriliyor?
DAHA FAZLA DÜZENLEME: Vay canına, pek çok harika yanıt! Sanırım topluluğun hangisinin en iyisi olduğuna karar vermesine izin vermem gerekecek. Bununla birlikte, cevapları okurken, hepsi sadece "typeclass'ın yapabileceği pek çok şey vardır ve arayüzün jeneriklerle baş edemeyeceği veya başa çıkması gerekmediği" gibi görünüyor . Yardımcı olamıyorum ama merak ediyorum, tip sınıfları yapamazken arayüzlerin yapabileceği bir şey var mı? Ayrıca, Wikipedia'nın ilk olarak tip sınıfının 1989 tarihli makalesinde icat edildiğini iddia ettiğini fark ettim * "Geçici polimorfizm nasıl daha az geçici hale getirilir", Haskell hala beşiğinde iken, Java projesi 1991'de başlatılmış ve ilk olarak 1995'te piyasaya sürülmüştür. Yani belki typeclass arabirimlere benzemek yerine, tam tersi, arabirimler typeclass tarafından etkilenmiştir?Bunu destekleyen veya çürüten herhangi bir belge / belge var mı? Tüm cevaplar için teşekkürler, hepsi çok aydınlatıcı!
Tüm girdiler için teşekkürler!