:: ANASAYFA » PHP » OOP Nesne Yönelimli Proglamlama
 
OOP Nesne Yönelimli Proglamlama

Günümüzün en çok duyulan ve moda olan yazılım geliştirme yöntemi Nesne Yönelimli Programlamadır(Object Oriented Programming). Nesne yönelimli programlamın temel amacı bir durum yada davranışı tek bir yerden yönetmek diyebiliriz. Bu durum yani değişkenler ve davranışlar yani fonksiyonlar nesneleri oluşturur ve ihtiyaç duyulması durumunda çağrılarak kullanılır. Örnek olarak açıklamak gerekirse bir arabayı düşünelim. Arabanın rengi, markası, kapı sayısı, ağırlığı arabanın durumunu oluşturur. Bunun yanında araba çalışır, tekerlekler dönmeye başlar, vites değişir ve durur gibi işlevlerde arabanın davranışlarını oluşturur. Burda gördüğünüz gibi arabanın rengi, markası, kapı sayısı ve ağırlığı arabadan arabaya değişebilir fakat davranışları dediğimiz arabanın çalışması, hızlanması, vitesin değişmesi ve sonra durması her araba için sabit fonksiyonlardır. Yani elimizde kaç tane araba olursa olsun durumları yani değişkenleri değişebilir ama davranışları yanı fonksiyonları sabittir. İşte burda tek bir araca nesne(Object), arabalarda bir tür sınıfdır(class).

 

Şimdi PHP ile nasıl basit bir sınıf oluşturup kullanacağımızı görelim.

 

Class araba

{

Var $marka;

Var $renk;

 

Function araba()

{

 

}

 

Function calistir()

{

Echo 'araba calisti';

}

 

Function durdur()

{

Echo 'araba durdu';

}

 

Function goster()

{

Echo 'Marka : '.$this->marka;

Echo 'Renk : '.$this->renk;

}

 

}

 

Bu şekilde basit bir sınıf oluşturabiliriz. Class ile sınıf ismini belirtiyoruz. Daha sonra class içinde geçerli olacak değişkenleri tanımladıktan sonra fonksiyonlarımızı yazabiliriz. Eğer class değişkenlerini fonksiyon içinde kullanmak istersek $this değişkeni ile kullanmamız gerekir. $this mevcut classı tanımlar ve eğer herhangi bir class değişkeni yada fonksiyonuna erişmek istersek $this ile çağırmamız gerekir.

 

Class ismi ile oluşturulan fonksiyonumuz class oluşturduğumuz anda çalışmaya başlayan fonksiyondur. Kullanma zorunluluğu yoktur ama tanımlandığında sınıfımızı oluşturduğumuzda bu fonksiyon çalışır.

 

Daha sonra sınıfımızı aşağıdaki gibi kullanabiliriz.

 

$arabam = new araba; Şeklinde sınıfmızı tanımlıyoruz.

 

$arabam->model = 'serce'; sınıf değişkenini istediğimiz gibi değiştirelim.

$arabam->calistir(); sınıf fonksiyonunu çalıştıralım

$arabam->durdur();

$arabam->goster();

 

$yeni_arabam = new araba; istediğimiz kadar yeni nesne oluşturabiliriz.

$yeni_arabam->model = 'murat';

$yeni_arabam->renk = 'pembe';

$yeni_arabam->goster();

 

İlk nesnemizde goster fonksiyonu ile bilgileri gosterdiğimizde renk kısmının bos kaldığını görürüz çünkü herhangi bir değer ataması yapmadık. Bunu engellemek için değişkenlerimize varsayılan olarak değer atayabiliriz. Bunu yapmak için sınıf adı ile aynı adı taşıyan başlangıç fonksiyonunu kullanabiliriz.

 

Function araba()

{

$this->model = 'serce';

$this->renk = 'pembe';

}

 

Gelecekte bu sınıfımızı geliştirmek ve yeni özellikler eklemek isteyebiliriz fakat mevcut sınıfımızıda korumak isteyebiliriz. Bunun için illaki gidip sınıfımızı değiştirmemize gerek yoktur. Mevcut sınıfımızdan yeni bir sınıf oluşturabiliriz.

 

Class gelismis_araba extends araba

{

Function vites_degistir()

{

Echo 'vites degisti';

}

}

 

$arabam = new gelismis_araba;

 

$arabam->calistir();

$arabam->vites_degistir();

$arabam->durdur();

 

Gördüğünüz gibi gidip sınıfı değiştirmek yerine mevcut sınıfımızdan yeni bir sınıf oluşturabiliriz.

 

İlk sınıftaki verileri yeni sınıfımızda kullanmak istediğimizde 3 şekilde bunu yapabiliriz. Birincisi mevcut sınıftan oluşturulduğu için istediğimiz fonksiyona ve değişkene $this ile ulaşmamız mümkündür. Diğer bir yöntem ise parent::FonksiyonAdı şeklindedir. Parent sınıfımızı hangi sınıf vasıtası ile oluşturduysak onu belirtir. Parent yerine direkt sınıf adını kullanmakta diğer bir yöntemdir. Ardı ardına birbirinden türetilerek oluşturulan sınıflarda sınıf adı ile kullanmak sınıfın anlaşılması konusunda daha faydalıdır.


PHP OOP Nesne Yönelimli Proglamlama PHP OOP Nesne Yönelimli Proglamlama PHP OOP Nesne Yönelimli Proglamlama
PHP OOP Nesne Yönelimli Proglamlama
YENI SORU
 
E-Mail Adresiniz
»
E-Mail adresiniz site icinde gosterilmeyecektir!  
   
 
Sorunuz
»
Lütfen kodlariniz için [CODE] belirtecini kullaniniz!  
  Add CODE Quote BOLD ITALIC Underline Align Left Align Center Align Right Add Line  
   
 
Güvenlik Kontrolü
»
Lütfen alttaki güvenlik kodunu giriniz!  
   
 
       
 
* Sorunun en kisa sürede cevaplanacaktir, muhtemelen 24 saat içinde!
PHP OOP Nesne Yönelimli Proglamlama PHP OOP Nesne Yönelimli Proglamlama PHP OOP Nesne Yönelimli Proglamlama
PHP OOP Nesne Yönelimli Proglamlama
 
Quaware Internet Solutions And Consulting - SEO Search Engine Optimization, Website development and design, eCommerce, Online Payment Systems, Shopping Cart, Affiliates Website Designer, Search Engine Optimization Expert, Ajax Developer,Developed And Designed By Mumin Celik With Using PHP, MySQL, CSS, JavaScript, Ajax And Search Engine Optimizer Sinema, Film, Ask, Tekgul, Mutluluk