کلاس ها و روش های خلاصه سی شارپ(C# Abstract Classes and Methods)


انتزاع داده فرآیند پنهان کردن جزئیات خاص و نشان دادن تنها اطلاعات ضروری به کاربر است.

انتزاع را می توان با کلاس های انتزاعی یا
رابط (که در فصل بعدی بیشتر در مورد آنها خواهید آموخت).


کلید کلیدی abstract برای کلاس‌ها و روش‌ها استفاده می‌شود:

  • کلاس Abstract: یک کلاس محدود شده است که نمی توان از آن برای ایجاد اشیا استفاده کرد (برای دسترسی به آن، باید از کلاس دیگری به ارث برده شود).
  • < br>
  • روش Abstract: فقط در یک کلاس انتزاعی قابل استفاده است و بدنه ندارد. بدن توسط
    کلاس مشتق شده (به ارث رسیده از).


یک کلاس انتزاعی می تواند هم متدهای انتزاعی و هم متدهای معمولی داشته باشد:




abstract class Animal 
{
  public abstract void animalSound();
  public void sleep()
{
    Console.WriteLine("Zzz");
  }
}


از مثال بالا، امکان ایجاد یک شی از کلاس Animal وجود ندارد:



Animal myObj = new Animal(); // Will generate an error (Cannot create an instance of the abstract class or interface 'Animal')


برای دسترسی به کلاس انتزاعی، باید از کلاس دیگری به ارث برده شود. بیایید کلاس Animal را که در Polymorphism استفاده کردیم، تبدیل کنیم.
فصل به یک کلاس انتزاعی.



از فصل وراثت به خاطر داشته باشید که ما از استفاده می کنیم
نماد :
برای به ارث بردن از یک کلاس،
و اینکه ما از کلمه کلیدی override برای لغو روش کلاس پایه استفاده می کنیم.




مثال


// Abstract class
abstract class Animal
{
// Abstract method (does not have a body)
public abstract void animalSound();
// Regular method
public void sleep()
{
Console.WriteLine("Zzz");
}
}

// Derived class (inherit from Animal)
class Pig : Animal
{
public override void animalSound()
{
// The body of animalSound() is provided here
Console.WriteLine("The pig says: wee wee");
}
}

class Program
{
static void Main(string[] args)
{
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound(); // Call the abstract method
myPig.sleep(); // Call the regular method
}
}






چرا و چه زمانی از کلاس ها و روش های انتزاعی استفاده کنیم؟


برای دستیابی به امنیت - جزئیات خاصی را پنهان کنید و فقط موارد مهم را نشان دهید
جزئیات یک شی.


توجه: انتزاع را می‌توان با اینترفیس‌ها نیز بدست آورد، که در فصل بعدی بیشتر در مورد آن‌ها خواهید آموخت.