- •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 ядросы. Деректер базасына қосылу. Команданы орындау.
8. Конструкторлар және статикалық конструкторлар. Тек оқуға рұқсат етілген өріс.
Конструкторлар.
Конструкторлар жалпы класты немесе оның экземплярларын инициалдау әрекеттерін жүзеге асырады. Ол класс объектісін жасау кезінде new операциясы арқылы шақырылады. Конструктор аты класс атымен бірдей болады.
Конструкторлар қасиеттері:
•Конструктор ешқандай мән (тіпті void типін де) қайтармайды.
•Кластың, инициалдаудың әр түрлері үшін әртүрлі параметрлері бар, бірнеше конструкторлары болуы мүмкін.
•Егер программалаушы бірде-бір конструкторды көрсетпесе немесе кейбір өрістер инициалданбаса, мәндік типтегі өрістерге — нөл, ал сілтемелік типтегі өрістерге — null мәні меншіктеледі.
•Параметрсіз шақырылатын конструктор (үнсіз) келісім бойынша алынған конструктор деп аталады.
Конструкторы бар класс мысалы
using System;
namespace Listing5_6 {
class Demo
{
public Demo( int a, double y ) // конструктор
{
this.a = a;
this.y = y;
}
int a;
double y;
}
class Class1
{ static void Main()
{
Demo a = new Demo( 300, 0.002 ); // конструкторды шақыру
Console.WriteLine( a.Gety() ); // нәтиже: 0,002
Demo b = new Demo( 1, 5.71 ); // конструкторды шақыру
Console.WriteLine( b.Gety() ); // нәтиже : 5,71
} } }
Статикалық конструкторлар.
Осы конструктор тек бір рет орындалады, барлық жазбалы конструкторларға қарама қарсы, олар констукторлар түрлері әрбір жаңа обьект сайын орындалады..
Статикалық конструктордың жазылуының бірінші себебі, кластың кейбір статикалық жолдар мен құрлымының ішкі инцализациялануы, олай болған жағдайда класс бірінші орындалады.
.NET атқарушы ортада ешқандай кепілдік бермейді, статикалық конструктр шақырылынатын болады, сол себебтен кодты бөгет жасауға болмайды. Нақты болжам жасауға болмайды, қандай ретпен статикалық конструктр әр түрлі класспен.
Статикалық конструктр көп дегенде бір рет іске асады және кез-келген негізгі класстың біріншісіне шақырылады. С# статикалық конструкторы ештеңеге қарамастан кез –келген класс мүшеснде іске асады.
Статикалық конструктор ешқандай модификаторға мүмкіндікке ие емес. Ешқашан C# тың басқа кодымен шақырмайды, әрқашан тек қана мүмкіндік ортасында .NET шақырылған класста, сондықтан ешкандай модификатор мүмкіндігі public немесе private мәні жоқ. Сол себебті статикалық конструктор ешқандай параметрді қабылдай алмайды, әр-бір кластың бір ғана статикалық конструкторы болады. Статикалық конструктор мүмкін болатын тек қана статикалық класс мүшесіне мүмкіндігі бар, бірақ экзампляр мүшесіне емес.
Өріс.
Класта сипатталған айнымалылар класс өрістері деп аталады.
Өрістерді сипаттау кезінде элементтердің әртүрлі сипаттамаларын беретін атрибуттар мен спецификаторларды көрсетуге болады:
[ атрибуттар ] [ спецификаторлар ] [ const ] типі аты
[ = бастапқы_мәні ]
Алдымен барлық өрістер автоматты түрде өзіне сәйкес типтегі нөлмен инициалданады (мысалы, int типтегі өрістерге 0 меншіктеледі, ал объектілерге сілтемелерге —null мәні меншіктеледі). Мұнан кейін барып оларға тікелей инициалдау кезінде берілген мәндер меншіктеледі.
Класс өрісін пайдалану үшін қатынасу операциясы (нүкте) қолданылады. Нүктенің оң жағында өріс аты, ал сол жағын-да – жай өрістер үшін экземпляр аты немесе статикалық өрістер үшін – класс аты жазылады. Келесі мысалда қарапайым Demo класы мен оның өрістерін пайдаланудың екі түрлі жолы көрсетілген. Ондағы у өрісі жабық болып саналады, өйткені оның типі алдында ешқандай спецификатор жоқ, сол себепті ол алдын ала келісім бойынша private болып саналады.
