C# Тілінің негіздері

Кіріспе 4
1 C# Тілінің негіздері 5
2 C# тілінде объектілі.бағытталған бағдарламалау 8
3 Абстрактілі класстар 11
4 Интерфейстің қолданылумен программалау 14
4.1 Интерфейске сілтеме алу 15
4.2 Интерфейстер мен мұрагерлер 16
5 Реттелген мәндер және мәтінмен жұмыс 19
5.1 Реттелген мәндер 22
6 С# тіліндегі қосымша құралдар. 24
7 Өкілдер және оқиғалар. 27
8 Web . қосымша және ASP.NET құру. 31
Қорытынды 35
Пайдаланылған әдебиеттер тізімі
Microsoft Visual Studio — Майкрософт компаниясының өнімдер тізбегі, құрамына біріктірілген өңдеу ортасы бағдарламалық жасақтамасы және басқа да аспаптық (инструменталды) құралдар кіреді. Аталған өнімдер консольдік қосымшалармен қатар қолданбалы бағдарламалық жасақтамалары да кіреді, мысалы қолданушының графикалық интерфейсі жасақтамасы, сонымен қатар Windows Forms технологиясын қолдану арқылы да, жәневеб-сайт, веб-жасақтамалар, веб-қызметтер Машинелік кодында және басқа Басқарылатын код арқылы даMicrosoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlightқолданатын барлық платформаларға.
1.Самоучитель Microsoft Visual Studio C++ и MFC. Сидорина Т.Л стр 101

2. MS Visual C++ 2010 в среде .NET Зиборов В.В.стр 95-97

3. Мак-Дональд М. WPF Windows resentation foundation в .NET 3.5 с примерами на C# 2008. 2008, 924 стр.

4. Иванов И.И, Проектирование самолетов: учебник для вузов, Высшее образование, 2010, Высшая школа, PDF, OCR, 750 стр.
        
        МАЗМҰНЫ
