Интерфейсларни таърифлаш Net Framework муҳити учун стандарт интерфейлар


Download 6.22 Kb.
Sana16.10.2023
Hajmi6.22 Kb.
#1704704
Bog'liq
Интерфейсларни таърифлаш

Интерфейсларни таърифлаш. .Net Framework муҳити учун стандарт интерфейлар

Интерфейсларни таърифлаш. .Net Framework муҳити учун стандарт интерфейлар

Interfeys ba'zi funktsional imkoniyatlarni - amalga oshirmasdan usullar va xususiyatlar to'plamini aniqlaydigan ma'lumot turini anglatadi. Ushbu funktsionallik keyinchalik ushbu interfeyslardan foydalanadigan sinflar va tuzilmalar tomonidan amalga oshiriladi.

Interfeysni ta’riflash

  • interface kalit so'zi interfeysni aniqlash uchun ishlatiladi. Odatda, C# interfeys nomlari I bosh harf bilan boshlanadi, masalan, IComparable, IEnumerable (Venger notatsiyasi deb ataladigan), lekin bu talab emas, balki dasturlash uslubining stilidir.
  • Interfeys nimani aniqlay oladi? Umuman olganda, interfeyslar quyidagi ob'ektlarni aniqlashi mumkin:
  • Usullar
  • Xususiyatlari
  • Ko'rsatkichlar
  • Indeksatorlar
  • Statik maydonlar va o‘zgarmaslar (C # 8.0 dan beri)

Interfeysni ta’riflash

  • Ammo, interfeyslar statik bo'lmagan o'zgaruvchilarni aniqlay olmaydi. Masalan, ushbu barcha tarkibiy qismlarni belgilaydigan eng oddiy interfeys:
  • interface IMovable
  • {
  • // konstanta
  • const int minSpeed = 0; // minimal tezlik
  • // static o’zgaruvchilar
  • static int maxSpeed = 60; // maksimal tezlik
  • // metod
  • void Move(); // harakat
  • // xossa
  • string Name { get; set; } // nom
  • delegate void MoveHandler(string message); // delegatni aniqlash
  • event MoveHandler MoveEvent; //
  • }

Interfeysning usullari va xususiyatlari amalga oshirilmasligi mumkin, bunda ular abstrakt usullar va abstrakt sinflarning xususiyatlari bilan birlashadi.

  • Interfeysning usullari va xususiyatlari amalga oshirilmasligi mumkin, bunda ular abstrakt usullar va abstrakt sinflarning xususiyatlari bilan birlashadi.
  • Interfeysni e'lon qilishda yana bir holat: agar uning a'zolari - usullari va xususiyatlari murojaat modifikatorlariga ega bo'lmasa, lekin aslida avtomat tarizda murojaat hisoblanadi, chunki interfeysning maqsadi uni sinf tomonidan amalga oshirish uchun funktsional imkoniyatlarni aniqlashdir.
  • Bu, shuningdek, sinflar va strukturalarda private modifikatoriga ega bo'lgan konstanta va statik o'zgaruvchilarga ham tegishli. Interfeyslarda, ular public modifikatorga ega.
  • C # 8.0-dan boshlab, interfeys standart usul va xususiyatlarni qo'llashni qo'llab-quvvatlaydi. Bu shuni anglatadiki, biz oddiy sinflar va structuralar singari amalga oshiriladigan interfeyslarda to'liq huquqli usul va xususiyatlarni aniqlashimiz mumkin. Masalan, Move usulining standart bajarilishini aniqlaymiz

interface IMovable

interface IMovable

{

public const int minSpeed = 0; // minimal tezlik

private static int maxSpeed = 60; // maksimal tezlik

static double GetTime(double distance, double speed) => distance / speed;

static int MaxSpeed

{

get { return maxSpeed; }

set

{

if (value > 0) maxSpeed = value;

}

}

}

class Program

{

static void Main(string[] args)

{

Console.WriteLine(IMovable.MaxSpeed);

IMovable.MaxSpeed = 65;

Console.WriteLine(IMovable.MaxSpeed);

double time = IMovable.GetTime(100, 10);

Console.WriteLine(time);

}

}


Download 6.22 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling