0Pricing
PHP Academy · Pelajaran

Polimorfisme

Jelajahi penimpaan metode dan perilaku dinamis dalam OOP

Polimorfisme adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 5 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 5 pelajaran total.

Polimorfisme dalam PHP

Polimorfisme dalam PHP

Selamat datang di pelajaran tentang polimorfisme! Dalam pelajaran ini, Anda akan mempelajari cara polimorfisme memungkinkan objek memiliki banyak bentuk serta memungkinkan kode PHP yang fleksibel dan dapat digunakan kembali. Mari kita pelajari!

Polimorfisme — ilustrasi 1

Apa Itu Polimorfisme?

Apa Itu Polimorfisme?

Polimorfisme memungkinkan objek memiliki banyak bentuk. Dalam PHP, ini berarti sebuah metode dapat berperilaku berbeda bergantung pada objek yang memanggilnya. Hal ini dicapai melalui penimpaan metode atau penerapan antarmuka.

Poin Penting: Polimorfisme menyederhanakan kode dan meningkatkan fleksibilitas dengan memungkinkan metode yang sama menjalankan tugas berbeda bergantung pada konteksnya.

Polimorfisme melalui Penimpaan Metode

Polimorfisme melalui Penimpaan Metode

Saat kelas anak menimpa metode di kelas induk, kelas tersebut menyediakan implementasinya sendiri. Contoh:

Poin Penting: Penimpaan metode memungkinkan kelas yang berbeda menentukan perilaku tertentu untuk metode yang sama.

<?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>";
  }
?>

Polimorfisme Menggunakan Antarmuka

Polimorfisme Menggunakan Antarmuka

Antarmuka menyediakan kontrak bagi kelas untuk mengimplementasikan metode tertentu. Hal ini memastikan bahwa semua kelas yang mengimplementasikannya mendefinisikan metode yang diperlukan. Contoh:

Tips: Antarmuka membantu menegakkan konsistensi di berbagai kelas.

<?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>";
  }
?>

Manfaat Polimorfisme

Manfaat Polimorfisme

Polimorfisme menawarkan beberapa keuntungan:

  • Mendorong penggunaan ulang kode.
  • Membuat kode Anda lebih fleksibel dan dapat diskalakan.
  • Menyederhanakan penambahan kelas dan fungsionalitas baru.

Contoh: Untuk menambahkan bentuk baru pada contoh sebelumnya, Anda perlu mengimplementasikan antarmuka Shape dan mendefinisikan metode calculateArea().

Polimorfisme dengan Kelas Abstrak

Polimorfisme dengan Kelas Abstrak

Kelas abstrak juga dapat digunakan untuk mencapai polimorfisme. Kelas anak menimpa metode abstrak untuk menyediakan implementasi tertentu. Contoh:

Poin Penting: Kelas abstrak menegakkan struktur dasar sekaligus memungkinkan polimorfisme.

<?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();
  }
?>

Penerapan di Dunia Nyata

Penerapan di Dunia Nyata

Polimorfisme banyak digunakan dalam pengembangan perangkat lunak:

  • Pemrosesan Pembayaran: Berbagai metode pembayaran (kartu kredit, PayPal) mengimplementasikan antarmuka yang sama.
  • Pengembangan Gim: Berbagai jenis karakter menimpa metode yang sama untuk menghasilkan perilaku yang unik.
  • Sistem Pencatatan: Beberapa pencatat (berkas, basis data) menggunakan antarmuka yang sama.

Poin Penting: Polimorfisme membantu membuat sistem yang dapat diskalakan dan mudah dipelihara.

Tantangan Polimorfisme

Tantangan Polimorfisme

Meskipun polimorfisme sangat bermanfaat, konsep ini memiliki beberapa tantangan:

  • Dapat meningkatkan kompleksitas jika tidak diterapkan dengan benar.
  • Memerlukan perencanaan yang cermat terhadap hierarki kelas dan antarmuka.
  • Dapat menyebabkan galat saat program berjalan jika metode yang ditimpa tidak diimplementasikan dengan benar.

Tips: Selalu uji perilaku polimorfik secara menyeluruh untuk memastikan kebenarannya.

Bagus Sekali!

Bagus Sekali!

Selamat! Anda telah mempelajari polimorfisme, termasuk penerapannya menggunakan penimpaan metode, antarmuka, dan kelas abstrak. Polimorfisme adalah alat yang ampuh untuk membuat kode yang fleksibel dan dapat digunakan kembali. Pada pelajaran berikutnya, kita akan mempelajari kelas abstrak secara lebih mendalam. Mari terus menulis kode!

Polimorfisme — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Polimorfisme” gratis?

Ya — teks lengkap “Polimorfisme” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 5 pelajaran total.

Apa yang akan aku pelajari di “Polimorfisme”?

Jelajahi penimpaan metode dan perilaku dinamis dalam OOP Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 5 dari 5.

Berapa lama pelajaran “Polimorfisme” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengantar OOP dalam PHP
  2. Mendefinisikan Kelas dan Objek
  3. Pewarisan
  4. Enkapsulasi dan Pengubah Akses
  5. Polimorfisme
← Kembali ke PHP Academy