KUIS Paradigma Pemograman
KUIS Paradigma Pemograman
Soal:
Selesaikan kode js berikut:
/**
* TODO:
* 1. Buatlah class bernama Animal dengan ketentuan:
* - Memiliki properti:
* - name: string
* - age: int
* - isMammal: boolean
* - Memiliki constructor untuk menginisialisasi properti:
* - name
* - age
* - isMammal
* 2. Buatlah class bernama Rabbit dengan ketentuan:
* - Merupakan turunan dari class Animal
* - Memiliki method:
* - eat yang mengembalikan nilai string `${this.name} sedang makan!`
* - Ketika diinstansiasi, properti isMammal harus bernilai true
* 3. Buatlah class bernama Eagle dengan ketentuan:
* - Merupakan turunan dari class Animal
* - Memiliki method:
* - fly yang mengembalikan nilai string `${this.name} sedang terbang!`
* - Ketika diinstansiasi, properti isMammal harus bernilai false
* 4. Buatlah instance dari class Rabbit bernama "myRabbit" dengan ketentuan:
* - properti name bernilai: "Labi"
* - properti age bernilai: 2
* 5. Buatlah instance dari class Eagle bernama "myEagle" dengan ketentuan:
* - properti name bernilai: "Elo"
* - properti age bernilai: 4
*/
// Tulis kode di bawah ini
Penyelesaian:
Berikut adalah penyelesaian kode JavaScript sesuai dengan instruksi yang diberikan:
class Animal {
constructor(name, age, isMammal) {
this.name = name;
this.age = age;
this.isMammal = isMammal;
}
}
class Rabbit extends Animal {
constructor(name, age) {
super(name, age, true);
}
eat() {
return `${this.name} sedang makan!`;
}
}
class Eagle extends Animal {
constructor(name, age) {
super(name, age, false);
}
fly() {
return `${this.name} sedang terbang!`;
}
}
const myRabbit = new Rabbit("Labi", 2);
const myEagle = new Eagle("Elo", 4);
Jika Anda menjalankan kode tersebut dan mencetak (logging) hasilnya ke konsol, berikut adalah apa yang akan Anda dapatkan:1. Isi Objek (Instance)Jika Anda melakukan console.log(myRabbit) dan console.log(myEagle):myRabbit: Rabbit { name: 'Labi', age: 2, isMammal: true }myEagle: Eagle { name: 'Elo', age: 4, isMammal: false }
2. Hasil dari MethodJika Anda memanggil fungsi yang ada di dalam class tersebut:myRabbit.eat()
Hasil: "Labi sedang makan!"myEagle.fly()
Hasil: "Elo sedang terbang!"
Ringkasan Logika:myRabbit secara otomatis memiliki isMammal: true karena kita mengaturnya di dalam super pada constructor class Rabbit.myEagle secara otomatis memiliki isMammal: false karena alasan yang sama di class Eagle.
Comments
Post a Comment