1. Интерфейс ұғымы



Pdf көрінісі
бет2/5
Дата05.05.2024
өлшемі381,76 Kb.
#201776
1   2   3   4   5
Байланысты:
11лекция

11.2 Интерфейс синтаксисі 
Міндетті емес элементтері (олар квадрат жақшалармен бӛлінген) бар 
интерфейстің жалпы сипаттамасының жазылу пішімі мына түрде болады: 
[ атрибуттар ] [ спецификаторлар ] interface 
класс_атауы [ : түпкі кластар] 
{ класс_денесі } , 
мұнда, 
атрибуттар – класс туралы қосымша ақпаратты анықтайды
спецификаторлар – кластың құрамдас бӛліктеріне қол жеткізу 
шарттарын анықтайды; 
түпкі кластар – класс мұраланатын аталық түпкі кластар; 
класс денесі – интерфейстік кластың құрамын анықтайды. 
Егер интерфейстің жазылу пішіміне назар салып қарасақ, онда оның 
пішімі қарапайым кластың жазылу пішіміне ұқсас екенін байқауға болады. 
Ӛйткені интерфейс кластың бір түрі болып табылады. 
.NET платформасының кітапханасында интерфейстердің кӛптеген 
түрлері бар, оларды класс мұраланған кезде қосымша қасиеттерге ие болады. 
Мысалы, IComparable интерфейсін қосқан кезде біз объект 
деректерінінің ӛрістерін анықтаймыз (күйге келтіреміз), оларға объекттерді 
салыстыру әдістерін қосуға болады. Тек IComparable интерфейсін қосқаннан 
кейін ғана класс объекттерінде белгілі бір ӛріс бойынша сұрыптауды 
жүргізуге болады. 
IEnumerable және IEnumerator интерфейстерінің іске қосылуы foreach 
конструкциясының кӛмегімен объект ішіндегісін қарап шығу мүмкіндігін, ал 
Icloneable интерфейсі объекттерді клондау мүмкіндігін береді. 
Әрбір интерфейс класты белгілі бір жаңа мүмкіншіліктерді қосыды.
Мысалы, интерфейсті сауда үшін, яғни ағымдағы бағамға сәйкес 
валютаны сату-сатып алу үшін немесе жеңілдіктерді ескере отырып 
коммуналдық қызметтер бойынша түрлі есептеулер үшін құруға болады.


Мысал ретінде мына интерфейсті құрайық: интерфейс әдістерін жүзеге 
асырғанда кластарға музыкалық жазбаларды түрленіруге мүмкіндік береді – 
7 нота мен дыбыс үзілісін 0 мен 7 аралығындағы цифрлерге түрлендіру және 
кері түрлендіруді орындау.
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
namespace WindowsApplication1 

public partial class Form1 : Form 

interface ITextNoti 

string Codirovanie(); 
string Decodirovanie(); 

class MyzikText : ITextNoti 

string text; 
static string[] codeTable = 

"до", "ре", "ми", "фа", "соль", "ля", "си", "пауза" 
}; 
//Конструктор 
public MyzikText(string txt) 

text = txt; 

//Интерфейстерді құру 
public string Codirovanie() 

Boolean ok; 
string rez = ""; 
string[] noti; 
//Төменгі регистрге түрлендіру 
string text1 = text.ToLower(); 
// noti массивінің өлшемі Split әдісі қайтаратын массивтің 
өлшеміне сай болады 
noti = text1.Split(' '); 
for (int i = 0; i < noti.Length; i++) 

ok = false; 
for (int j = 0; j < 8; j++) 
if (noti[i] == codeTable[j]) 
{ ok = true; rez = rez + " " + j.ToString(); } 
if (ok == false) rez = rez + " ?"; 

return rez; 



//нот кестесін қолданып text өрісінің шифрын анықтау 
public string Decodirovanie() 

Boolean ok; 
string rez = ""; 
string[] noti; 
// Төменгі регистрге түрлендіру 
string text1 = text.ToLower(); 
noti = text1.Split(' '); 
for (int i = 0; i < noti.Length; i++) 

ok = false; 
for (int j = 0; j < 8; j++) 
if (Convert.ToInt32(noti[i]) == j) 
{ ok = true; rez = rez + " " + codeTable[j]; } 
if (ok == false) rez = rez + " ?"; 

return rez; 


public Form1() 

InitializeComponent(); 

private void button1_Click(object sender, EventArgs e) 

string a, b; 
a = textBox1.Text; 
MyzikText IcxodText = new MyzikText(a); 
b = IcxodText.Codirovanie(); 
textBox3.AppendText(b + "\r\n"); 

private void button2_Click(object sender, EventArgs e) 

string a, b; 
a = textBox2.Text; 
MyzikText IcxodText1 = new MyzikText(a); 
b = IcxodText1.Decodirovanie(); 
textBox3.AppendText(b + "\r\n"); 



ItextNoti интерфейсін жариялаймыз, оның екі әдісі бар: кодтау (нот 
мәтіні 0 мен 7 аралығындағы сандармен алмастырылады) және декодтау (0 
мен 7 аралығындағы сандармен берілген мәтін нот мәтінімен 
алмастырылады).
interface ITextNoti 

string Codirovanie(); 


string Decodirovanie(); 

Одан кейін интерфейстік класты жариялаймыз, ол интерфейсті 
мұраланады және оның әдістерін орындайды. Қол жетімді интерфейс 
әдістерін іске асырамыз. Қосымшаның кодында интерфейс әдістерінің 
орындалу 
алгоритміне 
түсіндірме 
берілген, 
сондықтан 
қосымша 
түсініктемені беруді қажет етпейді.
Бағдарлама жұмысы 11.1-суретте кӛрсетілген. 
11.1-сурет – Интерфейстік класты қолдану
Қарастырылған мысалда интерфейс пен интерфейстік класты құру 
және қолдану технологиясы кӛрсетілген. 


Достарыңызбен бөлісу:
1   2   3   4   5




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет