- •1. .Net архитектурасы.Net-ке бағытталған кодтын орындалуы және компиляциясы. Microsoft Intermediate Language (msil) тілінің артықшылықтары.
- •3. С# программалау тілінің негізі. Айнымалыларды жариялау. Айнымалыларды инициялизациялау олардың көріну облысы.
- •5. Консольді енгізу-шығару үшін System.Console-ді пайдалану. Процессор директивтері.
- •6. Объекті/ ж/е типтер. Структура және кластардың өзара айырмашылық/ы. Класс мүшелері.
- •8. Конструкторлар және статикалық конструкторлар. Тек оқуға рұқсат етілген өріс.
- •9. Жекеленген кластар. Статикалық кластар. Object класы.
- •10. Мұралау. Мұралау типі. Іске асыруды (реализация) мұралау.
- •11. Мұралау. Рұқсат модификаторлары. Интерфейстер.
- •12. Жалпылау. Жалпылауға шолу. Жалпыланған кластар құру.
- •13. Жалпыланған кластар құралдары. Жалпыланған интерфейстер.
- •14. Жалпыланған структуралар. Жалпыланған әдістер.
- •15. Массивтер және кортеждер. Жай массивтер. Көпөлшемді массивтер.
- •16. Тісті массивтер. Array класы.
- •17. Массивтер параметр ретінде. Тізім бойынша санау.
- •18. Кортеждер. Құрылымдық салыстыру.
- •20. Мәліметтердің қарапайым типтерін өзара өзгерту. Қаптама(boxing) құралдарымен мәндер типін сілтеме типке өзгерту.
- •21. Сілтеме типтерді келтіру арқылы өзгерту. Стандартты операцияларды қолданушы типтер үшін асыра жүктеу.
- •Vector структурасы
- •22. Келтіру операцияларын қолданушы типтерге қосу.
- •23. Делегаттар. Лямбда-өрнектер. Уақиғалар.
- •24. Сөз тіркесін құру. Жүйелі өрнектер.
- •25. Сөз тіркесін құру. Форматтаушы өрнектер.
- •26.Интерфейстер және коллекциялар типтері. Тізім, кезек және стектермен жұмыс.
- •27. Сортталған және жүйелі тізімдермен жұмыс. Жиындар мен сөздікті пайдалану.
- •29. Қателер және ерекшеліктер. Ерекшеліктерді өңдеу.
- •30. .Net ядросы. Деректер базасына қосылу. Команданы орындау.
11. Мұралау. Рұқсат модификаторлары. Интерфейстер.
Модификаторлар public және private әдістерін көрсетілуін қамтамасыз ете алады. Онымен қоса олардың virtual және abstract екендігн анықтай алады. C# тілінде модификатордың көптеген түрі анықталған.
Рұқсат модификаторлары.
-
Модификатор
Сипаттамасы
Public
Элемент кез келген баска кодта көрінеді.
Protected
Элемент тек кез келген туынды типке көрінеді.
Internal
Элемент тек шектелген құрылымда көрінеді.
Private
Элемент тек өзі байланысты тип шегінде көрсетіледі.
Protected interval
Элемент тек шектелген құрылымда және кез келген туынды тип кодында көрінеді
Егер қосылған тип бар болатын болса, ол сыртқы тип мүшелерінің бәріне кіруге рұқсаты бар.
Басқа қосымша модификаторлар
-
Модификатор
Сипаттамасы
New
Бұл мүше сол сигнатурамен мұраланған мүшені көрсетпейді
Static
Бұл мүше нақты клас экземплярымен байланысты емес
Virtual
Мүше мұрагерлік кластарда кайта анықтауы мүмкін.
Abstract
Сигнатураны анықтайтынғ бірақ іске асыруды жасамайтын виртиалды мүше
Override
Базалық кластың мұраланған виртуалды немесе абстракты мүшесін қайта анықтайды.
Sealed
Басқа кластарға осы кластан мұралауға болмайтынын айтады.
Extern
Бұл мүше басқа тілде,сыртқы түрде жасалған
Интерфейстер
Объектіге бағытталған тілдер интерфейстерді қолдана алатындығына байланысты біз С# программалау тіліндегі интерфейстерді іске асруды қарастырайық. Біз IDisposable интерфейс қарастырайық.
Егер класс Dispose() әдісін іске асыруын хабарлағысы келсе, онда ол IDisposable интерфейсін іске асыруы керек, C# терминінде ол IDisposable мұраланады деп есептеледі.
Интерфейсті анықтау және іске асыру.
Код атын интерфейс екенін түсіну үшін келісім бойынша I әрпінен бастаймыз.
Мысалы
сіз жазып шығарған код арқылы банктік
ақша алмасуына арналған. Кез келген
осындай код IBankAccount интерфейсін іске
асыруы міндетті. Бұл интерфейс арқала
әр түрлі шоттардың кластарын анықтауға
жол ашады.
Туынды интерфейстер
Интерфейстер класстар сияқты бір бірі арқылы мұралана алады.
12. Жалпылау. Жалпылауға шолу. Жалпыланған кластар құру.
Жалпылау – бұл параметрлі тип. Төменде жалпылау класын хабарлау-ң жалпы формасы көрсетілген:
class класс_аты<тип_параметр-ң_тізімі> { // ...
Ал былай жалпылау класқа сілтеме жібреу синтаксисі көрсетілген:
класс_аты<тип_аргумент-ң_тізімі> айнымалы_аты =
new класс_аты< тип_параметр-ң_тізімі > (тип_аргумент-ң_тізімі);
Мысалдар келтірсек:
namespace ConsoleApplication1
// Т параметрі бар жалпылау класын құрайық
class MyObj<T>
{
T obj,
public MyObj(T obj)
{
this.obj = obj;
}
public void objectType()
{
Console.WriteLine("Тип объекта: " + typeof(T));
}
}
// Бірнеше параметрі бар жалпылау класы
class MyObjects<T, V, E>
{
T obj1;
V obj2;
E obj3;
public MyObjects(T obj1, V obj2, E obj3)
{
this.obj1 = obj1;
this.obj2 = obj2;
this.obj3 = obj3;
}
public void objectsType()
{
Console.WriteLine("\nТип объекта 1: " + typeof(T)+
"\nТип объекта 2: " + typeof(V) +
"\nТип объекта 3: " + typeof(E));
}
}
class Program
{
static void Main()
{
// int жалпыланған клас-ң экземпляры
MyObj<int> obj1 = new MyObj<int>(25);
obj1.objectType();
MyObjects<string, byte, decimal> obj2 = new MyObjects<string, byte, decimal>("Alex",26,12.333m);
obj2.objectsType();
Console.ReadLine();
}
}
}
MyObj класы үшін аргумент типі көрсетілгенде, м/лы, int н/е string, онда С#-да құрастылылған(сконструированный) д.а. тип құрылады. Сон.қат., MyObj<int> жабық құрастырылған тип болып табылады. С/бі, шынайы келгенде, MyObj<T> сияқты жалпыланған тип-абстракция. Нақты вариант құрылғаннан кейін, м/ға MyObj<int>, нақты тип құрылады. Ал MyObj<T> сияқты конструкция, С#-та ашық құрастырылған, с/бі онда int секәлдә нақты тип емес, Т параметр типі көрсетіледі.
Ашық тип деп аргумент параметр типі н/е оны өзіне қосатын параметр типі н/е кез келген жалпыланған тип саналады. Ал ашық типке жатпайтын кез келген тип жабық тип боп есептеледі. Құрастырылған тип д-міз тип-ң барлық аргументі көрсетілген жалыпланған тип.
Тағы да бір жағдай. Мынадай сұрақ тууы мүмкін: MyObj жалпылау класы-ң дәл осындай функционалдық мүмкіндік-н жалпылаусыз-ақ алуға болады, жай ғана объектті дерек-р типі ретінде көрсетіп, типті тиісті келтіруді орындау арқылы. Онда MyObj класын жалпылаудан не пайда? Жалпылау автоматты түрде MyObj класына қатысты барлық операция-ң типтік қауіпсіздігін қамтамасыз етеді.
