رایگان: همین الان رتبه‌ ارشدت رو تخمین بزن! کافیه عضو این بات تلگرامی رایگان بشین و دقیق‌ترین تخمین از رتبه‌تون رو دریافت کنین.
عضویت در بات تخمین رتبه
کنکور کامپیوتر
0
ورود | ثبت نام
نظرات
اشتراک
بالا
علاقه‌مندی

اشتراک
 

اینترفیس در سی شارپ – Interface ها در زبان سی شارپ

این مقاله عالی به معرفی اینترفیس در سی شارپ پرداخته و سپس نکاتی پیرامون interface در #C و علت استفاده از interface در زبان #C را بررسی کرده

اینترفیس چیست‌؟

یک interface یا واسط، یک مفهومی است که به تعریف متدها بدون پیاده سازی آنها می‌پردازد، بنابراین می‌توان گفت که از یک جهت بسیار شبیه به کلاس های انتزاعی یا Abstract است. کلاس‌های مختلف می‌توانند از این اینترفیس‌ها ارث بری کنند و به پیاده سازی منطق آن بپردازند. یک interface می‌تواند شامل تعریف متد ها (Methods)، خصیصه ها (Properties) و رخداد ها (Events) باشد، اما نمی‌تواند دارای فیلد (اعضای خصوصی) باشد. استفاده از interface ها کار پیاده سازی منطق در برنامه را آسان‌تر کرده و خوانایی کد‌ها را افزایش می‌دهد. پیاده سازی منطق در interface ها یکی از اصول طراحی SOLID نیز است، همچین در برنامه نویسی شی گرابرنامه نویسی شی گرا چیست؟ شی گرایی چیست؟برنامه نویسی شی گرا چیست؟ شی گرایی چیست؟این صفحه عالی به معرفی برنامه نویسی شی گرا پرداخته و توضیح داده شی گرایی یا همان object oriented یا OPP چیست؟ همچنین مزایای برنامه نویسی شی گرا را بیان کرده نیز به شدت مورد استفاده قرار می‌گیرد.

اینترفیس در سی شارپ

یکی از دلایل اصلی استفاده از interface در زبان #C این است که زبان سی شارپ برخلاف زبان C++‎برنامه نویسی سی پلاس پلاس چیست؟ مزایای برنامه نویسی C++‎؟برنامه نویسی سی پلاس پلاس چیست؟ مزایای برنامه نویسی C++‎؟برنامه نویسی سی پلاس پلاس چیست و چه کاربردی دارد؟ این صفحه عالی به بررسی مزایای برنامه نویسی C++ پرداخته و نمونه هایی از کدهای زبان برنامه نویسی ++C را آورده امکان ارث‌‌ بری چندگانه (Multiple Inheritance) ندارد و تنها از 1 کلاس می‌تواند ارث بری کند. پیاده سازی واسط (interface) در زبان #C به وسیله‌ی سینتکس رزرو شده‌ی “interface” انجام می‌پذیرد. به طور قراردادی، معمولا در زبان سی شارپ، نام interface ها را با I (آی بزرگ) شروع می‌کنند. به عنوان مثال فرض کنید می‌خواهیم یک interface برای حیوانات ایجاد کنیم، کد ایجاد این واسط (interface) به صورت زیر خواهد بود:

interface IAnimal
{
void animalSound(); // interface method (does not have a body)
}

در اینجا ما اینترفیسی با نام IAnimal ایجاد کردیم که در آن یک متد با نام animalSound وجود دارد که مقدار برگشتی آن از نوع void (یعنی متد چیزی Return نمی کند) است. همانطور که مشاهده می‌کنید، هیچ پیاده سازی برای این متد انجام نشده است زیرا اینترفیس animal یک تعریف انتزاعی است. اکنون کلاس‌های دیگر می‌توانند از این اینترفیس ارث بری کرده و به پیاده سازی متدهای آن بپردازند. به کد زیر توجه کنید:

class Cat : IAnimal
{
  public void animalSound()
  {
	// The body of animalSound() is provided here
	Console.WriteLine("Miow Miow !!");
  }
}
class Dog : IAnimal
		
{
   public void animalSound()
   {
	 // The body of animalSound() is provided here
	 Console.WriteLine("Whoof Whoof !!");
   }
}

در کد بالا دو کلاس Cat و Dog واسط IAnimal را پیاده سازی شده است، که هرکدام از این کلاس‌ها، با توجه به منطق مشخص خودشان، عملیات پیاده سازی را انجام داده‌اند. به عنوان مثال کلاس Cat صدای حیوان را به صورت Miow پیاده سازی کرده است و کلاس Dog به صورت Whoof.

اکنون اگر متد animalSound را در شی‌های ساخته شده از کلاس Cat و Dog صدا بزنیم با نتایج مختلفی روبرو می‌شویم:

