Soyut sınıf ve C # arabirimi arasındaki fark

Soyut Sınıf

Soyut sınıf, yalnızca diğer sınıfların temel sınıfı olmayı amaçlayan sınıftır. 'Abstract' değiştirici bir sınıf soyutlaması yapmak için kullanılır. Soyut bir değiştirici, ondan türetilen sınıfta uygulanması gereken bazı eksik uygulamaların olduğunu gösterir. Soyut sınıfın soyut ve soyut olmayan üyeleri olabilir. Soyut bir sınıf en az bir soyut yönteme sahip olmalıdır, aksi takdirde o sınıfı 'soyut' olarak ilan etmenin bir anlamı yoktur.

C # 'da Soyut Sınıf Örneği:
Yukarıdaki örnekte gösterildiği gibi, MyCircle sınıfındaki soyut yöntem 'Area' türetilmiş MyArea sınıfında geçersiz kılınır.

Arayüz

Bir arabirim yalnızca yöntemler, özellikler, olaylar veya dizinleyiciler dahil olmak üzere üyelerin bildirimini içerir. Bu üyelerin uygulanmasını içermez. Arabirimi uygulayan bir sınıf veya yapı, arabirimde bildirilen yöntemlerin tanımını sağlamalıdır. Bu, bir arayüzün türetilmiş sınıfın izlemesi gereken standart bir yapı sağladığı anlamına gelir.

C # 'da Arayüz Örneği:
Yukarıdaki örnekte gösterildiği gibi, MyData arabiriminin iki yöntem bildirimi getdata () ve showdata () vardır. Bu arabirimi uygulayan NameData sınıfı, MyData arabiriminde bildirilen yöntemlerin tanımını vermelidir.

Abstract sınıfı ve Arayüz Arasındaki Fark

  1. Soyut bir sınıfın hem soyut hem de soyut olmayan üyeleri olabilir. Ancak, bir arayüzde, tüm üyeler dolaylı olarak soyuttur ve türetilmiş sınıfta geçersiz kılınmalıdır.
  2. Bir sınıf birkaç arabirimi miras alabilir ancak yalnızca bir soyut sınıf.
  3. Soyut bir sınıf, tanımı olan veya tanımlayan yöntemler içerebilir. Ancak, bir arabirim yalnızca yöntem imzası içerebilir.
  4. Soyut bir sınıf tamamen, kısmen veya hiç uygulanamaz, ancak bir arayüz tamamen uygulanmalıdır, yani tüm üyeler türetme sınıfında tanımlanmalıdır.
  5. Bir arabirim erişim değiştiricileri içeremez, ancak soyut bir sınıf bunu işlevler, özellikler veya olaylar için alabilir.
O