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:

javascript
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 Method
Jika 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.

Apakah Anda ingin mencoba menjalankan kode ini di terminal atau browser untuk melihat hasilnya secara langsung?


Bersambung ke:



Comments