internal class Program
{
  static void Main(string[] args)
  {
	Cat persianCat = new Cat();
	Dog shiba = new Dog();
	persianCat.animalSound();
	shiba.animalSound();
  }
}

خروجی این کد به صورت زیر است:

خروجی کد بالا را نمایش میدهد

توجه شود به علت اینکه کلاس‌های Cat و Dog از اینترفیس IAnimal ارث بری کرده‌اند، می‌توان مستقیما به جای ذکر کردن نام کلاس، از نام اینترفیس نیز استفاده کرد:

IAnimal persianCat = new Cat();
IAnimal shiba = new Dog();

دوره برنامه نویسی سی شارپ

C# یک زبان برنامه‌نویسی سطح بالا، ساده، پیشرفته، محبوب، پرکاربرد، بروز و زیبای دنیای کامپیوتر است. این زبان در ایران و سایر کشورهای جهان بازار کار قابل‌توجهی دارد و جزء 5 زبان برتر و پول‌ساز دنیا می‌باشد. در این دوره عالی شما بطور کامل و با زبانی ساده سی شارپ را یاد خواهید گرفت.

چه چیزهایی در این دوره یاد می‌گیرید

برنامه‌نویسی گام‌به‌گام با زبان C#
استفاده از محیط برنامه‌نویسی Visual Studio .NET 2022
برنامه‌نویسی در محیط کنسول
برنامه‌نویسی در محیط گرافیکی
اصول برنامه‌نویسی به زبان C#
استفاده از کتابخانه .NET

نمونه فیلم‌هایی از جلسات برنامه نویسی سی شارپ

خوش‌ آمد گویی و آشنایی با C#

نصب Visual Studio .NET

آشنایی با Console Application

آشنایی با Windows Form Application

متغیرها - اعداد اعشاری و ممیز شناور

دستورهای while & do while

اصلاح خطا حین اجرا

انتقال پارامترها به توابع

مدیریت حافظه

اعداد تصادفی در .NET

خوش‌ آمد گویی و آشنایی با C#
نصب Visual Studio .NET
آشنایی با Console Application
آشنایی با Windows Form Application
متغیرها - اعداد اعشاری و ممیز شناور
دستورهای while & do while
اصلاح خطا حین اجرا
انتقال پارامترها به توابع
مدیریت حافظه
اعداد تصادفی در .NET

نکاتی پیرامون interface در #C

جمع بندی

اینترفیس (Interface) یکی از بخش های مهم در برنامه نویسی شی گرابرنامه نویسی شی گرا چیست؟ شی گرایی چیست؟برنامه نویسی شی گرا چیست؟ شی گرایی چیست؟این صفحه عالی به معرفی برنامه نویسی شی گرا پرداخته و توضیح داده شی گرایی یا همان object oriented یا OPP چیست؟ همچنین مزایای برنامه نویسی شی گرا را بیان کرده است و بسیاری از اصول برنامه نویسی مانند طراحی SOLID به نوشتن برنامه‌های اینترفیس محور تاکید کرده‌اند، در این مقاله به طور کامل به بحث در مورد اینترفیس‌ها پرداختیم و با نحوه ی پیاده سازی آن آشنا شدیم، همچنین نکاتی که هنگام استفاده از اینترفیس باید به خاطر داشته باشید نیز گردآوری شده‌اند.

اینترفیس (interface) چیست‌؟

یک interface یا واسط، یک مفهومی است که به تعریف متد‌ها بدون پیاده سازی آنها می‌پردازد. بنابراین می‌توان گفت که از یک جهت بسیار شبیه به کلاس‌های انتزاعی یا Abstract است. کلاس‌های مختلف می‌توانند از این اینترفیس‌ها ارث بری کنند و به پیاده سازی منطق آن بپردازند. 

علت استفاده از interface در زبان #C چیست‌؟

با استفاده از اینترفیس‌ها می توان منطق یک برنامه و یک مفهوم مشترک را تعریف کرد و در واقع متد‌های قرار گرفته در interface همانند پروتکل‌هایی می باشند که کلاسی که این interface را پیاده سازی کرده، ملزم به پیاده سازی تمامی آن‌ها است. از دیگر علت وجود interface در زبان #C این است که زبان #C خاصیت Multiple Inheritance یا ارث‌بری چند گانه ندارد.

نمونه فیلم‌های دوره‌های مهارتی

دوره‌های مهارتی رشته کامپیوتر

امتیازدهی5 1 1 1 1 1 1 1 1 1 15.00 امتیاز (4 رای)
اشتراک
بارگذاری نظرات
تلگرام اینستاگرام تماس با پشتیبانی: 09378555200 تماس با پشتیبانی: 09378555200