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

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

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

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

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

  Нээгдсэн тоо: 316 Нийтийн

Тодорхой нөхцөлд жишээ нь тоог тэгд хуваах гэх мэт тохиолдолд систем өөрөө онцгой нөхцлийн генерацийг хийдэг. Гэхдээ C# хэл throw оператороор онцгой нөхцлийг гараар үүсгэх боломжийг олгодог. Өөрөөр хэлбэл throw оператороор бид өөрсдөө онцгой нөхцлийг үүсгэн түүнийг програмийн ажиллагааны үед дуудаж болно гэсэн үг.

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

.NET фреймворк ердийн төрлүүдээс гадна ерөнхийлөгдсөн (generics) төрлүүд болон ерөнхийлөгдсөн аргуудын үүсгэлтийг дэмждэг. Энэхүү боломжийн онцлогийг судлахын өмнө ерөнхийлөгдсөн төрлүүд байхгүй бол үүсч болох асуудлуудыг авч үзье. Жишээ нь

class Person
{
    public int Id { get;}
    public string Name { get;}
    public Person(int id, string name)
    {
        Id = id;
        Name = name;
    }
}

гэж хэрэглэгчийн өгөгдлийг хадгалах классийг тодорхойллоо гэж үзье. Person класст Id - хэрэглэгчийн давтагдахгүй идентификатор, Name - хэрэглэгчийн нэр гэсэн хоёр шинжийг тодорхойлсон. Энд хэрэглэгчийн идентификаторийг тоон утгаар өгсөн тул шинж 1, 2, 3, 4 гэх мэтээр утгуудыг авна.

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

Хөрвүүлэгч (Interpreter) хэв нь тодорхой хэлний дүрмийг илэрхийлэн энэ хэлний өгүүлбэр хөрвүүлэгчийг /орчуулагч/ тодорхойлдог.

Хэвийг UML диаграмаар дараах байдлаар тодорхойлно.

patt_20_01

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

Хааяа өөр өөр параметрүүдийн багцтай нэг аргыг үүсгэх шаардлага гардаг. Ирсэн параметрүүдээс хамааран аргын тодорхой хэрэгжүүлэлтийг хэрэглэнэ. Ийм боломжийг аргын хэт ачаалал (method overloading) нэрлэдэг. overloading нэрийн хэт ачаалал орчуулга сайнгүй болсон байх талтай. Иймээс нэрийг overloading гээд тогтоогоод явах нь илүү ч байж болно.  
C# хэлэнд класст өөр өөр сигнатуртай /тодорхойлогч/ нэг ижил нэртэй олон аргыг үүсгэх боломжтой. Сигнатур гэж юу вэ? Сигнатур дараах зүйлүүдээс бүрдэнэ.

  • Аргын нэр
  • Параметрүүдийн тоо
  • Параметрүүдийн төрлүүд
  • Параметрүүдийн дараалал
  • Параметрүүдийн модификаторууд

Гэхдээ параметрүүдийн нэрүүд сигнатурт орохгүй.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Тэмцээнд 16 шатарчин оролцсон. Нэгийн давааны хуваарийн хичнээн хувилбар байж болох вэ? / Хуьаарьт дор хаяж нэг өрөгт тоглох хүмүүс нь ялгаатай бол хувилбар гэж тооцно. Тоглох өнгө, ширээний дугаарыг тооцохгүй/

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

 

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

 

prob02_187_01 илэрхийллийг хялбарчил.

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