Mewarisi property & method
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 28 dari 56.
Saat sebuah class memperluas class lain, class tersebut mewarisi semua property dan method dari class induk. Artinya, class turunan otomatis memiliki akses ke semua yang didefinisikan dalam class induk.
Mari buat class induk dengan property dan method:
class Animal {
constructor(name, age) {
this.name = name;
this.age = age;
}
eat() {
return `${this.name} is eating`;
}
sleep() {
return `${this.name} is sleeping`;
}
}Sekarang, mari buat class turunan yang mewarisi Animal:
class Dog extends Animal {
constructor(name, age, breed) {
super(name, age);
this.breed = breed;
}
}Buat sebuah instance dari class Dog:
const rex = new Dog("Rex", 3, "German Shepherd");Sekarang, meskipun kita tidak mendefinisikan eat() dan sleep() di dalam class Dog, kita tetap bisa menggunakan method ini:
console.log(rex.eat()); // Output: Rex sedang makan
console.log(rex.sleep()); // Output: Rex sedang tidurDan kita dapat mengakses semua property yang diwarisi:
console.log(rex.name); // Output: Rex
console.log(rex.age); // Output: 3
console.log(rex.breed); // Output: German ShepherdTantangan
Buat class Cake yang memperluas Dessert dan ekspor class tersebut. Cake harus memiliki:
- Semua property dan method yang diwarisi dari Dessert
- Property baru
flavor - Method baru
addCandles()yang mengembalikan string “Added candles to ${this.name}!”
Coba sendiri
import { Dessert } from './desserts.js';
import { Cake } from './desserts.js';
// Kode pengujian, jangan diubah
const myCake = new Cake("Birthday Cake", 300, "Chocolate");
console.log(myCake.describe()); // Seharusnya menghasilkan output "Birthday Cake has 300 calories"
console.log(myCake.flavor); // Seharusnya menghasilkan output "Chocolate"
console.log(myCake.addCandles()); // Seharusnya menghasilkan output "Added candles to Birthday Cake!"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