Хандалтын модификаторууд

Классийн бүх талбар, шинж, арга, бусад бүрдүүлэгчид хандалтын модификатортой. Хандалтын модификатор классийн бүрдүүлэгчдийн харагдах хүрээг заах боломжийг олгодог. Өөрөөр хэлбэл хандалтын модификаторууд тухайн хувьсагч эсхүл аргыг хэрэглэж болох контекстийг тодорхойлдог.

Материалыг тусгай эрхтэй хэрэглэгч үзнэ.

request_quoteТусгай эрх авах

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 726 Төлбөртэй

Мэдээллийн технологийн салбарын хөгжлийг дагаад кодлогчийн хэрэгцээ жилээс жилд өссөөр байна. Програмийн кодлогч болоход туслах зорилгоор сайтад орчин үед өндөр эрэлттэй байгаа хэлүүдийн хичээлүүдийг цувралаар оруулсаар байх болно. Аливаа зүйлийг сурах суурь бол таны хүсэл эрмэлзлэл гэдгийг Суралцах хир хэцүү вэ? нийтлэлийг уншаад эргэцүүлэн бодоорой.

Хичээлээр консолоос өгөгдөл оруулах, консолд өгөгдлийг үзүүлэхийг судлах болно.

Консолийн гаралт

Өмнөх хичээлүүдэд консолд мэдээлэл үзүүлэхдээ компиляторын Console.WriteLine аргыг хэрэглэсэн. Хэрвээ консолд мэдээллийг гаргах хэрэгтэй түүнийг Console.WriteLine аргад дамжуулах хэрэгтэй. Жишээ нь төслийн Program.cs файлд

string hello = "Сайн уу Монгол";
Console.WriteLine(hello);
Console.WriteLine("C# -д тавтай морил!");
Console.WriteLine("Баяртай Монгол...");
Console.WriteLine(24.5);

командуудыг (statement) өгөөд төслийг ажлуулбал консолд

гэж харуулна.

  Нээгдсэн тоо: 2984 Төлбөртэй

Энэ хичээлээр бол C# хэл дээр програм зохиох жишээ хичээлийн үргэлжлэл юм. Програм зохиох жишээ 1 хичээлд бид програм юу хийх тухай техникийн даалгавар, бизнес логикийн кодыг бичсэн. 

Хэрэглэгчийн интерфейс

Одоо хэрэглэгчийн интерфейсээ хийцгээе. Үүний тулд TextEditor төслийн Form1.cs файлыг нээнэ. Файлыг Visual Studio төслийг үүсгэхдээ автоматаар оруулан ирдэг. Формын нэрийг ойлгомжтой болгох үүднээс MainForm.cs болгон өөрчилье. Visual Studio хувилбараас хамаараад TextEditor төслийн Program.cs файлын Program класст Application.Run(new MainForm()); өөрчлөлтийг хийх хэрэгтэй болж мэднэ. Интерфейстэй ажиллахын тулд ажлын хэсгийг доорх зурагт үзүүлснээр зохион байгуулъя.

  Нээгдсэн тоо: 508 Төлбөртэй

C# -ийн класс, бүтцүүдэд ердийн аргуудаас гадна шинж гэж нэрлэдэг тусгай аргууд байдаг. Тэдгээр нь класс, структурийн талбарт хандах, утгуудыг авах, өөрчлөх боломжуудыг өгдөг.   

Шинжийн тодорхойлолт

Шинжийн стандарт тодорхойлолт

[модификатор] шинжийн_төрөл шинжийн_нэр
{
    get { шинжийн утгыг авахад хийгдэх үйлдлүүд}
    set { шинжийн утгыг тавихад хийгдэх үйлдлүүд}
}

байдаг. Шинжийн тодорхойлолтын эхэнд төрөл бүрийн модификаторууд тавигдаж болно. Тухайлбал хандалтын модификаторууд модификатор. Дараа нь шинжийн төрөл тэгээд шинжийн нэр байна. Шинжийн бүрэн тодорхойлолт get, set гэсэн хоёр блокийг агуулна.

  Нээгдсэн тоо: 485 Бүртгүүлэх

Хэрвээ системийн өөрийн дотоод онцгой нөхцлийн төрлүүд тохиромжгүй бол бид өөрсдөө төрлүүд үүсгэж болно. Бүх онцгой нөхцлийн суурь класс Exception учраас өөрийн төрлийг үүсгэхдээ бид энэ классаас удамшуулна.  
Жишээ нь манай програмд насны хязгаарлалт байлаа гэе.

try
{
    Person person = new Person { Name = "Tom", Age = 17 };
}
catch (Exception ex)
{
    Console.WriteLine($"Алдаа: {ex.Message}");
}
 
class Person
{
    private int age;
    public string Name { get; set; } = "";
    public int Age
    {
        get => age;
        set
        {
            if (value < 18)
                throw new Exception("18 нас хүрээгүй бол бүртгэл хаалттай");
            else
                age = value;
        }
    }
}

Person классийн age шинжид утга олгохдоо шалгалт хийн нас 18 -аас бага бол онцгой нөхцлийг үүсгэнэ.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 354

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 444

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 417

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 492

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 566

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 559

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 691

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 818

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 821

 
Энэ долоо хоногт

тэгшитгэлийн нэг язгуур нь эерэг, нөгөө язгуур нь сөрөг байх параметрийн бүх утгыг ол.
Тэнцэтгэл бишийн нэг шийд нь M -ээс бага нөгөө шийд нь M -ээс их байх гарцаагүй ба хүрэлцээтэй нөхцөлийг ашиглавал болох бөгөөд энэ тэнцэтгэл бишийг бодвол үед манай тэнцэтгэл бишийн шийдийн нэг нь эерэг нөгөө нь сөрөг байна.

Нээгдсэн тоо : 1567

 

функц [1;9] завсарын аль хэсэгт буурах вэ?

Нээгдсэн тоо : 676

 

функцийн хамгийн бага утгыг ол.

Нээгдсэн тоо : 750