بررسی Interfaces در سی شارپ

Interfaces

Interfaces

Interfaces  به معنای یک قرارداد نحوی است که باید تمام کلاس های وارث رابط آنرا دنبال کنند. رابط بخش “چه چیز” قرارداد نحوی را تعریف کرده و کلاس های مشتق شده بخش “چگونگی” آنرا.
رابط ها خواص، متد ها، و اتفاقاتی که اعضای رابط هستند را تعریف میکنند. Interfaces ها فقط حامل اعلان اعضا هستند. تعریف اعضا وظیفه کلاس های مشتق شده میباشد. این امر معمولا در تولید یک ساختار استاندارد که کلاس های مشتق شده دنبال میکنند مفید واقع میشود.
کلاس های مطلق تا حدودی همین هدف را دنبال میکنند، اگرچه، بیشتر گاهی استفاده میشوند که تنها چند کلاستوسط کلاس اساسی اعلان شوند و کلاس مشتق شده اعمال را اجرا میکند.
اعلان رابط ها
رابط ها با کلید واژه interface اعلان میشوند.مشابه اعلان کلاس میباشد. عبارات رابط به طور پیش فرض Public هستند.
کد زیر اعلان یک رابط را مصال میزند:

Interfaces

public interface ITransactions
{
// interface members
void showTransaction();
double getAmount();
}

 

مثال:
مثال زیر پیاده سازی کد بالا را نشان میدهد

 

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;

namespace InterfaceApplication
{
public interface ITransactions
{
// interface members
void showTransaction();
double getAmount();
}

public class Transaction : ITransactions
{
private string tCode;
private string date;
private double amount;
public Transaction()
{
tCode = " ";
date = " ";
amount = 0.0;
}

public Transaction(string c, string d, double a)
{
tCode = c;
date = d;
amount = a;
}

public double getAmount()
{
return amount;
}

public void showTransaction()
{
Console.WriteLine("Transaction: {0}", tCode);
Console.WriteLine("Date: {0}", date);
Console.WriteLine("Amount: {0}", getAmount());
}
}
class Tester
{
static void Main(string[] args)
{
Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);
t1.showTransaction();
t2.showTransaction();
Console.ReadKey();
}
}
}

وقتی کد بالا کامپایل شده و اجرا شود نتیجه زیر را تولید میکند

 


Transaction: 001
Date: 8/10/2012
Amount: 78900
Transaction: 002
Date: 9/10/2012
Amount: 451900


مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    احمدی پاسخ

    تشکر کاربردی بود

    امید پاسخ

    آموزش ها خوبه اما پیشنهادی که دارم اینه که بعضی از اصطلاحات بهتره ترجمه نشه، مثلا نیازی نیست به interface بگیم رابط چون قضیه رو پیچیده و مبهم میکنه
    کلمات دیگه ایی هم تو همین مقاله هست که اگه ترجمه نمی شد بهتر بود

    در نهایت تشکر بابت تهیه این مطالب

      مسعود شریفی پاسخ

      ممنون از پیشنهاد خوبتون.جتما بررسی خواهیم کرد در مطالب بعدی.