با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش #c ، را دنبال می کنند. در قسمت قبل با کلمات کلیدی و انواع آنها آشنا شدید .
در این قسمت قصد داریم شما را با مبحثی مهم به نام اینترفیس در زبان #C آشنا کنیم ، که بسیار جذاب خواهد بود.
یک interface در #C شامل متد ها، خواص و رویدادهایی است، اما پیاده سازی نمی شود.
پیاده سازی و اجرای آن برای تمام زیرمجموعه ها وظیفه کلاس است .
یک رابط کاربری ساده نقش مهمی در قابل فهم و درک بودن برنامه دارد.
در #C ، یک رابط را می توان با استفاده از کلمه کلیدی interface تعریف کرد. به عنوان مثال، کدهای زیر یک رابط ساده برای نمایش پیام هنگام ورود به سیستم است:
1 2 3 4 | interface ILog { void Log(string msgToLog); } |
حالا کلاس های مختلف می توانند ILog را با پیاده سازی متد Log اجرا کنند.
مثلا کلاس ConsoleLog رشته ای را در کنسول چاپ می کند .
در حالی که FileLog رشته را در یک فایل متنی ذخیره می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class ConsoleLog: ILog { public void Log(string msgToPrint) { Console.WriteLine(msgToPrint); } } class FileLog :ILog { public void Log(string msgToPrint) { File.AppendText(@"C:\Log.txt").Write(msgToPrint); } } |
حالا شما می توانید یک شی از کلاس ConsoleLog یا FileLog را ایجاد کنید:
1 2 3 4 5 | ILog log = new ConsoleLog(); //Or ILog log = new FileLog(); |
شما می توانید اینترفیس را به صراحت با پیشوند نام و متد مورد نظر در آن، به صورت زیر اجرا کنید:
1 2 3 4 5 6 7 | class ConsoleLog: ILog { public void ILog.Log(string msgToPrint) // explicit implementation { Console.WriteLine(msgToPrint); } } |
پیاده سازی صریح وقتی که کلاس چندین اینترفیس را اجرا می کند مفید است، برنامه قابل فهم و سردرگمی را از بین می برد.
برای اطلاعات بیشتر در مورد اینترفیس ها در زبان #C از MSDN بازدید کنید.
چند نکته مهم :
در این بخش در مورد اینترفیس ها در زبان #C صحبت کردیم .
در قسمت بعدی آموزش ، عملگرها در این زبان را شرح داده و درباره آنها توضیح می دهیم