Web024-guruh talabasi Rashidov Ural Tekshirdi: Mahmanov Orif Qudratovich Toshkent – 2020 Obyektlar va funksiyalar


Download 25.01 Kb.
Sana31.05.2020
Hajmi25.01 Kb.
#112540
Bog'liq
webUralRashidov


O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLO GIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

Fan nomi: Web dasturlash.

MUSTAQIL ISH

Mavzu: PHP funksiyalari va obyektlari

Bajardi: WEB024-guruh talabasi

Rashidov Ural

Tekshirdi: Mahmanov Orif Qudratovich

Toshkent – 2020





  1. Obyektlar va funksiyalar

Ob'ekt ob'ektga yo'naltirilgan dasturlashning asosiy tushunchalaridan biridir.

Ob'ekt o'zgaruvchi bo'lib, uning namunasi sinf deb nomlangan maxsus shablon bo'yicha yaratiladi. Ob'ektlar va sinflar haqida tushunchalar ob'ektga yo'naltirilgan dasturlash (OYD) ning ajralmas qismidir.

Ob'ekt - bu ma'lumotlar va ularni qayta ishlash funktsiyalarining kombinatsiyasidir. Ma'lumotlar va funktsiyalarga sinf a'zolari deyiladi. Umuman olganda, ob'ekt - bu inkapsullyatsyani qo'llab-quvvatlaydigan barcha narsalar.

class foo

{

function do_foo()



{

echo "Doing foo.";

}

}

$bar = new foo;



$bar->do_foo();

?>

Ob'ekt ichida ma'lumotlar va kod (sinf a'zolari) ochiq yoki yopiq bo'lishi mumkin. Ochiq ma'lumotlar va sinf a'zolari dasturning ob'ekt bo'lmagan qismlaridan ham murojat qilishi mumkin. Ammo yopiq (private) bo’lgan ma'lumotlar va sinf a'zolari faqat ushbu ob'ekt ichida mavjud.



PHP da klaslarni ifodalash uchun class kalit so’zidan foydalaniladi.

class class_nomi {

// class maydonlari va funksiyalarini yoziladigan joy

}

Yangi ob’yektni e’lon qilishda new operatoridan foydalaniladi. Masalan:



Ob’yekt = new class_nomi;

Ma’lumotlar var kalit so’zi yordamida e’lon qilinadi;

Usullar (methodlar) funksiyalar kabi e’lon qilinib, u uzgaruvchilarni qabul qilishi ham mumkin.

// yangi Coor sinifini yaratamiz;

class Coor {

// o’zgaruvchilar

var $name;

var $addr;

// Usul (method) lar

function Name() {

echo "

John

";

}

}



// Coor classidan ob’yekt yaratamiz.

$object = new Coor;

?>

Biz sinflar qanday tasvirlanganiga va ob'ektlar yaratilishini ko’rib chiqdik. Endi biz sinf a'zolariga murojat qilishimiz kerak, buning uchun PHP da “->” operatori ishlatiladi. misol:



// yangi Coor classini yaratilishi

class Coor {

// o’zgaruvchilar

var $name;

// Usul (method) lar

function Getname() {

echo "

John

";

}

}

// Coor classi ob’yetini yaratamiz:



$object = new Coor;

// class elementiga murojat:

$object->name = "Alex";

echo $object->name;

// natija: 'Alex'

// class usullariga murojat:

$object->Getname();

// natija: 'John'

?>

Class ichidagi elementlarga murojat qilish uchun this kalit so’zidan foydalanamiz



Class ichidagi maydonni qaytarish uchun GetName(); metodi:

function Getname() {
echo $this->name;
}

joriy class maydoni qiymatini uzgartirish uchun qo’llangan metod SetName(); :



function Setname($name) {
$this->name = $name;
}

Quyida metodlarning ishlatilishiga manuna keltiramiz:



php
//  Coor classi:
class Coor {
// o’zgaruvhcilar
var $name;

// metodlar:
 function Getname() {
 echo $this->name;
 }

 function Setname($name) {
 $this->name = $name;
 }

}

//  Coor classidan ob’yekt olamiz:
$object = new Coor;
// ism maydonini o’zgartirish uchun Setname() metodini qo’llash:
$object->Setname("Nick");
// ism maydoni ga murojat uchun Getname() ga murojat qilamiz:
$object->Getname();
// Natija: 'Nick'
?>

Endi esa ochiq va yopiq turdagi maydonlar haqida malumot beramiz:



class MyClass
{
    public 
$var1 'qiymat 1';
    public 
$var2 'qiymat 2';
    public 
$var3 'qiymat 3';

    protected $protected 'ximoyalangan uzgaruvchi';


    private   
$private   'yopiq uzgaruvchi';

    function iterateVisible() {


       echo 
"MyClass::iterateVisible:\n";
       foreach (
$this as $key => $value) {
           print 
"$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {


    print 
"$key => $value\n";
}
echo 
"\n";


$class->iterateVisible();

?>

Natijalar:

var1 => qiymat 1

var2 => qiymat 2

var3 => qiymat 3


MyClass::iterateVisible:

var1 => qiymat 1

var2 => qiymat 2

var3 => qiymat 3

protected => ximoyalangan uzgaruvchi

private => yopiq uzgaruvchi



Xulasa:

Yuqorida ko’rilgan ma’lumotlardan shuni tushunish munkinki, dasturlash tillarining asosiy elementi bu obyekt bo’lib, uning ochiq, qopiq va ximoyalangan turdagi maydonlari mavjud bo’lishi mumkin. Ob’yektni shakilantirishda classdan foydalaniladi va shu classdan olingan obyekt yoki nusxa shu tipdagi obyektni yaratish deyiladi ekan.
Download 25.01 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling