ОХП -ын дадлагын ажил 3

Өнөөдөр бид дадлагын хичээлээ обьект хандалтад программчлалын суурь ойлголтын нэг болох өвлөх зарчмаар үргэлжлүүлнэ. Өвлөх (Inheritance) гэж юу вэ? Өмнө нь үүсгэсэн байсан классын бүх арга болон шинжүүдийг дараагийн класс өвлөн авах боломж юм. Энэ тохиолдолд өмнө нь үүсгэсэн классыг "эцэг" харин түүнээс өвлөлт хийж байгааг "хүүхэд" гэж нэрлэдэг талаар Өвлөх (Inheritance) зарчим хичээлд үзсэн. Иймд механизмын талаар энд дэлгэрүүлж үзэлгүйгээр шууд дадлагын даалгавартаа орцгооё.

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

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

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

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

Өмнөх хичээлүүдэд манай жижигхэн АУСистемийн өгөгдлийн санг үүсгэн тохиргооны файлыг бичсэн. Одоо манай программын үндсэн класс болох Article -ийг үүсгэе. Манай системд Article нь өгөгдлийн санд материалыг хадгалах, тэдгээрийг удирдах, сайтын хуудаст гаргах материалуудыг татан авчрах асуудлуудыг шийдвэрлэх ердөө ганц PHP класс юм. Бид энэхүү классыг үүсгэсний дараа материалыг үүсгэх, шинэчлэх, үзүүлэх, устгах скриптүүдийг үнэхээр амархан зохиох болно. 

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

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

1-р хичээлд сайтын агуулгыг хадгалах баазыг MySql серверт үүсгэн өгсөн болохоор төлөвлөгөөний дагуу articles хүснэгтийг үүсгэх ажлыг эхлэе. Манай өгөгдлийн сан ганцхан хүснэгттэй байна. Цуврал хичээлийн зорилго бол маш энгийн агуулгын удирдах системийг хийх. Том хэмжээтэй олон хүснэгт бүхий систем хийх нь таны цаашдын зорилго болно. Өгөгдлийн санд хандан агуулгыг татан аваад түүнийгээ хэрэглэгчид үзүүлэх, өгөгдлийн сандаа мэдээлэл оруулан засварлах ажиллагаа бол динамик сайтын ажиллагааны үндсэн зарчим. Энэ бүгдийг ойлгоход цуврал хичээлүүд хангалттай мэдлэгийг өгч чадна.

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

Веб сайтад хэрэглэгчийн оруулсан мэдээллийн зөв эсэхийг шалгах ажил олон гардаг. Ийм асуудлыг мөрийн функцуудээр шийдвэрлэх нь нилээд хүндрэлтэй ажил болно. Тэгэхлээр ийм төрлийн ажиллагаанд хамгийн үр дүнтэй шийдэл нь тогтмол илэрхийлэл буюу (regular expression) ашиглах явдал юм. Эхэндээ тогтмол илэрхийлэл нь танд их ойлгомжгүй мэт санагдаж болох боловч маш бага хэмжээний мэдлэгийн хүрээнд олон хүнд асуудлуудлыг шийдвэрлэж болно.

Тогтмол илэрхийлэл.

Тогтмол илэрхийлэл гэдэг нь текстэн мөр юм. Тусгай тэмдэгтүүдээр үүсгэсэн хэвээр (шаблон) мөр дотор хэвэнд тохирох хэсгийг хайдаг. PHP –д POSIX, PCRE гэсэн хоёр төрлийн тогтмол илэрхийллийг ашигладаг. Бид хичээлээр POSIX төрлийг авч үзнэ. Тогтмол илэрхийллийг хэрхэн үүсгэдэг талаар үзэхийн өмнө хэвийн (шаблон) тухай ойлголттой танилцъя.
Хэв гэдэг ойлголт нь зөвхөн програмчлалын хэлэнд байдаг ойлголт биш. Жишээ нь бид php суулгасан директорт ороод хайлт хийх (F3) товчийг дараад php гэж бичээд хайлт хийхэд нэрэнд нь php гэсэн үг орсон бүх файлуудыг гаргаж ирдэг. Энд бид хэв (шаблон) үүсгэж өгсөн гэсэн үг. Одоо хайлтын нөхцлөө нарийвчилъя. Хэрвээ бид хайлт хийхдээ php? бичиж өгвөл энэ нь хайж байгаа файлын нэр нь php гэж эхлээд араас нь дурын тэмдэгтүүд байж болохыг заасан хэв болж байгаа болно. Ерөнхийдээ ийм зарчмаар PHP -д хэвийг үүсгэж өгдөг.

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

Класс, обьект , өвлөгдөх механизмын талаар ойлголттой болсон болохоор одоо шинж болон аргуудын харагдах байдлын талаар авч үзэцгээе. Арга ба шинжүүдэд хандалтыг public, protected, private гэсэн түлхүүр үгнүүдийг ашиглан зохицуулдаг. Өмнөх хичээлүүдэд бид бүх шинжүүдийг public (нээлттэй) хэлбэрээр зарлаж байсан. Ийм төрөл нь бүх аргуудад анхдагч байдлаар өгөгддөг. Өөрөөр хэлбэл аргад ямар төрлийнх гэдгийг шууд заагаагүй бол түүнийг public гэж тооцдог. Классын элементүүдийг public (нээлттэй), protected (хамгаалагдсан), private (хаалттай) байдлаар зарлах боломжтой. Эдгээрийн ялгааг авч үзвэл:

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Хоёр тойрог гадна талаараа шүргэлцсэн. Нэг тойргийн шүргэгч нь нөгөө тойргийнхоо төвийг дайран гарсан. Шүргэлтийн цэгээс хоёрдахь тойргийн төв хүртэлх зай нь энэ тойргийн радиусаас 3 дахин урт. Нэгдүгээр тойргийн урт хоёрдугаар тойргийн уртаас хэд дахин их вэ?

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

 

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

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

 

бол илэрхийллийн утгыг ол.

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