Разлика между абстрактния клас и интерфейса в C #

Абстрактен клас

Абстрактен клас е този, който е предназначен само за да бъде базов клас на други класове. 'Абстрактен' модификатор се използва, за да направи абстрактен клас. Абстрактен модификатор показва, че има някаква липсваща реализация, която трябва да бъде реализирана в класа, извлечен от него. Абстрактният клас може да има абстрактни и не абстрактни членове. Абстрактен клас трябва да има поне един абстрактен метод, в противен случай не се използва обявяването на този клас за "абстрактно".

Пример за абстрактен клас в C #:
Както е показано в горния пример, абстрактният метод 'Area' вътре в класа MyCircle е отменен в производен клас MyArea.

интерфейс

Интерфейсът съдържа само декларацията за членове, включително методи, свойства, събития или индекси. Той не съдържа изпълнението на тези членове. Клас или структура реализира интерфейса, трябва да даде дефиницията на методите, декларирани в интерфейса. Това означава, че интерфейсът осигурява стандартна структура, която трябва да следва производният клас.

Пример за интерфейс в C #:
Както е показано в горния пример, интерфейсът MyData има два метода декларация getdata () и showdata (). Класът NameData, който реализира този интерфейс, трябва да даде дефиницията на методите, декларирани в интерфейса MyData.

Разлика между абстрактния клас и интерфейса

  1. Абстрактният клас може да има абстрактни, както и нео-абстрактни членове. Но в интерфейс всички членове са имплицитно абстрактни и трябва да бъдат отменени в извлечения клас.
  2. Класът може да наследи няколко интерфейса, но само един абстрактен клас.
  3. Абстрактният клас може да съдържа методи с или с дефиниция. Но интерфейсът може да съдържа само подпис на метод.
  4. Абстрактен клас може напълно, частично или изобщо да не се реализира, но интерфейсът трябва да бъде напълно приложен, т.е. всички членове трябва да бъдат дефинирани в деривационния клас.
  5. Интерфейсът не може да съдържа модификатори на достъп, но абстрактен клас може да го има за функции, свойства или събития.