irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
OOP'yi anlamak için sınıfları birer "taslak" veya "mimari plan", nesneleri ise bu plana göre üretilmiş "gerçek yapılar" olarak düşünebilirsiniz. Örneğin; "Araba" bir sınıftır (taslak), ancak sizin kapınızın önündeki "Kırmızı BMW" bir nesnedir.
Bir sınıf, nesnenin sahip olacağı özellikleri (variables) ve yapabileceği eylemleri (functions) içerir. PHP'de sınıflar class anahtar kelimesiyle tanımlanır.
Sınıfı bir kez yazarız, ancak ondan dilediğimiz kadar nesne üretebiliriz. Bunun için new anahtar kelimesini kullanırız.
Bir nesne new ile oluşturulduğu anda otomatik olarak çalışan özel bir metottur. Genellikle nesnenin başlangıç değerlerini atamak için kullanılır.
OOP, kod yazma şeklinizi tamamen değiştirecek bir yaklaşımdır. Başlangıçta karmaşık görünse de "her şeyi bir nesne olarak görmeye" başladığınızda, büyük projeleri yönetmenin ne kadar kolaylaştığını fark edeceksiniz. Bir sonraki aşamada sınıfların birbirine özellik aktardığı "Kalıtım" (Inheritance) konusunu inceleyeceğiz.
1. Sınıf (Class) Tanımlama
Bir sınıf, nesnenin sahip olacağı özellikleri (variables) ve yapabileceği eylemleri (functions) içerir. PHP'de sınıflar class anahtar kelimesiyle tanımlanır.
PHP:
<?php
class Araba {
// Özellikler (Properties)
public $marka;
public $renk;
public $hiz = 0;
// Eylemler (Methods)
public function hizlan($miktar) {
$this->hiz += $miktar;
return "Araba $miktar km hızlandı. Mevcut hız: " . $this->hiz;
}
}
?>
2. Nesne (Object) Oluşturma
Sınıfı bir kez yazarız, ancak ondan dilediğimiz kadar nesne üretebiliriz. Bunun için new anahtar kelimesini kullanırız.
PHP:
$bmw = new Araba();
$bmw->marka = "BMW";
$bmw->renk = "Mavi";
echo $bmw->hizlan(50); // Çıktı: Araba 50 km hızlandı.
$mercedes = new Araba();
$mercedes->marka = "Mercedes";
echo $mercedes->hiz; // Çıktı: 0 (Her nesne kendi verisini tutar)
3. Kurucu Metot: __construct()
Bir nesne new ile oluşturulduğu anda otomatik olarak çalışan özel bir metottur. Genellikle nesnenin başlangıç değerlerini atamak için kullanılır.
PHP:
class Kullanici {
public $ad;
public function __construct($gelen_ad) {
$this->ad = $gelen_ad;
echo "Sistem: $this->ad isimli nesne oluşturuldu!<br>";
}
}
$uye = new Kullanici("Hakan"); // Nesne oluştuğu an ekrana yazı basılır.
OOP Terimleri Sözlüğü
| Terim | Anlamı | Gerçek Hayat Örneği |
|---|---|---|
| Class (Sınıf) | Nesnenin şablonu/planı. | Bir evin mimari projesi. |
| Object (Nesne) | Sınıftan türetilen örnek. | Sokaktaki o spesifik ev. |
| Property (Özellik) | Sınıf içindeki değişkenler. | Evin rengi, oda sayısı. |
| Method (Metot) | Sınıf içindeki fonksiyonlar. | Kapıyı açma, ışıkları yakma. |
| $this | Nesnenin kendisine referans. | "Kendi kapımı aç" demek. |
4. Neden OOP Kullanmalıyız?
[] Tekrar Kullanılabilirlik: Bir sınıfı bir kez yazıp binlerce farklı yerde kullanabilirsiniz.
[] Düzen: İlgili tüm veriler ve fonksiyonlar bir arada durur (Encapsulation).
[] Bakım Kolaylığı: Bir hata olduğunda tüm sayfaları değil, sadece ilgili sınıfı düzeltmeniz yeterlidir.
[] Gelişmiş Özellikler: Kalıtım (Inheritance) ve Arayüzler (Interfaces) gibi ileri seviye teknikleri kullanmanıza olanak tanır.
Sonuç
OOP, kod yazma şeklinizi tamamen değiştirecek bir yaklaşımdır. Başlangıçta karmaşık görünse de "her şeyi bir nesne olarak görmeye" başladığınızda, büyük projeleri yönetmenin ne kadar kolaylaştığını fark edeceksiniz. Bir sonraki aşamada sınıfların birbirine özellik aktardığı "Kalıtım" (Inheritance) konusunu inceleyeceğiz.