Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
REFERAT KURS JUMISI / Madraimov Shahzodning Web ilovani yaratish -1.docx
Скачиваний:
11
Добавлен:
27.11.2023
Размер:
220.22 Кб
Скачать

Php da sinf va obyektlarga murojaat.

Sinfning ichida sinf azolariga murojaat qilish uchun $this ko’rsatkichidan fotdalanish kerak. U har doim joriy obyektga tegishli bo’ladi. Takomillashtirilgan Getname()metodi:

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

huddi shunday usul bilan Setname()metodini ham yozish mumkin:

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

Endi o’zgarishlar uchun Setname()metodidan foydalanish mumkin:

$object->Setname("Peter"); $object->Getname();

Quyida to’liq koding ko’rinishi keltirilgan:

<?php // yangi Coor sinfini yaratamiz: class Coor { // o’zgaruvchilar: var $name; // metodlar:  function Getname() {  echo $this->name;  }  function Setname($name) {  $this->name = $name;  } } // Coor sinfining obyektini yaratamiz: $object = new Coor; // endi namni o’zgartirish uchun Setname() metodidan // foydalanamiz: $object->Setname("Talabalar"); //  murojaat uchun esa avvalgidek Getname()

// foydalanamiz: $object->Getname(); // bu skript Talabalar qatorini chiqarib beradi ?>

Avvalgi HTML va CSS kodlar bilan Skriptni ishga tushirib quyidagi ko’rinishga ega bo’lamiz:

$this ko’rsatkichini faqatgina o’zgaruvchilarga murojaat uchun emas balki metodlarga murojaat uchun ham foydalanish mumkin:

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

Sinf elementlariga murojaat.

Sinf elementlariga murojaat :: (ikki marta ikki nuqta) operatori orqali amalga oshiriladi. Bu operatordan foydalanib sinfning metodlariga ham murojaat qilish mumkin.

Sinf metodlariga murojaat qilganda dasturchi bu sinfning nomlarini ishlatishi kerak.

<?php class A {      function example() {     echo "A sinfining example() metodi yordamida chiqarildi.<br><br>";      } } class B extends A {      function example() {          echo "Bu B sinfining example() metodi yordamida chiqarildi.<br><br>";

//B sinfining ichida A sinfiga murojaat qilamiz          A::example();      } } // example() metodidan foydalanish uchun

// A sinfining obyektini yaratish shart emas // faqatgina uning metodiga :: operatori orqali

// murojaat qilamiz A::example();

// bu yerda example metodi bajariladi

//lekin B sinfining obyektini yaratamiz.

$b = new B; // bundan keyin ekranga  // Bu B sinfining example() metodi yordamida

// chiqarildi. yozuvi chiqariladi // B sinfining ichida A sinfining example motodiga

// murojaat qilingani uchun

// A sinfining example() metodi yordamida chiqarildi.

// yozuvi ham chiqariladi $b->example(); ?>

Php da sinf obyektlari bilan ishlash.

Obyektlarni nusxalash. PHP tili shunday tuzilganki unda hamma o’zgaruvchilar shu jumladan obyektlar ham oddiy qiymatlar to’plami sifatida qaraladi. Shuning uchun ham ular to’laligicha nusxalanadi. Masalan bizlarda $aobyekti bor bo’lsa va bizlar $b=$aoperatorini bajarsak, $a ning hamma qiymatlari birma – bir nusxalanadi.

<?php class A { // yangi Test nomli metod yaratamiz:  function Test() {  echo "<h1>Salom!</h1>";  } } // A sinfining obyektini yaratamiz: $a=new A(); // $a obyektni nusxalaymiz: $b=$a; // endi yangi $b obyekti bilan ishlaymiz $b->Test(); // 'Salom!' satri chiqariladi ?>

Obyektlarni taqqoslash.PHP 4 da obyektlarni taqqoslash juda ason yani nomlari bilan. Ikkita obyekt bir birga teng bo’ladi agar ular bir hil hususiyat va qiymatlarga ega bo’lsa va bitta sinfning obyektlari bo’lsa. Ikkita obyektni taqqoslash uchun “===” operatoridan foydalanamiz. Keling unga tegishli bitta misol qaraylik:

<?php class A { // yangiTestnomlimetodyaratamiz:  function Test() {  echo "<h1>Salom!</h1>";  } } // Asinfiningobyektiniyaratamiz: $a=new A(); // yana bir marta Asinfiningobyektiniyaratamiz: $b=new A(); // agar obyektlar teng bo’lsa chiqaramiz: if ($a===$b) 

echo "<h3>Obyektlar bir biriga teng</h2>"; ?>

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