Tavsiye, 2022

Editörün Seçimi

Soyut sınıf ve C # Arayüzü Arasındaki Fark

Soyut sınıf
Soyut bir sınıf, yalnızca diğer sınıfların bir temel sınıfı olması amaçlanan bir sınıftır. 'Soyut' değiştirici, sınıf soyut 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 yolu yoktur.

C # 'da Soyut Sınıf Örneği:

soyut sınıf MyCircle {abstract public int Area (); } Sınıf MyArea: MyCircle {public geçersiz kılma int Area () {return side * side; .....}}
1 2 3 4 5 6 7 8 9 10 11soyut sınıf MyCircle {abstract public int Area (); } Sınıf MyArea: MyCircle {public geçersiz kılma int Area () {return side * side; . . . . . }}

Yukarıdaki örnekte gösterildiği gibi, MyCircle sınıfının içindeki 'Alan' soyut yöntemi, türetilmiş MyArea sınıfında geçersiz kılınır.

arayüzey
Bir arayüz sadece yöntemler, özellikler, olaylar veya dizin oluşturucular dahil olmak üzere üyelerin ilanlarını içerir. Bu üyelerin uygulanmasını içermez. Bir sınıf veya yapı, arayüzü uygular, arayüzde belirtilen yöntemlerin tanımını sağlamalıdır. Bu, 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:

System.Collections.Generic kullanarak; System.Linq kullanarak; System.Text kullanarak; ad alanı MyName {public interface MyData {void getdata (); boşluk showdata (); } genel sınıf NameData: MyData {genel çift getdata () {string name; Console.WriteLine ("Adı girin:"); adı = Console.ReadLine (); } public void showdata () {Console.WriteLine ("Benim adım:", isim); }}}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Sistemini kullanarak. Koleksiyonlar Jenerik; Sistemini kullanarak. Linq; Sistemini kullanarak. Metin ; ad alanı MyName {public interface MyData {void getdata (); boşluk showdata (); } genel sınıf NameData: MyData {genel çift getdata () {string name; Konsol WriteLine ("Adı girin:"); name = Konsol. ReadLine (); } public void showdata () {Konsol. WriteLine ("Benim adım:", isim); }}}

Yukarıdaki örnekte gösterildiği gibi, MyData arayüzü iki yöntem bildirimine sahiptir: getdata () ve showdata (). Bu arabirimi uygulayan NameData sınıfı, MyData arabiriminde bildirilen yöntemlerin tanımını vermelidir.

Soyut sınıf ile arayüz arasındaki fark

  1. Soyut bir sınıf, soyut olmayan üyelerin yanı sıra soyut olabilir. Ancak, bir arayüzde, tüm üyeler tamamen soyutdur ve türetilmiş sınıfta geçersiz kılınmalıdır.
  2. Bir sınıf, birkaç arayüzü ancak yalnızca bir soyut sınıfı miras alabilir.
  3. Soyut bir sınıf, tanımlı veya tanımlı yöntemler içerebilir. Ancak, bir arayüz sadece yöntem imzası içerebilir.
  4. Soyut bir sınıf tamamen, kısmen veya tamamen uygulanamaz, ancak bir arayüz tamamen uygulanmalı, yani tüm üyeler türetme sınıfında tanımlanmalıdır.
  5. Bir arayüz erişim değiştiricileri içeremez, fakat soyut bir sınıf fonksiyonlar, özellikler veya olaylar için buna sahip olabilir.
Top