سلام می خواستم از دوستان در مورد اینترفیس ها بپرسم به زبان ساده که چی است ؟؟
و چگونه از اینتر فیس های سی شارپ استفاده کنم و آیا هر کدام کاربرد خاصی دارند ؟؟؟؟؟؟
اگر در کلاس هایتان مکررا از ویژگی ارث بری استفاده می کنید interface به شما کمک می کند تا بتوانید
بصورت توام از چندین قالب ارث بری کنید، وگرنه استفاده ای ندارند.
interface ها برای برطرف کردن یک محدودیت در زبان #C بکار می روند، اگر شما بخواهید یک کلاس بسازید که
از چند کلاس دیگر ارث بری کند (multiple inheritance) به مشکل بر می خورید چون #C به کلاس شما فقط اجازه
ارث بری از یک کلاس را می دهد. اما در عوض در #C هر کلاسی می تواند از چندین interface ارث بری کند.
البته interface با class تفاوت های زیادی دارد، interface شبیه به یک قالب کلاس است و در آن بجز تعریف کردن
متد ها و مشخصه ها و رخداد ها هیچ چیز دیگری نوشته نمی شود و فاقد هر گونه کد نویسی است.
مثلا این یک interface است، در آن بجز معرفی کردن دو مشخصه هیچ کد دیگری نوشته نشده :
کد:
interface info
{
string serial { get; set; }
DateTime enter { get; set; }
}
این interface به تنهایی کاربری ندارد، نمی توانید از آن شی ای بسازید چون اصلا کدی ندارد و فقط یک قالب
کلی از یک کلاسی است که دو مشخصه دارد.
اگر کلاسی از این interface ارث بری کند باید کد های مربوط به آن دو مشخصه را پیاده سازی کرده باشد :
کد:
class book : info
{
private string _serial = "";
private DateTime _enter = DateTime.Now;
public string serial
{
get
{
return _serial;
}
set
{
_serial = value;
}
}
public DateTime enter
{
get
{
return _enter;
}
set
{
_enter = value;
}
}
}