Soyut Sınıf ve Arayüz Arasındaki Fark

Soyut Sınıf ve Arayüz

Soyut sınıf (veya tip), program tarafından beyan edilen tipli tipte bir sistemdir. İsim böyle ima etse de, soyut bir sınıf soyut yöntemler veya özellikler içerebilir veya içermeyebilir. Ayırma sınıfı, soyut türleri uygulamak için kullanılabilecek farklı dil yapılarını ifade eder. Soyut sınıflar, en iyi nesne yönelimli programlama ile devam eden bir tasarım sorunu ve bitmemiş doğaları ile karakterize edilebilir.

Arayüz, sınıfların bir arayüz belirtmek için (genel olarak konuşursak) uygulaması gereken soyut bir türdür. Arabirimler yalnızca yöntem imzaları ve sabit bildirimler içerebilir (hem statik hem de son), asla yöntem tanımları içermez. Arabirimler birden fazla miras simüle eder ve çeşitli sınıf türleri arasında paylaşılan benzerlikleri kodlamak için kullanılır.

Soyut türler çeşitli şekillerde oluşturulabilir, belirtilebilir veya simüle edilebilir. Bir programcı özet türünü açıkça kullanarak, sınıf tanımına bir veya daha fazla yöntem ekleyerek, sınıf tanımını tamamlamak için gerekli eksik özellikleri geçersiz kılmadan başka bir soyut türden miras alarak veya nesneye yönelik belirli bir yöntem göndererek soyut türleri belirtebilir yöntemi olarak doğrudan uygulanmayan programlama dili.

Arayüzler soyut yöntemler kullanılarak tanımlanabilir. Sınıflar arayüzlerde de uygulanabilir. Bir sınıf bir arabirim uygular ve tüm yöntemlerini uygulamıyorsa, belirteci özeti kullanılmalıdır, aksi takdirde bu belirtici gerekli değildir (çünkü tüm arabirimler kendiliğinden soyuttur). Sınıflar ayrıca birden fazla arabirim uygulayabilir.

Arayüzler genel arayüzleri belirtmek için kullanılırken, protokolü tanımlamak ve uygulamak için soyut tipler kullanılabilir (bu, istenen protokolü uygulayan tüm nesnelerin desteklemesi gereken bir dizi işlemdir). Soyut tipler alt tiplemeden dillerde meydana gelmez. Bu tür alt türler, program yürütmenin doğruluğunu sağlamak için gerekli tüm işlevleri uygulamaya zorlanır. Soyut türlerin yaratılabileceği birkaç yol vardır: tam soyut temel sınıflar ya açıkça soyut olarak bildirilen ya da soyut (uygulanmayan) yöntemler içeren sınıflardır; Yaygın Lisp Nesne Sistemleri, Lezzetler sistemine dayanan karışımları; Java, elbette; ve Smalltalk'ın bir uzantısı olarak işlev gören Özellikler.

Özet:
1. Soyut sınıflar (veya türleri) deklarasyon programları; arabirimler, arabirimlerinin belirtilmesi için tüm sınıfların uygulaması gereken soyut türlerdir.
2. Soyut türler anahtar kelime kullanılarak açıkça belirtilebilir; arayüzler doğası gereği soyuttur, bu nedenle (belirli bir sınıf bir arabirim uygulamadığı, ancak tüm yöntemlerini uygulamadığı sürece) anahtar sözcük kullanılarak hiç belirtilmesi gerekmez..