Hoşgeldin Misafir

PHP Class (Nesne) Oluşturma

SONBALSANCAK

9 Eyl 2017
11 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Bir nesne oluşturmak için önce onu tanımlamamız gerekir. class deyimini kullanarak yapabiliriz. Bir nesnenin özellikleri (properties) ve metodları (methods) vardır.

PHP:
<?php 

class ogrenci { 

// özellikleri tanımlayalım 

var $adi; 

var $soyadi; 

var $sinav1; 

var $sinav2; 

var $not; 

// metodları tanımlayalım 

function adi_belirle ($n) { 

$this->adi = $n; 

} 

function soyadi_belirle ($n) { 

$this->soyadi = $n; 

} 

function sinav1_belirle ($n) { 

$this->sinav1 = $n; 

} 

function sinav2_belirle ($n) { 

$this->sinav2 = $n; 

} 

function not_hesapla() { 

$this->not = ($this->sinav1 + $this->sinav2)/2; 

print ($this->adi. " " . $this->soyadi . " için not ortalaması: ". $this->not); 

} 

} 

$ogr1 = new ogrenci(); 

$ogr1 -> adi_belirle("Zafer"); 

$ogr1 -> soyadi_belirle("Kabalak"); 

$ogr1 -> sinav1_belirle(7); 

$ogr1 -> sinav2_belirle(10); 

$ogr1 -> not_hesapla(); 

?>

Bu programda ogrenci adlı bir nesne tanımlıyoruz; ve daha sonra bir değişken adına new komutu ile bu nesnenin bir örneğini oluşturuyoruz. 

Nesnelerin yeni bir örneği veya kopyasını çıkartmak ifadeleri aslında yaptığımızı tam anlatmıyor. Nesnenin tanımı bir adet; her new komutu ile bu nesnenin özelliklerine ve metodlarına sahip yeni bir nesne yapmış oluyoruz. 

PHP:
$ogr1 = new ogrenci(); 

$ogr1 -> adi_belirle("Semih");  

Burada $ogr1'in parametrelerine nasıl değer yazdırdığımızı görüyorsunuz. Nesnenin metodlarından biri olan adi_belirle fonksiyonuna bir değer veriyoruz: "ޞahika"; nesne oluşturulurken yazılmış olan bu fonksiyon ise aldığı değeri, kendi ait olduğu nesnenin bir değişkenine kaydediyor:

PHP:
function adi_belirle ($n) { 

$this->adi = $n; 

}  

Bu ve diğer fonksiyonlarda kullandığımız "$this->" ifadesi, kendisine ulaştırılan değeri bir parametre olarak kullanıyor ve "$adi" değişkenine yazıyor. "this" (bu) kelimesi o anda nesnenin o anda oluşturulmakta olan örneğine göndermede bulunur. "->" işlemcisini kullanarak, istediğimiz nesnenin istediğimiz metoduna veya parametresine değer gönderebiliriz. Bir nesnenin yeni bir örneğini oluşturduğumuz zaman, bu örneğin bütün parametrelerini sağlamak veya bütün metodlarını kullanmak zorunda değiliz.