Классын төрлүүд I

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

Битүүмжлэгдсэн буюу sealed класс

Классыг тэмдэглэх sealed түлхүүр үгийн орчуулга нь битүүмжлэгдсэн гэсэн байгаа юм. Орчуулга оновчтой болоогүй байж мэдэх тул sealed class гэсэн англи нэрээр нь тогтоон авбал илүү сайн. sealed түлхүүр үг юуг илэрхийлэх, хаана хэрхэн ашиглах вэ? Хэрвээ классыг sealed түлхүүр үгээр тэмдэглэсэн бол тэр эцэг класс болж болохгүй. Өөрөөр хэлбэл sealed классаас удамшуулж болохгүй. Иймээс удамшилтын гинж sealed түлхүүр үгээр тэмдэглэгдсэн класс дээр тасрах болно.

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

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

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

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

Модел-үзүүлбэр-контролер (model-view-controller) ухагдхуун 1970 оны сүүлээр гарч ирсэн. Энэ загвар Xerox PARC компаний Smalltalk төслийн үр дүн бөгөөд тухайн үедээ өмнө нь хийгдсэн байсан програмуудын хэрэглэгчийн графикийн интерфейсүүдийг зохион байгуулах хэлбэрээр гарч иржээ. Анхны MVC загварын зарим зүйлүүд Smalltalk төслийн дэлгэц, хэрэгслүүд гэх мэтийн тодорхой баримтлалтай холбоотой байсан ч илүү нэгдсэн ойлголтуудыг програмд ашиглаж байсан. Модел-үзүүлбэр-контролер паттерн веб програмчлалд маш сайн тохирдог тул ASP.NET фреймворкид загвар сайн хэрэглэгээг олсон. Гэхдээ бид энэ удаа хэвийг WPF -д ашиглахыг авч үзэх болно.
Хэвийг ерөнхийлөх талаас нь харвал бүтцийн MVC паттерн програмыг багаар бодоход 3 хэсэгт хуваана гэж ойлгож болно. Нэрнээсээ ч загвар програмыг Модел, Үзүүлбэр, Контролер гэсэн хэсгүүдэд хуваах нь харагдана.

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

Өөр функцийн дотор тодорхойлогдсон функцийг локал функц гэдэг. Локал функц тухайн аргын хүрээнд хийгдэх үйлдлүүдийг агуулдаг. Локал функцийг ойлгохын тулд хоёр тоон массивийн нийлбэрийг харьцуулах Compare аргыг

void Compare(int[] numbers1, int[] numbers2)
{
    int numbers1Sum = 0;
    int numbers2Sum = 0;

    foreach (int number in numbers1)
        numbers1Sum += number;

    foreach (int number in numbers2)
        numbers2Sum += number;

    if (numbers1Sum > numbers2Sum)
        Console.WriteLine("numbers1 массивийн тоонуудын нийлбэр их");
    else
        Console.WriteLine("numbers2 массивийн тоонуудын нийлбэр их");
}

int[] numbers1 = { 1, 2, 3 };
int[] numbers2 = { 3, 4, 5, 6, 7 };

Compare(numbers1, numbers2);

гэж тодорхойльё.

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

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

Хэвийг хаана ашиглах  

  • Төлөв байдлаараа ялгаатай нэг төрлийн хэдэн классууд байх үед нэг үндсэн классыг өгөөд төлөв байдлын өөр хувилбаруудыг тусдаа классуудад гаргаад шаардлагатай үед тэдгээрийг хэрэглэх.
  • Нөхцлөөс хамааран алгоритмын хувилбаруудаас амархан сонголт хийх боломжийг хангах хэрэгтэй үед.
  • Програм ажиллах явцдаа обьектуудын төлөв байдлыг өөрчлөх шаардлагатай үед
  • Тодорхой ажиллагааг ашиглаж буй класс түүний хэрэгжүүлэлтийн талаар юуг ч мэдэх ёсгүй үед

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

Команд (Command) хэв тодорхой үйлдэл гүйцэтгэх шаардлагыг тусдаа обьект хэлбэрээр хайрцаглах боломжийг олгодог. Үйлдэл гүйцэтгэх энэхүү шаардлагын обьектыг команд гэж нэрлэдэг. Ингэхдээ үйлдэл гүйцэтгэх шаардлагыг агуулсан обьектууд үйлдлийг гүйцэтгэх обьектуудаас салангид байдаг. Командуудад холбогдолтой мэдээллийг параметр хэлбэрээр дамжуулахын дээр тэдгээрийг дараалалд оруулах, дарааллаас хасаж болно.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэнцэл бишийг бод.

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

 

B(5;3) цэгт төгсгөлтэй AB вектор (3;1) гэсэн кординаттай бол A цэгийн абцисс, ординатын нийлбэрийг ол.

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

 

prob14_84_01 функцийн хязгаарыг ол.

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