Menu
CoddyTech

Menggunakan super

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 37 dari 56.

Saat kamu melakukan override pada method, kamu tetap bisa mengakses versi asli dari parent menggunakan super.methodName(). Ini memungkinkanmu memperluas atau mengubah perilaku parent alih-alih menggantinya sepenuhnya.

Buat class induk dengan method:

class Animal {
  makeSound() {
    return "Generic animal sound";
  }
}

Buat class turunan yang memperluas class induk:

class Dog extends Animal {
  makeSound() {
    // Panggil method induknya terlebih dahulu
    const parentSound = super.makeSound();
    // Lalu tambahkan fungsi lainnya
    return `${parentSound}, but also Woof!`;
  }
}

Buat instance dari child class:

const myDog = new Dog();
console.log(myDog.makeSound());
// output: "Generic animal sound, but also Woof!"

Kata kunci super memungkinkan kamu memanggil method dari class induk sambil tetap menambahkan fungsionalitasmu sendiri di class anak.

challenge icon

Tantangan

Kamu diberi class Shape dengan method calculateArea() dan class Rectangle yang mewarisinya. Tugasmu adalah melakukan override pada method calculateArea() di Rectangle menggunakan super.

Tugasmu adalah melengkapi method calculateArea() di class Rectangle untuk:

  1. Memanggil method calculateArea() milik parent menggunakan super dan menyimpan hasilnya
  2. Menghitung luas persegi panjang yang sebenarnya: width × height
  3. Mengembalikan string gabungan: pesan dari parent + luas persegi panjang. Contoh: Calculating area... Rectangle area: 50

Coba sendiri

import { Shape } from './shapes.js';
import { Rectangle } from './shapes.js';

// Kode pengujian, jangan ubah
const rectangle = new Rectangle(5, 10);
console.log(rectangle.calculateArea()); // Yang diharapkan: "Calculating area... Rectangle area: 50"
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler JavaScript online