Menimpa method yang Diwarisi
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 36 dari 56.
Method overriding terjadi ketika child class menyediakan implementasinya sendiri untuk method yang diwarisi dari parent class. Versi milik child class "menggantikan" versi milik parent class.
Contoh Sederhana:
Buat class induk dengan sebuah method:
class Vehicle {
start() {
return "Vehicle starting...";
}
}Buat class turunan yang mewarisi class induk:
class Car extends Vehicle {
// Ini menimpa method start() milik Vehicle
start() {
return "Car engine roaring to life!";
}
}Gunakan class berikut:
const vehicle = new Vehicle();
const car = new Car();
console.log(vehicle.start()); // "Vehicle starting..." (asli)
console.log(car.start()); // "Car engine roaring to life!" (ditimpa)Aturan Utama untuk Override:
- Nama method yang sama dengan parent
- Parameter yang sama atau kompatibel
- Versi child dipanggil pada object anak
- Tidak perlu kata kunci khusus, cukup definisikan method
Tantangan
Kamu diberi parent class Shape dan child class Circle. Parent class memiliki method calculateArea() yang mengembalikan 0.
Tugasmu adalah meng-override method calculateArea() di class Circle untuk menghitung luas lingkaran yang sebenarnya.
Rumus luas lingkaran adalah: π × radius²
Dalam JavaScript: Math.PI * this.radius * this.radius
Coba sendiri
import { Shape } from './shapes.js';
import { Circle } from './shapes.js';
// Uji implementasimu
const myCircle = new Circle(5);
console.log(myCircle.calculateArea());
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Object dan Kata Kunci this
Tinjauan Singkat: objectMenambahkan method ke objectMemahami Kata Kunci thisFungsi KonstruktorKata Kunci newTantangan Rangkuman7Pewarisan & Kata Kunci extends
PewarisanHubungan "is-a"Kata Kunci extendsmethod super()Mewarisi property & methodTantangan Rangkuman2Mengatur Kode
Apa itu module?Mengekspor dengan exportMengimpor dengan importEkspor default vs. ekspor bernama8Mengatur Kode OOP
Mengatur class ke dalam module11Proyek: Perender Bentuk
Penyiapan: class Shape & EksporPewarisan class CircleOverride & Method LuasPenghitung Shape Statis14Sistem Manajemen Perpustakaan
Merancang PerpustakaanClass Book dengan CompositionValidasi Penulis Buku9Method dan property Statis
Level class vs. level instanceProperty StatisMethod Utilitas StatisTantangan RangkumanLatihan sendiri: Compiler JavaScript online