Skip to main content
  1. Posts/

JS: Object-Oriented Programming

·2 mins·
javascript javascript
Table of Contents

TODO
#

/**
 * 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
 */
 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);

Notes
#

Dalam contoh ini, kita membuat class Animal dengan properti name, age, dan isMammal yang digunakan oleh class turunan Rabbit dan Eagle.

Class Rabbit memiliki method eat, sedangkan class Eagle memiliki method fly. Ketika kita membuat instance dari class Rabbit dan Eagle, kita menentukan nilai dari properti name dan age. Karena Rabbit adalah mamalia, maka properti isMammal-nya diinisialisasi sebagai true, sedangkan Eagle bukan mamalia, maka properti isMammal-nya diinisialisasi sebagai false.

Related

JS: Functional Programming
·2 mins
javascript javascript
JS: Map
·1 min
javascript javascript
JS: Array
·1 min
javascript javascript
JS: Object
·2 mins
javascript javascript
JS: Function
·1 min
javascript javascript
JS: Mengubah Fungsi Asynchronous Callback-Based menjadi Promise-Based
·1 min
javascript javascript