| |Кіріспе |4 |
|1 |C# ... ... |5 |
|2 |C# ... ... бағдарламалау |8 |
|3 ... ... |11 |
|4 ... ... ... |14 ... ... сілтеме алу |15 ... ... мен ... |16 |
|5 ... ... және ... ... |19 ... ... ... |22 |
|6 |С# ... ... ... |24 |
|7 ... және ... |27 |
|8 |Web – ... және ASP.NET құру. |31 |
| ... |35 ... ... ... Visual Studio — Майкрософт компаниясының өнімдер тізбегі,
құрамына біріктірілген өңдеу ортасы бағдарламалық жасақтамасы және басқа да
аспаптық (инструменталды) құралдар ... ... ... ... ... ... ... жасақтамалары да кіреді,
мысалы қолданушының ... ... ... ... қолдану арқылы да, жәневеб-сайт, веб-
жасақтамалар, веб-қызметтер Машинелік кодында және басқа Басқарылатын код
арқылы даMicrosoft ... ... ... Compact ... Silverlightқолданатын барлық
платформаларға.
1 C# Тілінің негіздері
Орнатылған дерек түрлері, ... ... мен ... ... ... ашу механизмдері, сонымен қатар, символдық ... ... және ашу ... ... ... ... мәндері,
массивтер, тізімдері және құрылымдары бар ... ... тілі ... ... ... ... ... болып
табылады.
Біз C# базалық кластар кітапханасына жүгініп, атаулардың әртүрлі
жүйелік кеңістігін қолданамыз. ... ... ... ... ... ... ... С#-де ауқымды функциясын және ауқымды
айнымалыларын қолдануға болмайды. С#-де ... ... ... түрде
анықталуы мүмкін:
using System;
class Hello
{
public static void ... ... ... ... кез ... ... Main() ... класс анықталуы
керек. Main әдісі қосымшасына қосу кезінде команда жолдарының параметрлерін
қабылдау үшін ... ... ... ... ... ... ... жаңа объектіні құру үшін new сөзін қолдану керек:
using System;
class ... static void ... ... obj = new ... ... кез ... класқа C# компиляторымен автоматты түрде
жабдықталған және ... ... ... ... ... ... ... бойынша конструкторы арқылы құрылыды.
C# тілінде объектілерді жою және жадтың босауы туралы ... ... .NET ... ... түрде босатады.
Нақты қосымшаларды құру кезінде “қызығушылықтың бөлінуі” шығатын ... ... яғни Hello ... Hello Class және Hello Apl ... ... ... бөлу қажет.
Hello Class – әр түрлі операцияларын орындау логикасы жинақтплған
класс, ал Hello Apl. ... ... үшін кіру ... қамтамасыз ететін
класс. Әрбір класқа *.sc жеке файлы қолданылады.
C#-де ... және ... ... ... ... ... ... бар. Құрылымдық түрлеріне барлық сан деректер түрі,
сонымен қатар ... мен ... ... ... ...... ... Құрылымдық түрлерді көшіру барысында бит көшірмесі
тағайындалады, ал сілтеме ... ... сол жады ... ... да бір ... ... айырмашылықтарына қарамастан құрылымдық және сілтеме түрлері
үйреншікті(енгізілген) және қосымшалы интерфейстерін іске ... ... ... ... қасиеттер және оқиғалар кез келген санын қолдай алады.
Осы түрлердің арасындағыайырмашылығын көрсететін ... ... PERSON // ... тип
{public string Name;
public int Age;
};
class Person
{public string Name;
public int Age;
};
class ValRefClass
{public static void Main()
{Person obj 1 = new ... // obj 1 – ... ... r1 = new ... // r1 – ... ... r2 = r1; // r2 ... r1 стектегі
Person obj2 = obj 1; //obj2 – тағы бір ... r1, r2 – ... ... ... стек айнымалылары, ал
obj1, obj2 – динамикалық ... ... ... ... C# ... түрі – бұл System атаулар кеңістігінде
анықталған типі үшін ... ... ... int типі – Int32 ... оңай және ыңғайлы түрі, сондықтан келесі синтаксистік болуы ... ... ... ... ... ... ... – аналық класс: Type, String, Array, Exception,
Delegate – ... ... ... – аналық: Enum, Boolen, Byte, Char, Decimal, Double, Int16,
Int32, Int64, Sbyte, Uint16, Void, Guid, DateTime, TimeSpan, Single.
Кейбәр жүйелік түрлер ... ... ... ... C++ тілінен
айырмашылығы, System.Boolean айнымалы түріне тек қана true немесе false
тағайындауға ... C# ... ... ... үшін тек қана екі ... string және ... - де құрылымдық ... ... ... үшін қарапайым
механизмі қарастырылған. Оны ораушы деп атайды. Осылайша, келесі әрекеттер
жүзеге асады: үймеде жаңа ... ... және оған ... ескі объекттің
ішкі деректері көшіріледі.
short r = 25; object obj = r;
Сілтеменің қайтадан құрылымдық түріне түрлендіруі – нысанды кері ... ... n = (short) ... және ашу операциялары компилятормен автоматты түрде орындалады.
Мысалы, ... ... ... ... ... ... ... айнымалыларға класс жасау кезінде мүшелерге автоматты түрде
үнсісдік бойынша қауіпсіз мәндер тағайындайды, әдістер ішіндегі айнымалылар
үшін, extern ... ... ... ... foreach/in деген жаңа өрнегі бар. Foreach конструкциясы
қарапайым массивтердің барлық элементтерін тізбекті түрде ... ... ... ... мүмкіндік береді.
C#-де кез келген әдіс міндетті түрде класс немесе құрылымның мүшесі
болуы керек. ... ... ... ... қабылдамауы мүмкін,
мәндерді(пайдаланушы немесе енгізілген ... ... ... ... ... және ... ... даналар әдістері болуы мүмкін.
Көп жағдайда, C# құрылымдарын класстардың ерекше бір түрі ретінде
қарастыруға ... ... ... көп ... ... үшін ... анықтауға болады,
парамтрлерді қабылдайтын және қайтарылатын әдістер ... ... ... ... құрылымдар ValueType түрінің туындылары ... ... ... ... атаулар кеңістігінде деректер
типін топтастыру өте пайдалы. C# -де бұл операциясы namespace сөзі арқылы
орындалады. ... ... ... ... ... бөлуге болады, ол
үшін әр түрлі файлдарда бір ... ... ... және оған класстар
анықтауларын орналастыруы жеткілікті. Бұл жағдайда атаулар кеңістігі барлық
типтер үшін контейнер сияқты жұмыс ... C# ... ... ... кластың анықтамасында берілген класс нақты объект ішкі күйін
көрсетеді, ал әдістер объектінің күйімен ... ... ... ... етеді.
C#-тың кез келген класы үнсіздік бойынша конструкторымен ... Егер сіз ... ... ... ... ... онда
үнсіздік бойынша автоматты түрде ... ... және ... ... тура ... ... сияқты, С#-та this сөзі
объектінің ағымдағы данасына сілтеме үшін ... ... үшін ... ... ашық ... бұл ... келесі
мүшелерінен тұра алады: әдістер, қасиеттер және өрістер. Сонымен ... ... ... ашық ... ... ... ... (тип) деңгейінде көру ... ... ... ... ... ... өрісіне қатынау орындалғанда, кластар
мүшелері үшін көру ... ... ... ... ... ... анықтайды.
Кластар – бұл көру кеңістігінің атрибуты бар болатын жалғыз емес
пайдаланушы ... ... Тип – бұл ... ... ... және ... қатынасында қолданылатын жалпы термин. С#-
та барлық дерек типтері өзінің құрастыру шегі үшін жетімді болып ... ... – осы ... үшін ғана ... болады.
С++ тілінде сияқты, С#-та ОББ ... ... іске ...... сияқты өзінің ішкі құрылымдарын жасырады;
мұрагер – кодты ... ... ...... объект типіне
байланысты қажетті іс – ... ... ... ... ... екі ... бар: ... (is-a) классикалық
мұрагерлік және “бар болу” (has-a) – бір класс өз ... ... ... және осы ішкі ... ... бөлігін сыртқы әлемге ашып
беру.
Полиморфизмнің екі негізгі түрі бар: классикалық ... ... ... ... ... басу және ( ad hoc ... ... байланысты емес объектілеріне ұқсас түріне айналуға ... ... ... әсер ету өте ... мұндай объектілердің
әрбірінде бірдей сигнатурасы бар әдіс болу ... ... ... шақырылады.
Сонымен бірге кластың жабық мүшелеріне қатынасу үшін ... ... ... ... ... ... (properties) қолдануға
болады. Қасиеттер кластың ішкі деректеріне ... дәл ... ... ... ... алу ... өзгеріс енгізу кезіндегі
синтаксис кәдімгі ашық айнымалыға қатынасу кезіндегідей көрінеді. ... ... және ... ... көрсетіледі, ал бұл әдістердің
анықтауында кез келген логиканы жүзеге асыруға болады. С#-та ... ... ... – қатынау және өзгеріс блогы. Value қасиет арқылы мәндерді
берген ... ... ... ... ( Value – ... көрсетілсе, ол
да объект болып табылады ).
Мұрагер болудың екінші бір түрі қосындысының үлгісі болып табылады.
Бұл жағдайда қабаттасқан ... үшін көру ... ... ... ... ... сәйкес келетін функцияналдығы және сыртқы
әлемнен тікелей қатынау мүмкін емес ... ... (nested ... ... ... ... – кез ... қабаттасқан түрлердің
объектерін құруға мүмкіндігі бар контейнері.
С#-та қабаттасқан кластар private және public болып белгіленеді.
С#-та virtual және override ... ... ... ... ... ... ... әртүрлі кластар объектілеріне әртүрлі әрекет
ету?”. Virtual сөзі туынды ... ... ... ... ... әдісін
анықтайтын, сонымен қатар бірге бұл базалық класс әдісінің ... Override сөзі ... ... ... ... ... анықтау
қажет болған жағдайда қолданылды, сонымен бірге әрбір ... ... ... ... әдісінің шақыруы қолданылады. Сонымен, туынды
класта ауыстырған әдістің логикасын қайтадан анықтаудың қажеті жоқ: базалық
класта ... ... ... ... ... ... ... жеткілікті. Сонымен әртүрлі ... ... ... – тұрыстары іске асырлады.
Кластардың барлық объектілері үймеде жасалады, сондықтан олармен жұмыс
істеу үшін ... ... ... ... – бұл объектіге қатынауын
ұйымдастыратын және объект жадының адресін сақтауын қабілетті ... ... ... –та жадыны басқаруына Garbage Collector (GC)
жауап береді. Сілтемелермен жұмыс істегенде келесі болмысты есте ... ... ... ... ... ... ... меншіктеуге болады.
Бірақ NET Framework барлық кластар System.Object класынан туындалған. Егер
сіз базалық класты анық ... де бұл ... ... Кез ... ... ... ашық емес туындалған. Демек, объект сілтемесіне
кез келген кластың объектісін иемденуге болады. Бұл ... ... ... ... ... құрғанда және тағы басқа ыңғайлы
болады. ArrayList, ... ... ... ... ... ... класс сілтемесімен жұмыс істегенде объект типіне және оны туынды
типіне өзгерісін ... ... ... ... Ол үшін С#-та as және
is операторлары бар.
Аs операторы қауіпсіз өрнектеуді орындауға ... ... ... null – ды ... Is ... ... мүмкіндігін
тексереді. Оның жұмысының нәтижесі Boolean типінің мәні ... ... ... ... public немесе protected модификаторымен жарияланған
әдістерді қолдануға болады. Туынды ... ... ... ... ... бар: ... қолдауысыз базалық кластың әдісінің орнын
толық басу және ... ... ... класс әдісін артық
жүктелуі. Base ... ... осы ... ... ...... болсын. Base туындалған ұқсас әдісі Der класы болсын. Der
класының құрылымы басқа, сондықтан Compare өз іске ... ... ... ... – осы объектілердің типтері үшін іріктеу әдісін жүзеге
асыру. Осы мақсатқа полиморфизм мүмкіндіктері арқасында іске ... әдіс ... ... онда ... ... сілтеме арқылы “дұрыс”
әдісін шығаруға мүмкіндік береді. “Дұрыс” деген ұғым объектіге ... ... іске ... ... ... жүріс-тұрысын өзгертудің екінші әдісі – оны ... ... ... үшін ... ... new сөзі қолданылады. Ұқсас
артық жүктелуі ... және ... ... үшін ... ... ... класстар
Бұл дәріс "ықтиярсыз полиморфизм" ұғымымен және ол абстрактілі
әдістер мен ... ... ... ... таныстырады. Тек бір
ғана қысқарту әдістері деңгейінде ... ... ... ... C# ... ... ... қарастырамыз, сонымен бірге
орныдау уақытының қателерімен күресу үшін және "басқарылатын ... ... ... ... ... туралы ұсынысты
аламыз.
Кейінірік тағы қарастырылатын интерфейстер іске ... ... ... жиі ... кезінде әдістер бөләгә ... ... ... ... ... ... Осы ... мәлімет сияқты қолданылатын жай класты қолдануға ... ... ... ... "бос" ... қалатын әдістердің іске
асырылуына кепілдік беруге болмайды. C#-та ... ... ... ... бар ... ... ... бұған
сәйкес келмейді. Бұл abstract ... ... ... ... арнайы класстардың түрлері. Егер класс осылай жарияланған
болса, онда оның ... ... ... және ... құру ... ... бірақ одан мұрагерлерлік болуы әбден
мүмкін. Абстрактілі класс абстрактілі кластағы іске ... ... ... бола ... ... іске ... ... түрде болуды
талап етеді. Абстрактілі әдістер де abstract сөзі арқылы жарияланады.
Сонымен ... ... ... ... ... кластар мен
интерфейс ... ... ... ... ... болу ... негізгі кластар мен интерфейс мүмкіндіктерін біріктіреді.
Бірақ ... ... болу ... ... класстарға арналғандай C#-
тегі ереже салдарлары таралады. ... бір ... көп ... ... емес.
Класта абстрактілі деп жарияланған кейін, одан кез ... ... ... ... болады. С++ таза ... ... олар ... ... ... іске ... мүмкіндік береді. Барлық виртуалдық әдістер міндетті түрде
туынды класстарда ... ... ... ... вмртуалды
әдістерді қайдағы бәр туынды класстарға орналастыруға ... ... ... ... ... объектісі үшін виртуалды әдістің
шақырылуы ... бұл әдіс ... ... өз ... ... ... әрбір туынды класстардағы қандай да бір негізгі ... ... ... ... кепілдік беру қажет болса,
онда біз бұл ... ... деп ... ... ... классты абстрактілі әдіске орналастырмасақ, онда ... ... ... ... және бұл ... ... ... құруға
болмайды.
Енді соған сәйкес бұл әдісті ... ... ... ... іске ... ... автоматты түрде таңдалатын болғандықтан C#-
тегі ... ... ... ... болады. Ол үшін
абстрактілі классындағы ... ... ... ... ... ... ... класс сілтемелерін сақтауға болады. ... ... ... бағдарламаның орындалуы, тікелей керек нұсқа ... ... ... ... ... ... ... жүргізу кезінде таңдалады.
С++-те ... орын ... ... қоюға болатын туынды
класстарда тағы бір әдістермен жұмыс ... ... Бұл ... ... ... ... деп ... және ол негізгі және
оның ... ... әдіс ... ... ... тиым
салынуынан тұрады. Бұл іс жүзінде жалғыз әдіс деңгейінде мұрагер болу
қатынасының ... ... C#-та бұл ... үшін ... ... деп ... ... ұсынады.
Оларды қолдану үшін туынды кластағы new кілттік сөзбен басталатын
әдісті табу ... ... ... ... бұл ... ... ... асырулары жасырын болып қалады.
Алайда, егер негізгі кластар үшін ... ... ... бар ... Оны анық ... ... ... жасауға
қажет болған кездегі жағдайларда жиі қолданылады.
С++ бір типтің ... ... тип ... ... асыруға мүмкіндік береді.
Түрге келтірудің бірінші заңы былай айтылады: егер бір ... ... ... табылса, онда негізгі класс объектісі арқылы
әр уақытта туынды ... ... ... ... ... біз ... ... программалық (бағдарламалық)
конструкцияларды қолдана аламыз. Мысалы, өзінің ... түрі және ... осы ... ... ... ... әдіс ... жіберуге
болады. Бұл жағдайда негізгі кластан ... ... ... ... ... ... ... шамамен келтіруі шамамен келтірілген
класстардағыдай ережелермен бағынады. "Үлкен" ... ... ... ... анық ... ... ... IAction cef= (IAction)
объекті.
Ерекшеліктердің өңделуі
.NET олар ... ... мен ... ... арналған және
хабарлама жіберу үшін біртұтас техниканы ... ... ... System. Exception класста өндірілетін объект.
Әдіттегідей, ... ... да бір ... ... ... кезінде ғана бөліп жіеру керек. Кітапханаларда . NET ... ... ... ... енді анықталған.
Мысалы System атындағы кеңістіктерде ArgumentOutOfRangeException,
IndexOutOfRangeException, StackOverflowException ерекшеліктері және
басқалар анықталынған. Басқа кеңістіктердегі ... осы ... ... ... облыстарға жататын ерекшеліктерімен анықталған.
System.Exception-тан туындаған бізге қажетті мүшелердің ерекшелігі
өз жеке классымызды ... ... ... Әрі қарай барлық қажетті catch
ішкі блогында ... ... ... мен ... ... ... негізгі класында анықталған кез ... ... де ... ... ... ол ... ерекше
анықтамалардың толық сипаттамасы мен толық мәліметтің ... ... ... ... ... құру ... қате пайда болған
кезде пайдаланушы класымен тығыз байланысты.
С++-тегі try/ catch блогының кейін ... ... ... немесе
жоқтығына әр уақытта тәуелсіздігі орындалатын міндетті емес ... ... Finally ... ... ... ... түзу
аяқтауымен байланысты жадының ... ... ... мәліметтер мен
көзден өшірілуі, ... ... ... ... ... мен оның ұстап қалуы- бұл тек қана ортақ схема
(сызба), ал нақты ... ... ... ... ... ... әлемдегідей .NET, қоқыс жинақшысы- ол ... біз ... ... ... ... C#-те қоқыс жинаушының жұмысы үшін
System.GC деген класы берілген. Бұл класс sealed ... ... ... көмегімен мүмкін емес одан ... ... ... ... ... ... ... үшін дедукторлардың жұмыс ... ... ... ... шақыруға жүргізіледі.
4 Интерфейстің қолданылумен программалау
Бұл дәрісте қолданушы интерфейстердің қалай құрылатынын және ... ... ... ... білетін боламыз. Сонымен қатар біз
интерфейстен қалай сілтеме алу керектігін және ... ... ... ... боламыз.
.NET базалық класындағы стандартты интерфейстердің және ... ... ... ... ең ... роль ... ... тұжырым-даналары-
программалау. Интерфейс – бұл клиент СОМ көмегімен интерфейс көрсеткіші
негізінде СОМ кластарымен .NET ... екі ... ... ... жүзеге асыру жалғыз шешім ... . NET ... бар ... тәуелділіксіз бүлдіру қолданушы түрінің
функционалдығын кеңейтудің ең ыңғайлы әдісі.
Интерфейс – бұл ... ... ... ... жинақ,
бұл «соңғы жағдайдағы» абстракылы кластар. .NET ... кез ... ... қолдай алады. Кез келген жағдайда интерфейс – ... ... ... ... бұл ... осы интерфейсті іске
асыратын кез ... ... бұл ... ... ... ... ... міндетті. Сонымен интерфейс – бұл тағы бір қосымшадағы
полиморфизмнің іске асыру әдісі: бір ... сол ... әр ... мүшелері әр түрлі іске асыруы мүмкін, нәтижесіндек бұл ... ... ... ... онда ... бұл интерфейс әдістеріне
олардың тиісті түрдн ... ... ... ... ... ... ... интерфейс – бұл тек нақты мақсаттар
үшін қолданылатын таза синтаксистік құрылым ... ... ... түрі ... және ... ... әдістерді жүзеге асыру
болмайды. Әрбір интерфейс мүшесі автоматты түрде абстрактілі ... ... ... ... бірнеше интерфейстерді жүзеге асыру – ол кәдімгі іс
болып табылады.
Егер іс әрекет жиынтығы тек қалай үшін ... ... ... ... ... класстары осы әрекеттерді әр түрлі әдістермен жүзеге
асырады. Бұл жиын ... ... ... иерархиялар түріндегі
виртуалдық әдістерді қою орынды болады. ... де әр ... ... ... қасиеттерін беру үшін қолданылады.
С++ қандай да бір класс біз ... ... іске ... қажет
болса, ондай интерфейстердің атын осы ... ... ... ... ... ... қажет. Негізгі класстың аты әр түрлі уақытта кез
келген интерфейстер аттарыныңалдында тұруы қажет. ... С++ ... үшін ... мен класстар арқылы жалғыз ... ... өз ... қарай жүзеге асыра отырып, бірнеше базалық
интерфейстердің қасиетін туынды классқа беруге мүмкіндік береді.
4.1 ... ... ... ... ... бірнеше әдістермен қарауға мүмкіндік береді.
Бірінші әдіс: Мысалы, IAction интерфейсі ... ... ... ... ... IAction ... сілтеме аламыз (сонымен
объект IAction интерфейсін қолдайды). IAction-де ... ... анық ... ... онда InvalidCastException ерекшелік
генерациясы мен орындау уақытының
қателігі туралы хабарлама аламыз.
Ерекшелік мәселесінен қашу ... ... оны ... ұстау қажет:
I Action ref;
Try
{ ref = (IAction) объект;
Console.WriteLine (ref.F());
}
Catch (InvalidCastException )
{ Console.WriteLine (“Oshibka…”);}
Екінші әдіс: as кілттік ... ... ... ... Action ... = ... as I ... әрекет (операция берілген ... ... ... егер бұл ... ... нәтижесін null деп шығарады.
Үшінші әдісте:интерфейске сілтеме алу үшін is операторы қолданыла-
ды(жүргізіледі).Егер объект интерфейсті қолдамаса, онда шарт ... ... object ... ... ... ... ... қандай
да бір әрекетін суреттейік.Бұл параметірді туынды класстарда көрсетілген
әдіске ... ... үшін ... ... ... ... ... өзгертуді орындауды қажет ... ... үшін ... ... ... ... қажет.Мысалы былай:
Static void Act (object obj)
{if (obj is IAction) // түрлендіру жүргізуді тексеру
{IAction ref=(IAction) obj; // анық түрлендіру
ref.F();
}
}
Act() әдісін кез ... ... ... ... ... ... тек
IAction интерфейсін қабылдайтын объектілер үшін жүргізіледі.Қарастырыл-
ған екі әрекетте ... ... де, ... ... ... ... қарастыруға болады.C++-те
интерфейстерді қабылдайтын және қайтарылатын параметрлер сияқты қолдануға
мүмкіндік береді.Егер интерфейсті параметр ретінде ... ... да ... ... осы ... ... кез келген объектіні
әдіске жай ғана ... ... бір ... негізгі және интерфейсті жүзеге асыратын
туынды класстарды құру жағдайы ... ... осы екі ... да бір ... ... мұрагерленген немесе интерфейстен алынған болып шығады.
Public class Der:nBase,IAction
{public override void F() {…..}
}
Der классындағы объектіге мына түрде ... не ... ... IAction ... obj; ref.F(); ... шақыруға
болады:
F() Der класс екі абстрактілі әдістер үшін ... ... ... ... жүзеге асыруды ұсынады.Кейін бұл әдісті объект классындағы
сілтеме немесе ... ... ... ... ... сол әдіс
нұсқасы шақырылатын болады.
Интерфейс ... () тек ... ... арқылы,(объекті сілтемесі
арқылы емес) көшуге қалай болады? Жауабы: класстағы анық іске ... ... ... ... ... ... нақты
атын көрсету керек.Бұл кезде спецификаторларға жетімді ... ... ... ... ... ... көңіл аударуға болады.Сол себептен жүзеге асыратын интерфейстің
атын анық берерде оны егер қандай да бір ... ... ... ... қажет етпейтіндей қысқартуға мүмкін берген кезде
сәйкес әдіс интерфейс классына кірмейді.
4.2 ... мен ... ... интерфейстер иерархиясын, және көптеген іс-
әрекеттерді қабылдайтын типтерді құрумен танысамыз. ... ... ... ... кітапханасында анықталған стандартты интерфейстерді)
корпоротивті объектілерді сұрыптау мен есептеу ... ... ... ( ) ... ... ... ... рет қабылдауы немесе
қабылдамауы мүмкін. Негізгі ... ... ... ... ... деңгейде жетімді болуы мүмкін.
Рublic интерфейсін негізі ретінде private ... ... ... интерфейстерді қолдануға болмайды. Жай
класстар иерархиясы сияқты, ... ... ... іс-әрекетті анықтайды,
ал оның ұрпағы оларды толықтап және нақтылап отырады. Ұрпақ – интерфейсінде
сигнатурадай ... ... ... ... ... болады. Бұл жағдайда көрінбейтін негізгі интерфейс сәйкес
элементінің көмегімен ... ... new ... сөзі ... ... ... ... мұрагерлік және барлық оның
элементтерін анықтау қажет. Жай интерфейстер иерархиясын мына ... ... IBase {void F();} ... ... IDer: IBase {void ... IDerDer: IDer {void ... ... класс барлық 2 анықталған интерфейстердің іс-әрекетін
қолдайтын болса, онда өлең ... ... ... ... ... әдістер негізгі интерфейстерде анықталған автоматты ... ... ... class Test : ... IBase. F() ... IDer. G() ... IDerDer. Q() {….}
}
Test классын мына түрде практикада қолдануға болады:
Test t = new Test ();
IBase refB = ... // refB– ... ... ... а ... ... ... на
интерфейс IDerDer
if (refB is IDerDer)
{ IDerDer refDD = (IDerDer) refB;
refDD.G();
refDD.Q();
}
Класс өзінің бабаларының ... ... ... ... ... алады. Ол осы әдістерді new спецификатор көмегімен
қайта анықтайды, бірақ оған тек осы ... ... ... көңіл аудару
қолданылмаса, онда қайта анықталмаған нұсқасы шақырылады:
interface IBase {void F();}
class Base: IBase {public void F() ... Derived: Base {new public void F() ... d = new ... ... ref = ... ... егер ... класстың виртуалды әдісі көмегімен ... оны ... ... ... ... ... ... бір
нәтиже алып келеді, онда d.F() шақырылуы бар немесе ref.F() Derived.F();
әдісін шақыратын болады.
Анық көрсетілген ... ... ... ... әдісін виртуалды
шақыруға тиым салынады. Оның ұрпақтардаға іс-әрекеттің қайта анықтау ... ... ... ... осы ... ... деп анықталған
басқа қорғалған әдіс шақырылады.
Бұл интерфейсті ... ... ... ... ... ... тізімде оны атын көрсетіп, интерфейсті қайта жүзеге асыру
мүмкіндігі туады. Негізгі класстағы ... ... ... жүзеге асыру
көңілге алынбайды.
interface IBase{void F();}
class Base: IBase {void ... ... Derived: Base, IBase {public void ... ... сигнатурамен өрнектелген әдістер интерфейс пен класстарды
мұрагерлесе, онда мұрагерленген класс әдісі интерфейсті ... ... ... Interface {void F();}
class Base{public void F() {….} public void G() ... Der: Base, ... {new public void ... Der ... Base ... F() ... мұрагерленеді, интерфейс
F() әдісін де қабылдайды. Интерфейсті жүзеге асыру үшін жүргізілген ... ... ... онда ... қатені шығармайды.
Интерфейсті іске асыру ... ... ... болуына тәуелсіз
“тиімді” әдістер ескеріледі. Бұл анықталған немесе анықталмаған түрдегі
интерфейсті жүзеге ... ... ... ... әдіс ... ... ... СОМ-ға қарағанда бірнеше базалық интерфейстермен
мұрагерлікке жол ... ... ... ... іс-әрекетіне қарай
қойылған стандартты интерфейстар ... ... ... IСomparable
интерфейсі олардың сұрыптауының орындалуына мүмкіндік беретін объетілерді
салыстыру әдісін береді. ... және ... ... ... foreach ... көмегімен объектінің мазмұнын қарауға, ал
IСloneable интерфейсін ... ... ... ... ... ... интерфейстер көптеген стандартты класстағы
кітапханаларды қолдайды. ... Array ... foreach ... ... ... ... және ... интерфейстерімен жүзеге
асырады.
Стандартты әдістермен осы класстар объектілерін қолдануға мүмкіндік
беретін стандартты ... ... жеке ... құруға
болады.
Басқа аналогты ортадағы объектілердің орнын анықтауға мүмкіндік
беретін IComparable интерфейсін ... ... ... {int CompareTo (object o);}
Мысалы, CarID ішкі идентификатор мен автомобильді қабылдайтын Car
класын қарастырайық. Car ... ... ... ... Егер ... массив объектілеренің реттелуі үшін System.Array классты
Sort() ... ... онда Array қате ... Есеп ... табады, егер
Icomparable интерфейсін қолдайтын объект ... және ... ... ... ... ... CarID ... мәнін сәйкес осы
әдісті жүзеге асыруға мысал келтіреміз:
public class Car: ... ... ... obj) .
{ Car temp = ... ... > ... return ... (this.CarID < temp.CarID) return -1;
else return 0;
}
}
Sort() стандартты әдісінің көмегімен Car ... ... ... class Test
{ public static void Main()
{ Car [] ar = new ... ... ... с in ar ) ... ... ... массив объектов
foreach(Car с in ar ) Concole.WriteLine(c.CarID+" "+c.Name);
5 Реттелген мәндер және мәтінмен жұмыс
Мәтіндік ақпаратты өңдеу ... ... ең кең ... бірі және С++ оны шешу үшін кең ... ... бөлек белгілер,
белгілердің массивтері, өзгеретін және ... ... және ... ... ... ... жұмыс істеу үшін екі негізгі String
және StringBuilder класстар қолданылады. Бірінші класс ... ... ... ал екіншісі динамикалық жолдарды сақтау үшін қолданылады.
String классы элементарлы түрдегі құрамға кіреді. Бұл класстың
жолдары өзгерілмейді, яғни ... ... ... ... жаңа жолды береді, бірақ бар жолды өзгертпейді. Жаңа жолдар ... new ... ... ... құру үшін string ... ... жеткілікті.
string S= “Hello”
Жауап өзгермейтін болғандықтан екі ... ... ... мәні жоқ. Бұл ... .NET Framework-та барлық қолданылған жолдар
сақталатын хэш-кесте көмегімен жүзеге асырылады (жолдар кестеде ... ... Егер жол ... бар ... онда жаңа ... тек бар ... ... оралады.
Ең үлкен қызығушылық жолдағы жай типтерді ... және ... ... .NET ... осы ... жүзеге асыру үшін
жеткілікті механизмдерді ... Кез – ... тип ... ... ... ... әдісімен жүреді. Жолдардан стандартты түрге
түрлендіруді Convert немесе Parse әдісінің көмегімен орындауға ... ... ... ... ... ... class Test
{ public static void
{ string s= ... k= ... ... String ... Format ... ... ... Осы әдістің жұмысы WriteLine әдісінің ... ... ... жол экранға шығарылмайды.
using System;
public class Test
{ public static void Main()
{ string S = String.Format(“{0:C}”, 10);
Console. WriteLine(S);
}
}
Жолдарды ... ... ... ... ... ... жолды модификациялау, салыстыру мен іздеу, бөлу және ... ... ... ... ... ... ... System;
using System.Text;
public class Test
{ public static void Main()
{ string s1 = “Hello”; string s2 = “Helllo”;
//демонстрация механизма ... ... ... ... и s2 ... ... ... }
//соединяем две строки
s1 = String.Concat(s1, “_World”);
Console.WriteLine(s1);
//формируем строку
s1 = String.Format(“{0} и {1}”, s1, “C#”);
Console.WriteLine(s1);
//удаляем часть строки
s1 = ... ... ... ... жол үшін ... ... ... Бұл класс элементарлы типтер құрамына кіреді немесе жай класстар
үшін конструктор шақыруды қажет етеді. StringBuilder класын ... ... ... System.Text;
public class Test
{ public static void Main()
{ ... s = new ... ... s, ... и {1}”, ... ... Capacity:{1}”, s, s.Capacity);
s.Replace(“World”, “Asia”);
Console.WriteLine(“Value:{0}\n Capacity:{1}”, s, s.Capacity);
s.Remove(11, s.Length-11);
Console.WriteLine(“Value:{}\n Capacity:{1}”, s, s.Capacity);
}
5.1Реттелген мәндер
Реттелген мәндер ... ... ... ... ... және жай ... ... асырады.
.NET Framework реттелген мәндермен жұмыс жасауға мүмкіндік
беретін Reges арнайы классын ұстайды. Reges ... ... ... ... мен ... өңдеу әдісі бар екі ... ... ... ... ... ... жеке жағдайда [11] деп,
ережеге сай құрылады. Міне Reges параметр классына сай ... ... ... мысалы.
d{5}- почталық индекстің маскаларын беру үшін.
\w+@\w+\.\w+- электронды адрестің маскаларын беру үшін.
(((\d{3}\)()?|(\d{3}(|\-)))\d{3}\-\d{4}) – телефон номерінің массасын
беру үшін қолданылады. ... ... бөлу ... ... құрамаларға (бөліктерге) бөлуге мүмкіндік беретін Reges классының
және оның Split әдісінің қолдануын көрсетеміз:
using System;
using System.Text.RegularExpressions;
class Test
{ public static void ... string ... ... = Console.ReadLine();
Regex reg = new Regex(“_*[^a-z]”, RegеxOptions.IgnoreCase);
string [] words = ... (string w in words) ... ол ... ... ... ... анықтайтын IsMath әдісі.
Түзу электронды адрестің жолдарына енгізіелтінін ... ... ... ... ... public static void ... string t;
Console.WriteLine(“Введите почтовый адрес:”);
t = Console.ReadLine();
Regex reg = new ... ... ... ... ... ... мәндерге сәйкес келетін екі жолдарды қайтаратын Matches
әдісінің ... ... ... ... Test
{ public static void Main()
{ string t;
Console.WriteLine(“Введите html-код:”);
t = ... reg = new Regex(@ ... match = reg . ... (Match m in match) ... ... әдіс ... ... барлық енгізілген реттелген мәндерді
ауыстыруға мүмкіндік беретін тағы бір әдіс:
using System;
using System.Text.RegularExpressions;
class Test
{ public static void ... string ... ... = Console.ReadLine();
Regex reg = new Regex(@ “]*>”);
Console.WriteLine(reg.Replace(t,””));
}
}
6 С# тіліндегі қосымша құралдар.
Берілген дәрісте кластардың ... ... ... ... шақырған әдістің ақпарат алмасуы тәсілдерін,
әдістер объетіні қалай қабылдайтынын және қайтаратынын, операторлардың ... ... ... қарастырамыз және индексатор әдісімен танысамыз.
С#-та шақырушы және шақырылатын функциялар ... ... үшін ... порт түрі ... ... ... (ref ... сөзі арқылы анықталады); ... (out ... ... және параметр– массивтер(params кілттік
сөзі). Параметр – ... ... ғана ... және ... ... ... керек, мысалы:
publicintF(inta, ref intb, out intc, paramsint[] ...... ... мәнін шамалар әдісіне
өзгерту ... ... ... ... ... ... ... аргумент мәні емес, оның адресі және аргумент сақталған ұяшыққа
қатынау бар әдіс ... ... ... ... ... ... ... жоқ, олардың қасақана емес өзгеруіне мүмкін бермеу үшін
ұсынылмайды.
Демек, егер әдіске маңызды түрлердің ... ... ... ... яғни ... ... шамаларын. Айнымалы объект
динамикалық жадта орналасқан деректерге сілтемені сақтайды және осы ... мәні ... ... ... бойынша жіберіледі. Екі жағдайда ідңс өз
ұйғарымына деректердің нақты адресін және оларды өзгерте ... ... ... ... ... деп есептеуге болады. Мәні және
сілтеме бойынша ... ... ... ... ... ... өзгертуге болатыны, яғни шақыру әдістен кейін ол басқа
объектіге сілтейді.
Бірнеше шамаларды ... ... ... ... болады, мысалы, егер әдісте ... ... ... ... Бұл ... ...... шектеуі қолайсыз
болады: әдісті ... ... ... мәндердің иемденуінің
қажеттілігі. Осы шектеулер out әдіс параметрінің ... ... ... бар ... әдіс ... ... түрде мән
беріледі, оны компилятор қадағалайды. Шақырушы ... ... ... ... ... ... ... алдымен шығатын параметрлерді,
содан кейін барлық сілтемелерді (ref) және ... ... ... ... ... сан ... жіберуге болатын әдісті құру ... ... ... мүмкіндікті С# тілі params кілттік сөзі ... ... ... сөзі ... ... ... соңғы болып
орналасады және тип анықталмаған ұзындығын массивін білдіреді. Әдіс ішінде
мұндай параметрге ... ... ... ... ... Элементтер
массивтің санын Length қасиеті арқылы алады. Параметр – массив жалғыз
болады және тізімде ... ... ... ... Оған сәйкес аргументтерін
массив түріне айқымдалмаған түрде түрлендіруге мүмкіндігі бар түрлері бар
болу керек.
Индексатор қасиеттің бір түрі ... ... Егер ... ... ... өрісті болса, онда индексатор арқылы тік
жақшаларда массив элементінің ... және ... ... ... ... ... ... Индексатор әдісі – тік жақшалар арқылы ішкі
объектілерге қатынауға ... ... ...... ... құралы. С#-та индексатор әдісін жасауы С++ тіліндегі тік ... ... ... ... ... ... қасиетінің
синтаксисіне ұқсайды:
this[параметр – тізім] атрибут спецификатор типі
{getқатынау–коды setқатынау–коды}
Атрибуттар және ... ... ... ... public ... ... ... олар объект интерфейсіне
кіреді. Қатынау коды массив элементінің мәндері алу (get) ... ... ... ... блогын көрсетеді. Параметрлер тізімінде
элементке қатынауы бойынша бір және ... ... ... ... ... ... бір индексі қолданылады. ... ... ... таңылатын арнайы массивтерді жасау үшін қолданылады.
С# тілі берілген функцияларды ... ... ... ... ... операциялар әрекетін анықтауға мүмкіндік
береді. Бұл өрнектер құрамындағы меншікті ... ... ... ... ... ... береді.
Меншікті операциялар класс анықтамасы операциялардың ... деп ... ... ... ... ... ... операциялар кластың ашық статикалық әдісі сияқты сипатталу керек;
- ... ... мәні ... ғана ... ... ... ... операциялар сигнатуралары өзгешеленуі керек;
- операцияда қолданылатын түрлері қол жетерліктей болу ... ... ... үш түрі бар: ... ... ... ... операциялары.
Типті түрлендіру операциялары деректер пайдаланушы ... ... және ... емес ... ... етеді. Типтерді
түрлендіру операциясының жаршысының синтаксисі:
implicit operator тип (параметр) ... ... operator тип ... ... ... ... ... тақырыбында көрсетілген типіне
түрлендіруін орындайды. Осы типтердің біреуі операциямен ... ... ... ... ... ... ... басқа типке түрлендіруін
орындайды немесе керісінше. Түрлендіретін типтер ... ... ... ... ... ... түрде орындалады:
Тұтас типтің айнымалыларына объект иемденгенде;
Тұтас типтің айнымалылары бар өрнекте объект ... ... тип ... орнына әдіске объект жібергенде;
Айқын түрде типті келтіру кезінде.
7 Өкілдер және оқиғалар.
Берілген лекцияда қолданба екі жақта ... ... үшін ... ... ... ... ... сілтеме типтер көзқарасы бойынша ... ... ... ... ...... ... негізделген С# оқиғалар
хаттамасы.
Осы уақытқа дейін әр түрлі объектілер жасалынатынсынамақ
қолданбалар жасадық және ... әр ... ... яғни ... ... тағы бір өте маңызды тұрғыны қарап шығу ... ... ... тудырған объеттерге ұқсас хабарламаларды қалай
жібере алады? Нақты қолданбада және Windows-та бағдарлама жасауында бұл ... ... және С++ ... Windows-та бағдарламалауда бұл мәселені
шешу үшін негізгі құралы оперативті ... ... ... ... кері шақырудың функциясы болып табылады. Осы құралдың көмегімен
бағдарламалаушы бір функциядан екіншіге кері шақыруын қамтамасыз ... ... ... ... ... және олардың типін,
қайтарылған мәнін, шақырудың белгілі логикасына еруін ... ... ... болғаны оңай және қауіпсіз болады. С#- тың C++ ... ... ... ... ... құралы
(delegate) деп аталады. C#-та өкілді ... әдіс ... ... ... ... ... қайтарылған мәні көрсетіледі. Өкіл
–бұл арнайы класс. Кез ... өкіл ... ала ... ... ... туындайды. Мысалы, жаңа
делегатты келесі түрде құрастырамыз:
public delegate void Delegate Type ( object obj, int ... бұл ... ... жаңа ... жасауы бойынша келесі
командаларды орындайды:
public class NewClass: System.MulticastDelegate
{ NewClass( object target, intptr);
//Синхронный метод Invoke()
public void virtual Invoke( object obj, ... ... того же ... ... вызова
public virtual IAsyncResultBeginInvoke( object obj, intvalue,
AsyncCallbackcb, object ... virtual void ... ... ... ... ... ... класс синхрондық және
асинхрондық шақырулар үшін арналған Invoke() жәнеBeginInvoke() екі ... ... ... (өкіл) – бұл әдіске сілтемесін сақтау үшін
арналған ... ... ... ... ... ... ... класс
ішінде орналастыруға болады.
Делегатты қолдану үшін оның данасын құру керек және ол сілтейтін
әдістер аттарын беру ... ... ... шақыруында барлық берілген
әдітер шақырылады.
Делегаттар келесі мақсаттар үшін қолданылады:
Шақырылған әдісі компиляция кезінде емес, бағдарламаны орындау ... ... ... ... ... типі ... объектілер арасындағы байланысты қамтамасыз
етеді;
Басқа әдістерді жіберетін әмбебап әдістерді жасау;
Кері шақырулар механизмін қолдау.
Делегат қолдауының ... ... ... ... delegate void Del( ref string s); ... жариялау
classMyClass
{ public static void F( ref string s) {…}
public static void G( ref string s) ... static void ... string ... d; // ... ... = new Del(F); // F ... делегаты
инициализациялау
d = newDel(G); // G ... ... ref s); // ... ... үшін делегатты қолдану
}
}
}
Делегат класс болғандықтан, параметр ретінде әдіске жіберуге
болады. Сонымен, функцияналдық параметрлеу қамтамасыз етіледі, ... ... ... ғана ... ... әр түрлі функцияларын жіберуге ... ... ... ... жасау үшін немесе кері шақыру
мүмкіндігін ... ету үшін ... ... ... ... ... функцияны кестелеу
әдісін келтіреміз:
using System;
namespaceMySpace
{ public delegate double Fun( double ... public static void ... F, double x, double b) ... static double Simple( double x) { return 1;}
public static void Main()
{ Table ( newFun( ... ... ( ... ... ... ... баламасы виртуалды
әдістері болады.
Егер делегат тізімінің әдістерінің біреуінде ерекшелігі болады,
келесі әдістер шақырылмайды. Егер тексерілетін ... ... ... ... қамтамасыз немесе пайда болған ерекшеліктерді өңдесе болады.
Делегат данасында берілген барлық әдістерді GetInvocationList мұра етілген
әдісі арқылы алуға ... ... ... ... өз күйі ... туралы
ескертулерді жіберуге мүмкіндік беретін класс элементі. Сонымен ... ... үшін әдіс ... ... «Observer»паттерні тіл
деңгейінде оқиғалар механизмін қалыптастырады.
Оқиғалар механизмін ... ... ... ... болады: хабарламаны жіберетін бір ... ... ал ... кластар осы оқиғаларды алады (receivers).
Оқиғалар делегаттар ... ... ... ... –өңдеуші шақырылады. Сондықтан класта оқиғаны ... ... ... өңдеуші синатурасын беретін өкіл сипаттамасы;
Оқиғаның сипаттамасы;
Оқиғаны қозғайтын әдіс сипаттамасы.
Оқиға типі – бұл оқиға ... ... ... ... және оған ... ... мысалы:
public delegate void Del (object o);
classA
{ public event Del Ev;

}
Оқиғаларды өңдеу ... ... ... ... Ол ... ... типіне сәйкес келетін оқиғалар өңдеуші –әдістер
бейнеленеді. Әр ... ... алу ... сол әдісті жіберуші ... ... ... ... үшін ... ... болады.
Оқиға делегат данасын жасайтын жабық статикалық ... және += және ... ... ... қосужәне жою үшін арналған екі әдістерінен
тұрады.
.NET кітапханасында оқиғаларды өңдеуді механизмін іске ... ... ... стандартты делегаттар көрсетілген. Бұл кластардың
көпшілігі бір ережелермен рәсімделген:
Делегат атауы EventHandler жұрнағымен аяқталады;
делегат екі ... ... ... ... ... ... және object ... ие болады:
екінші параметрі оқиға аргументтерін береді және ... ... оның ... ие ... оқиғалар өңдеушіне оқиға туралы арнайы мәлімет қажет болса,
ол үшін EventArgs класс ... ... ... және оған ... ... Егер ... мұндай мәліметті қолданбаса, делегатты
және ... ... ... ... ... ... ... болады. Оқиға өңдеушінің
атауын On префиксі және оқиға атауын құруға болады.
8 Web – ... және ASP.NET ... ... дейін біз консольды қосымша немесе Windows Forms
қарастырдық. Енді қосымшаның жаңа түрі web – ... ... ... үшін клиентке браузер қажет. Wed – қосымшаның басты элементі болып:
HTML, HTTP (POST және GET) ... ... ... ... қолдану, сол сияқты классикалық ASP. Мысалы, біз HTML логикалық
ұсынысты және ...... ... ... бөле аламыз
мынадай программалау тілдері көмегімен бөле аламыз; олар С# және VB.NET,
тек скрипт тілдері ғана ... ... ... web – ... ... ... Page типіндегі және оның ... Request, ... және ... сол сияқты басқарудың серверлік ... ... ... ... ... ASP.NET web – ... құруға
дайындық болып табылады.
Wed – қосымшаның архитектура негізін және кейбір ... ... ...... бұл ... байланысқан файлдар
жиынтығы (*.html, *.asp, *.aspx, көрініс файлдары және т,б.), сол ... ... ... т.с.с web – ... ... ... файлдары немесе классикалық СОМ. Wed – сервер мынадай қызметтер
жиынтығын қамтамасыз ... ... ... ету, FTP ... ... ... қамтамасыз ету және сонымен қатар web ... ... ... ... Wed – сервер
деңгейіндегілер Internet Information Server (IIS) деп аталады.
ASP.NET (Active Server Pages for.NET) ... ... ... болады,
дегеніміз . NET- тегі web – беттер және web – қосылған web – серверлерді
ұсынатын барлық ... ... бір ... ... web – ... болуы мүмкін, олардың
әрқайсысы өз ... ... (virtual ... ... қажет.Web
– сервердегі виртуалды каталогқа дискідегі физикалық каталог сәйкес келеді.
Біз өзіміздің дербес компьютерде FrogsAreUs web – қосымшаны ... ... ... C:\FrogSite физикалық каталогы сәйкес келеді. ... ... ... web – ... ... ... ... Сыртқы
ортадан біздің web – қосымшаға http://www.FrogsAreUs.com (егер осы доменді
атты DNS жүйесінде тіркесек ). URL адресі бойынша қолдануға ... web – ... құру ... ... ... дербес
компьютерде web – қосымша файылы үшін жаңа каталог құру керек, содан кейін
осы физикалық каталог сәйкес ... web – ... жаңа ... ... қажет. Мастердің барлық әрекетінен кейін біз құрылған виртуалды
каталогты IIS ... web – сайт ... ... көре ... ... web – ... ... кірісеміз. Қазіргі заман талабына сай web –
қосымша ортасын құру ... ... Visual Studio .NET) HTML ... сүйенбей-
ақ web-парақтарды құруға мүмкіндік береді.
Парақты көркемдегеннен кейін оны жаң қасиеттермен бөлуге болады,
пайдаланушының енгізу ... ... Ол үшін HTML ... ... ASP.NET ... WebForm басқару элеметтерінің
жиыны қарастырылған, оларды қолдануда HTML басқару элеметінің ... ... ... ... ... т.с.с. web – қосымшаның
орындалу процесінде WebForm ... ... HTML ... ... ... – HTTP ... арқылы web – серверге берілетін
пайдаланушымен деректер енгізуге болатын HTML пайдаланушы ... ... ... ... ... терезесінде web – серверге өзгеріс енгізу
үшін ... ... ... ... ... ... ... бойынша,
клиенттік скрипттер HTML графикалық ... ... ... ... HTML ... ... және тексерілген деректерін
қабылдаушыға жіберу қажет – ... web – ... HTML ... ... ... ASP ... (Active Server Page) және т.б. ... ASP, болмаса ASP.NET көмегімен деректерді қабылдау парағын
құруға ғана қалды.
ASP ...... ... үшін арналған скриптер және HTML
кодтарының жиынтығы. ASP негізгі мағынасы серверлік скриптер көмегімен ... HTML ... ... ... ... HTML ... ... ұсынады және дерекқордан деректерді санайтын ASP
парағын құруға болады.
Сонымен, ASP және ASP.NET ... ... ... ... ... ... ... көмегімен) формасы арқылы ... ... ... және нәтижесі генерацияланған HTML коды түрінде
пайдаланушыға қайтарылады.
Классикалық ASP – бұл өте ... web – ... ... архитектура,
бірақ оның кемшіліктері де бар. Негізгі кемшілігі – скриптер қолдану.
Сонымен қатар, классикалық ASP ... HTML коды ... ... ... ... ... логикадан бөлінбеген) байланысты, сол
сияқты бір жобадан екінші ... ... ... ... қаралған. Мысалы, ASP.NET файылында (*.aspx) ... ... ... ... ... ... ... (C#, Jscript.Net,
Visual Basic.NET), сол сияқты .NET базалық класс кітапханасының типтері
қолданылады және пайдаланушы ... ... Controls ... HTML ... ... ... ... түрде генерациялайды, ол
пайдаланушы браузерінде ... , ... ... ... web – ... құру үшін ... жобалаушыға ыңғайсыздық тудырады.
.Net базалық класс кітапханасы кеңістіктегі үш негізгі топтан құралды:
web – қосымшаның негізгі ... ... HTTP ... ... ... ... типтері және т.б.), web – қосымшаны ... ... ... ... ... ... ) және web –
қызметтер.
ASP.NET қосымшасын құру үшін қажеттілер:
System.Web – браузер және web – ... ... ... ... – жоба ... ... ... web –
қосымшаны келтіру;
System.Web.Security - web – қосымшаның қауіпсіздік жүйесін тарату;
System.Web.Services және т.с. – web – ... ... және т.с. - web – ... ... ... ... ... типтері төмнедегідей;
HttpApplication – жалпы ASP.NET (әдіс, қасиет, оқиға) web ... ...... ... ... сұраныс, сеанс
және канал үшін ASP.NET жалпы ақпаратын анықтайды (қосылу сеанстарының
көпмүшесі ... ... ...... бір ... web – ... бір
пайдаланушының әрекеті.
Классикалық ASP – бұл екі түрлі жеке ... ... ... ... ... және Session ... ASP.NET - те олар ... ұсынылған HttpApplicationState және HttpSessionState, оларға қатынау
Page туындайтын Application және Session тип қасиеттері арқылы іске асады.
ASP.NET кез ... ... ... ... ... Page класы ASP.NET ортасында орындау үшін ... ... үшін ... ... және ... анықтайды.
Page класының кейбір қасиеттерін атап өтейік;
Application – HttpApplicationState объектісін қайтарады.
Request – HTTP кіріс ... ... ... алу үшін
қолданылады. HTTPRequest объектісін қайтарады;
Response – оның ... ... ... қайтарылатын деректерді
жинақтауға болатын HTTPResponse объектісін қайтарады.
Page класының негізгі оқиғалары:
Init – парақты инициалау оқиғасы;
Load – бұл оқиға ... WebForm кез ... ... ... үшін ... ... ... өзге, біз өз класымызда *.aspx файлында
блоктары көмегімен C# класында өз ... ... ... – те ASP ерекшелігі барлық қосымша мүмкіндіктері, файл кодтары
(HTML кодын генерациялау коды ) *.aspx ... ... ал ... логика C# *.aspx.сs файлында.
Сонымен қатар, кластың пайдаланушы мүшелерімен қатысу ... ... ... ... ... функцианы анықтайық, ол ағымдағы уақыт пен
күнді анықтайды:
Public class WebForm1: System.Web.UI.Page
{public string GetDateTime() {return DateTime.Now.ToString();}
}
*.aspx файлына ... ... іске ... ... ішіндегі қажетті Page мүшелерін алуға болады, мысалы,
біздің функцияны былай анықтауға ... class ... ... public void ... ... ... осы ... шақыруға болады:


Дәріс қортындысында Page класының және WebForm басқару элементтерінің
негізгі қасиеттерін атап өтуге болады:
ASP.NET – те ... ... HTTP ... ... пайдаланушыға
жіберілген деректерге қатынауды алуға мүмкіндік ... Page. ... ... класының объектілерін қайтарады. Онда HTML коды
түрінде жауаптарды реттеуге ... (web – ... ... ... көптеген қасиеттер қарастырылған. ASP.NET ең бір ... ... ... оны қолдану кезінде web – ... ... ... ... WebForm ( оларды басқарудың серверлік
элементтері немесе web басқару элементі деп атайды ) ... ... Controls ... ... Олардың негізгі қызметі
web – парақта HTML басқару ... құру ... қиын ... ... ... .NET ... ... кітапханасында класс
сәйкес келеді және C# класында Page туындайтын *.aspx файлы. Сонымен қатар
WebForm кез ... ... ... ... өңделетін оқиғалар жиыны
анықталған.
ҚОРЫТЫНДЫ
Visual studio-ны әдетте VS деп атайды, Visual C++ болса VC дың ... Visual Studio ... ... ... өнімі, яғни Office тың
Word, Excel деп бөлінгені секілді ол да өз ішінен бірнеше ... ... Visual C++ ... Visual Studio ның бір ... ... деп қарауға
келеді. Visual Studio арқылы торап бетін жасауды C# секілді ... ... ... яғни #Visual C және Visual Basic ... ... бар. Қазыргі ең жаңа нұсқасы 2010 ++Visual C болып оны әдетте 10
++Visual C деп ... 10 VC деп ... ... ... ... ... Visual Studio C++ и MFC. Сидорина Т.Л стр 101
2. MS Visual C++ 2010 в ... .NET ... ... ... ... М. WPF Windows ... ... в .NET 3.5 с
примерами на C# 2008. 2008, 924 стр.
4. Иванов И.И,  Проектирование самолетов: учебник для ... ... 2010, ... школа, PDF, OCR, 750 стр.
А қосымшасы
(міндетті)
Техникалық тапсырма
А.1 Кіріспе
Microsoft Visual Studio — Майкрософт компаниясының өнімдер тізбегі,
құрамына біріктірілген өңдеу ортасы бағдарламалық жасақтамасы және ... ... ... ... ... Аталған өнімдер консольдік
қосымшалармен қатар қолданбалы бағдарламалық жасақтамалары да ... ... ... ... Forms технологиясын қолдану арқылы да, жәневеб-сайт, веб-
жасақтамалар, веб-қызметтер Машинелік ... ... ... ... ... CE, .NET
Framework, .NET Compact Framework и Microsoft ... ... Желі ... ... ... мен қызметі
Бұл жобаның негізгі мақсаты Microsoft visual studio программасында
желі үлгісін ... ... құру ... ... ... ... оларды баптауды үйрену.
А.1.2 Қолдану саласы
С++ тілінде сияқты, С#-та ОББ негізгі ... іске ...... ... ... ішкі ... жасырады;
мұрагер – кодты қайтадан қолдану; полиморфизм – ... ... ... ... іс – ... ... қолдану.
А.1.3 Анықтамалар, терминдер және қысқартулар
А қосымшасының жалғасы
Класс (тип) ... көру ... ... ... ... ... кластар өрісіне қатынау орындалғанда, кластар
мүшелері үшін көру кеңістігінен басқа, кластармен ... ... ... ... – бұл көру кеңістігінің атрибуты бар болатын жалғыз емес
пайдаланушы деректер типі. Тип – бұл ... ... ... және ... ... қолданылатын жалпы термин. С#-
та барлық дерек типтері өзінің ... шегі үшін ... ... ... жабдықтар – осы құрастыру үшін ғана жетімді болады.
А.1.4 Желі үлгісін құру
Microsoft visual studio ортасында ... ... құру ... бейнеленген.
А.1-сурет. Microsoft visual studio ортасы

А қосымшасының жалғасы


Енгізу беті



Қолданушының есімі








Құпия сөз








 


А қосымшасының ... ... Жаңа ... ... 201px;
}
.auto-style2 {
height: 25px;
}


Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 32 бет
Бұл жұмыстың бағасы: 900 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
"кәсіби қазақ тілінің маңызы мен міндеттері"3 бет
Action Script бағдарламалау тілінің теориялық негіздері22 бет
Html тілінің негіздері60 бет
HTML-тілінің көмегімен Web-бетті қалыптастыру12 бет
Java тілінің даму тарихы6 бет
Turbo Pascal программалау тілінің қосымша мүмкіндіктері24 бет
Turbo Pascal тілінің негізгі элементтері22 бет
Turbo pascal тілінің негізгі элементтері туралы83 бет
Turbo Pascal тілінің операторлары26 бет
Turbo Pascal тілінің операторлары жайлы16 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь