Скачиваний:
19
Добавлен:
27.11.2023
Размер:
99.15 Кб
Скачать

Object Oriented Programming (oop)

Bul programmalaw, jan’a programmalaw tu’ri bolip bolsaplanadi, yag’niy, egerde siz C++, Visual Basic, Delphi kibi programmalaw tillerin u’yrengen bolsan’iz bul siz ushin jan’aliq bolmaydi, egerde bilmesen’iz onda usi temani ko'rip shiqqanin’izdan son’ sizde bul programmalaw tu’ri haqqinda mag'liwmatin’iz boladi. OOP - bul programman’izda qanday da bir obiekt jaratip onnan keyingi o'zin’izge kerek bolg’an jerlerde isletiw bolip bolsaplanadi. Yag’niy bolmag’an bir obiekt payda etiw.

Obiektler – obiektke bag’darlang’an da’stu’lewden kirip kelgen mag’liwmat tipi bolip bolsaplanadi. Obiektke bag’darlang’an da’stu’lew tu’sinigine qarag’anda, klass – aniq juwmaqlarg’a iye ha’m olar menen isleytug’in metodli obiektler toplami. Obiekt bolsa sa’ykes tu’rde klass nusqasi bolip bolsaplanadi. Ma’selen, da’stu’rshiler – bul da’stu’rdi du’ziwshi, kompyuter a’debiyatlarin u’yrenetin adamlar klasi ha’m bunnan tisqari ha’mme adamlar qatari ati ha’m familiyasi bar. Endi egerde qanday da bir aniq da’stu’rshi – Azamat Boboevti alsaq, ol jag’dayda oni usi qa’siyetke iye bolg’an da’stu’rshi klasin obiekti sipatinda qaraw mu’mkin ha’m ol da da’stu’r du’zedi, ha’m de ati bar bolg’an ha’m basqalar.

PHP da’stu’rlew tilinde obiekt metodina mu’ra’jat a’melinen paydalaniladi. Obiektti initsiyalizatsiya qiliwda obiektti o’zgeriwshen’ nusqasin jaratatug’in new an’latpasinan paydalaniladi.

Paydalaniwshi ta’repinen aniqlanatug’in funktsiyalar haqqinda aytilg’anda ishley jaylasqan funktsiyalar haqqinda so’z ketpewi mu’mkin emes. Biz PHP de echo(), print(), date(), include() kibi ishley jaylasqan funktsiyalar menen tanisqan edik. Bunnan tisqari date() funktsiyasinan basqa barliq funktsiya PHP da’stu’rlew tili konstruktsiyasina iye. Olar PHP da’stu’rlew tili yadrosina jaylasqan bolip, hesh qanday moduller ha’m qosimsha o’gerttiriwler talap etpeydi. Biraq sonday funktsiyalar bar, olarg’a tu’rli fayl biblotekalari ha’m sa’ykes tu’rde modullerdi ju’klemesten basqa ilaji jok. Ma’selen, MySql mag’liwmatlar bazasi menen isleytug’in funktsiyalar paydalaniw ushin sonday ken’eytpeli fayllardi qollap quwatlaytug’in kompanentleri kerek. Aqirg’i waqitlari bul funtksiyalardan paydalaniw ushin qosimsha kompanentler kerek emes, sebebi olardin’ barlig’i ha’zirde PHP da’stu’rlew tili yadrosina kiritilgen.

Klasslar ha’m obiektler.

Obiektke bag’darlang’an da’stu’rlewdin’ tiykarg’i tu’sinikleri – klasslar ha’mde obiektler bolip bolsaplanadi. Bul tu’siniklerdi to’mendegidhe tu’siniw mu’mkin: obiekt – bul da’stu’rde qollanilatug’in tu’sinik yamasa qandayda bir fizik predmet haqqinda mag’liwmat beretug’in strukturalang’an o’zgeriwshiler bolip bolsaplanadi. Klasslar bolsa bul obiektlerdin’ tu’sindirmesi ha’m olar u’stinde orinlanatug’in ha’reketler bolip bolsaplanadi.

PHP da’stu’rlew tilinde klasslar to’mendegi sintaksis ja’rdeminde aniqlanadi:

class Klass_ati{

var $qa’siyet_ati;

/* qa’siyetler_kestesi*/

function metod_ati( ){

/* usillardin’ denesi */

}

/*usillar kestesi*/

}

Klass obiektleri qa’siyetler ati var gilt so’zi ja’rdeminde jariyalanadi, berilgen klass obiektlerine qollanilg’an usillar funktsiya sipatinda isletiledi. Klass denesi ishinde this gilt so’zi ja’rdeminde mira’t etilip atirg’an usi klassqa mu’ra’jatti a’melge asiriwg’a boladi.

Misali, biz maqala kategoriyasin su’wretlewshi klass du’ziwimiz kerek. Ha’r bir maqalanin’ ati, avtori ha’m qisqa mazmuni siyaqli qa’siyetleri bar. Biz maqala menen qanday a’mel orinlamaqshimiz? Biz sanap o’tilgen qa’siyetlerge ma’nis beriwimiz, maqalani brawzerde ko’rsetiwimiz kerek boladi. Sonda bul klasstin’ an’latiliwi to’mendegishe halatta boladi:

<?

class Articles { // Maqala klasin du’zemiz

var $title;

var $author;

var $description;

// maqala atributi

// ma’nisin o’zgerttiriwshi usil

function make_article($t, $a, $d){

$this->title = $t;

$this->author = $a;

$this->description = $d;

}

//klass nusqasin an’latiw ushin usil

function show_article(){

$art = $this->title . "<br>" .

$this->description .

"<br>Avtor: " . $this->author;

echo $art;

}

}

?>

Solay etip, “maqala” tu’rindegi fizik obiektlerdi su’wretlew ushin biz u’sh o’zgeriwshiden quralg’an, maqala harakteristikasinin’ o’zinde ja’mlengen Articles atli klass ha’m turaqli maqala du’ziw ha’m oni su’wretlew ushin eki funktsiya du’zdik.

Bizge belgili, PHP menen islew periodliq jag’dayda HTML rejiminde ju’kleniwi mu’mkin. Bul jag’dayda da’stu’r bir neshe kodtin’ bo’lekleri(bloklari)nen quraladi. Klassti an’latiw php-kodinin’ ha’r qiyli bloklari boyinsha ha’m qalaberse ha’r qiyli fayllar boyinsha tarqatilmawi kerek. Yag’niy to’mendegishe jazsaq:

<?php

class Articles { // Klasstin’ su’wretleniwinin’ basi

var $title;

?>

<?php

// Klasstin’ su’wretleniwinin’ dawami

function show_article(){

// usildin’ qurami

}

} // Klasstin’ su’wretleniwinin’ aqiri

?>

Bunda da’stu’r ta’rtipli isleydi.

Klass ati ma’selesinde ayirim na’rselerdi itibarg’a aliw kerek. Klass tin’ ati PHP tilindegi obiektlerdin’ ataliwi qag’iydalarina juwap beriwi lazim, biraq bir qatar atlar bar, texnik qa’niygeler ta’repinen o’z maqseti ushin rezerv etiledi. Birinshi na’wbette bul atlar “_” to’mengi siziqtan baslaniwshilar bolip bolsaplanadi. Klasslar ha’m funktsiyalar du’ziw ushin bul siyaqli atlardi isletpewimiz kerek. Bunnan tisqari stdClass ati rezerv qiling’an, biraq ol PHP su’rilgisi ishinde isletiledi.

Class

Class: bul OOPnin’ tiykari bolip bolsaplanadi. Yag’niy siz klass jaratasiz ha’m onnan keyinshelik paydalaniwin’iz mu’mkin. Kelin’ misalda ko'rip shig’ayiq. class Class_name{ //Class_name atli klass jarattiq var $attribute_1; //ishinde qa’legenimizshe o'zgeriwshini tanitamiz:

...

var attribute_2; function function1(){ //qansha qa’lesek sonsha funktsiya jaratamiz

...

}

...

function functionN(){

...

}

...

} //bul jerde bolsa Class_Name jabiladi.

Mine ko'rganin’izdey biz bul jerde class penen basladiq ha’m ishinde kerekli da’rejede o'zgermes ha’m kerekli da’rejede funktsiya jarattiq.

Egerde siz obiektin’iznin’ ishinde usi obiektin’izdi qanday da bir funktsiyasina ya’ki o'zgeriwshisine mu’ra’jat etpekshi bolsan’iz onda $this funktsiyasinan paydalanasiz.

Misal:

<?

class Webpage(){ var $bgcolor; function setBgColor($color) {

$this> bgcolor=$color;

}

function getBgColor(){ return $this> bgcolor;

}}

?>

Mine biz o'zimizge klass jarattiq, endi obiekt jaratamiz.

$home_page=new Webpage; //home_page atli obiekt jarattiq, yag’niy ol tap usi Webpage siyaqli bolip bolsaplanadi.

$home_page->setBgColor(“black”); //Bul jerde bolsa biz home_page ge black ren’in jiberdik.

Siz bul jaratqan klasslardan ja’ne bir qansha ishki klass jarata alasiz, yag’niy, Webpage klassinan paydalanip og’an basqa qosimshalar da qosiwiniz mu’mkin.

Misal:

<?

class Webpage(){ var $bgcolor; function setBgColor($color) { $this> bgcolor=$color; } function getBgColor(){ return $this> bgcolor;

}

}

class UzWebpage extends Webpage{ var admin; function setSiteAdmin($adm){

$this> admin=$adm;

} function getSiteAdmin(){ return $this> admin

}}

?>

Tap usi jerde biz Webpage di ja’ne de ken’eyttirdik, yag’niy UzWebpage qildiq ha’m og’an qosimsha funktsiya berdik, yag’niy sitening administratorin berib shiqdiq.

Соседние файлы в папке REFERAT KURS JUMISI