Php 8 Class

Php 8 Class

PHP 8'de sınıflar (classes), nesne yönelimli programlamanın temel yapı taşlarını oluşturur. Sınıflar, veri (özellikler) ve davranış (metotlar) tanımlamak için kullanılır. Bu yazıda sınıfların nasıl oluşturulacağı, özellikler ve metotlar ile nasıl kullanılacağı hakkında bilgi vereceğim.

1. Sınıf Tanımlama

Bir sınıf tanımlamak için class anahtar kelimesi kullanılır. Aşağıda basit bir sınıf tanımlama örneği bulunmaktadır:

class Car { // Özellikler public $color; public $model; // Metot public function drive( ) { return "The car is driving."; } }

2. Özellikler

Sınıf içindeki değişkenlere özellik denir. Özellikler genellikle sınıfın durumunu tutar ve erişim belirleyicileri (public, protected, private) ile tanımlanır.

  • Public: Her yerden erişilebilir.
  • Protected: Sadece sınıf ve alt sınıflar tarafından erişilebilir.
  • Private: Sadece sınıf içinde erişilebilir.

Örnek:

class Person { public $name; // Her yerden erişilebilir protected $age; // Sadece bu sınıf ve alt sınıflar tarafından erişilebilir private $ssn; // Sadece bu sınıf içinde erişilebilir public function __construct( $name, $age, $ssn ) { $this->name = $name; $this->age = $age; $this->ssn = $ssn; } }

3. Metotlar

Sınıf içindeki fonksiyonlara metot denir. Metotlar, sınıfın özellikleri üzerinde işlem yapar veya belirli bir davranışı tanımlar.

Örnek:

class Calculator { public function add( $a, $b ) { return $a + $b; } public function subtract( $a, $b ) { return $a - $b; } } $calc = new Calculator(); echo $calc->add(5, 3); // 8 echo $calc->subtract(5, 3); // 2

4. Sınıfın Nesnesini Oluşturma

Sınıf tanımlandıktan sonra, bu sınıftan nesne (object) oluşturulabilir. Nesne oluşturmak için new anahtar kelimesi kullanılır.

Örnek:

$myCar = new Car(); $myCar->color = "red"; $myCar->model = "Toyota"; echo $myCar->drive(); // "The car is driving."

5. Yapıcı ve Yıkıcı Metotlar

Yapıcı Metot (Constructor)

Yapıcı metot, bir sınıfın nesnesi oluşturulduğunda otomatik olarak çağrılır. Genellikle özellikleri başlatmak için kullanılır. PHP’de yapıcı metot __construct() ile tanımlanır.

Örnek:

class Dog { public $name; public function __construct( $name ) { $this->name = $name; } public function bark( ) { return "Woof! My name is " . $this->name; } } $myDog = new Dog("Buddy"); echo $myDog->bark(); // "Woof! My name is Buddy"

Yıkıcı Metot (Destructor)

Yıkıcı metot, bir nesne yok edildiğinde otomatik olarak çağrılır. Genellikle bellek yönetimi veya kapanış işlemleri için kullanılır. PHP’de yıkıcı metot __destruct() ile tanımlanır.

Örnek:

class Resource { public function __destruct( ) { echo "Resource is being destroyed."; } } $resource = new Resource(); // $resource nesnesi yok edildiğinde "Resource is being destroyed." mesajı yazdırılacak.

6. Kalıtım

Kalıtım, bir sınıfın başka bir sınıftan özellik ve metotları miras almasına olanak tanır. Bu, kodun yeniden kullanılabilirliğini artırır.

Örnek:

class Animal { public function makeSound( ) { return "Some sound"; } } class Cat extends Animal { public function makeSound( ) { return "Meow"; } } $myCat = new Cat(); echo $myCat->makeSound(); // "Meow"

7. Statik Özellikler ve Metotlar

Statik özellikler ve metotlar, bir sınıfın nesnesine ihtiyaç duymadan erişilebilen özellikler ve metotlardır. Statik özellikler ve metotlar static anahtar kelimesi ile tanımlanır.

Örnek:

class Math { public static function square( $number ) { return $number * $number; } } echo Math::square(4); // 16

8. PHP 8 ile Yeni Özellikler

PHP 8, sınıflarla ilgili bazı yeni özellikler sunar:

  • Constructor Property Promotion: Özelliklerin tanımlanmasını ve atanmasını daha kısa hale getirir.
class User { public function __construct( public string $name, public int $age ) {} } $user = new User("Alice", 30);
  • Union Types: Bir metot veya özellik birden fazla türde değer alabilir.
function example( int|string $value ): void { echo $value; }
  • Attributes: Sınıf ve metotlara meta veriler ekler.
#[Route("/user/{id}")] class UserController { // ... }

Sonuç

PHP 8'de sınıflar, nesne yönelimli programlamanın temel unsurlarıdır. Sınıflar, nesneleri tanımlamak, veri ve davranışları bir arada tutmak için kullanılır. Bu yapı, kodun daha modüler, okunabilir ve bakımını kolaylaştıran bir şekilde organize edilmesine olanak tanır. OOP ile yazılmış kodlar genellikle daha az hata içerir ve esnek bir yapıya sahiptir, bu da modern yazılım geliştirmede önemli bir avantajdır.



Yorum Ekle

Üzerine gel