0Pricing
PHP Academy · Ders

Çok Biçimlilik

Nesne tabanlı programlamada yöntem geçersiz kılmayı ve dinamik davranışı keşfedin

Çok Biçimlilik, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 5 dersinin 5. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 5 dersten oluşur.

PHP'de Çok Biçimlilik

PHP'de Çok Biçimlilik

Çok biçimlilik dersine hoş geldiniz! Bu derste çok biçimliliğin nesnelerin birden fazla biçim almasını nasıl sağladığını ve PHP'de esnek, yeniden kullanılabilir kodu nasıl mümkün kıldığını öğreneceksiniz. Hadi başlayalım!

Çok Biçimlilik — resim 1

Çok Biçimlilik Nedir?

Çok Biçimlilik Nedir?

Çok biçimlilik, nesnelerin birden fazla biçime sahip olmasını sağlar. PHP'de bu, bir yöntemin onu çağıran nesneye bağlı olarak farklı davranabilmesi anlamına gelir. Bu, yöntemlerin geçersiz kılınması veya bir arayüzün uygulanması yoluyla gerçekleştirilir.

Önemli Nokta: Çok biçimlilik, aynı yöntemin bağlama bağlı olarak farklı görevler gerçekleştirmesine izin vererek kodu basitleştirir ve esnekliği artırır.

Yöntemleri Geçersiz Kılma Yoluyla Çok Biçimlilik

Yöntemleri Geçersiz Kılma Yoluyla Çok Biçimlilik

Bir alt sınıf, üst sınıftaki bir yöntemi geçersiz kıldığında kendi uygulamasını sağlar. Örnek:

Önemli Nokta: Yöntemleri geçersiz kılma, farklı sınıfların aynı yöntem için belirli davranışlar tanımlamasına olanak tanır.

<?php
  class Animal {
    public function speak() {
      echo "The animal makes a sound.";
    }
  }

  class Dog extends Animal {
    public function speak() {
      echo "The dog barks.";
    }
  }

  class Cat extends Animal {
    public function speak() {
      echo "The cat meows.";
    }
  }

  $animals = [new Dog(), new Cat()];

  foreach ($animals as $animal) {
    $animal->speak();
    echo "<br>";
  }
?>

Arayüzleri Kullanarak Çok Biçimlilik

Arayüzleri Kullanarak Çok Biçimlilik

Arayüzler, sınıfların belirli yöntemleri uygulaması için bir sözleşme sağlar. Bu, arayüzü uygulayan tüm sınıfların gerekli yöntemleri tanımlamasını güvence altına alır. Örnek:

İpucu: Arayüzler, sınıflar arasında tutarlılığın sağlanmasına yardımcı olur.

<?php
  interface Shape {
    public function calculateArea();
  }

  class Circle implements Shape {
    private $radius;

    public function __construct($radius) {
      $this->radius = $radius;
    }

    public function calculateArea() {
      return pi() * pow($this->radius, 2);
    }
  }

  class Rectangle implements Shape {
    private $width, $height;

    public function __construct($width, $height) {
      $this->width = $width;
      $this->height = $height;
    }

    public function calculateArea() {
      return $this->width * $this->height;
    }
  }

  $shapes = [new Circle(5), new Rectangle(4, 6)];

  foreach ($shapes as $shape) {
    echo "Area: " . $shape->calculateArea() . "<br>";
  }
?>

Çok Biçimliliğin Avantajları

Çok Biçimliliğin Avantajları

Çok biçimlilik çeşitli avantajlar sunar:

  • Kodun yeniden kullanılabilirliğini teşvik eder.
  • Kodunuzu daha esnek ve ölçeklenebilir hâle getirir.
  • Yeni sınıfların ve işlevlerin eklenmesini basitleştirir.

Örnek: Önceki örneğe yeni bir şekil eklemek, Shape arayüzünün uygulanmasını ve calculateArea() yönteminin tanımlanmasını gerektirir.

Soyut Sınıflarla Çok Biçimlilik

Soyut Sınıflarla Çok Biçimlilik

Soyut sınıflar da çok biçimliliği sağlamak için kullanılabilir. Alt sınıflar, belirli uygulamalar sağlamak üzere soyut yöntemleri geçersiz kılar. Örnek:

Önemli Nokta: Soyut sınıflar, çok biçimliliğe izin verirken temel bir yapı oluşturur.

<?php
  abstract class Vehicle {
    abstract public function start();
  }

  class Car extends Vehicle {
    public function start() {
      echo "Car engine starts.<br>";
    }
  }

  class Motorcycle extends Vehicle {
    public function start() {
      echo "Motorcycle engine starts.<br>";
    }
  }

  $vehicles = [new Car(), new Motorcycle()];

  foreach ($vehicles as $vehicle) {
    $vehicle->start();
  }
?>

Gerçek Dünya Uygulamaları

Gerçek Dünya Uygulamaları

Çok biçimlilik yazılım geliştirmede yaygın olarak kullanılır:

  • Ödeme İşleme: Farklı ödeme yöntemleri (kredi kartı, PayPal) aynı arayüzü uygular.
  • Oyun Geliştirme: Farklı karakter türleri, benzersiz davranışlar için aynı yöntemi geçersiz kılar.
  • Günlük Kaydı Sistemleri: Birden çok günlük kaydı tutucu (dosya, veritabanı) aynı arayüzü kullanır.

Önemli Nokta: Çok biçimlilik, ölçeklenebilir ve bakımı kolay sistemler oluşturmaya yardımcı olur.

Çok Biçimliliğin Zorlukları

Çok Biçimliliğin Zorlukları

Çok biçimlilik güçlü olsa da bazı zorlukları beraberinde getirir:

  • Doğru uygulanmadığında karmaşıklığı artırabilir.
  • Sınıf hiyerarşilerinin ve arayüzlerin dikkatle planlanmasını gerektirir.
  • Geçersiz kılınan yöntemler doğru uygulanmadığında çalışma zamanı hatalarına yol açabilir.

İpucu: Doğruluğundan emin olmak için çok biçimli davranışı her zaman kapsamlı biçimde sınayın.

Harika İş Çıkardınız!

Harika İş Çıkardınız!

Tebrikler! Yöntemleri geçersiz kılma, arayüzler ve soyut sınıflar kullanarak çok biçimliliğin nasıl uygulanacağını öğrendiniz. Çok biçimlilik, esnek ve yeniden kullanılabilir kod oluşturmak için güçlü bir araçtır. Bir sonraki derste soyut sınıflarla daha ayrıntılı çalışmayı inceleyeceğiz. Kod yazmaya devam edelim!

Çok Biçimlilik — resim 10

Sıkça Sorulan Sorular

“Çok Biçimlilik” dersi ücretsiz mi?

Evet — “Çok Biçimlilik” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 5 dersten oluşur.

“Çok Biçimlilik” dersinde ne öğreneceğim?

Nesne tabanlı programlamada yöntem geçersiz kılmayı ve dinamik davranışı keşfedin PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 5 dersinin 5. dersidir.

“Çok Biçimlilik” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. PHP'de Nesne Tabanlı Programlamaya Giriş
  2. Sınıfları ve Nesneleri Tanımlama
  3. Kalıtım
  4. Kapsülleme ve Erişim Belirleyicileri
  5. Çok Biçimlilik
← PHP Academy Sayfasına Dön