Belajar Typescript #40 | Konsep OOP - Inheritance

profil-penulis

Achmad Yoga Bactiar Teguh Suseno

28 Februari 2023

Pewarisan, atau inheritance, adalah salah satu konsep utama dalam pemrograman berorientasi objek (OOP). Dalam TypeScript, konsep ini memungkinkan Anda untuk membuat class turunan (subclass) yang mewarisi properti dan method dari class dasar (base class). Artikel ini akan menjelaskan konsep pewarisan dalam TypeScript, bagaimana cara menggunakannya, dan mengapa itu berguna dalam pengembangan aplikasi.

Apa Itu Pewarisan (Inheritance)?

Pewarisan adalah konsep yang memungkinkan Anda untuk membuat class baru yang memanfaatkan sifat dan perilaku yang telah didefinisikan dalam class yang ada. Class baru yang dibuat disebut subclass atau child class, sedangkan class yang sudah ada disebut base class atau parent class. Pewarisan memungkinkan Anda untuk mewarisi properti dan method dari class dasar, dan Anda dapat menambahkan properti dan method tambahan dalam subclass.

Base Class (Parent Class)

Base class adalah class yang memiliki sifat dan perilaku yang ingin Anda bagikan dengan subclass. Ini adalah class yang berperan sebagai model dasar atau kerangka untuk class-class lain yang akan mewarisinya.

Subclass (Child Class)

Subclass adalah class baru yang Anda buat dengan tujuan mewarisi sifat dan perilaku dari base class. Subclass dapat menambahkan properti dan method tambahan sesuai kebutuhan.

Membuat Subclass dengan Pewarisan

Dalam TypeScript, Anda dapat menggunakan kata kunci extends untuk membuat subclass yang mewarisi sifat dan perilaku dari base class. Berikut adalah contoh sederhana penggunaan pewarisan:

class Animal {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  makeSound() {
    console.log(`${this.name} makes a sound.`);
  }
}

class Dog extends Animal {
  breed: string;

  constructor(name: string, breed: string) {
    super(name);
    this.breed = breed;
  }

  bark() {
    console.log(`${this.name} barks loudly.`);
  }
}

Pada contoh di atas, class Dog adalah subclass dari class Animal. Class Dog mewarisi properti name dan method makeSound dari class Animal, dan menambahkan properti breed dan method bark.

Menggunakan super

Untuk mengakses konstruktor dan method dari base class dalam subclass, Anda menggunakan kata kunci super. Ini memungkinkan Anda untuk memanggil konstruktor base class dan method base class saat Anda membuat objek dari subclass.

Menggunakan Subclass

Anda dapat membuat objek dari subclass dan mengakses sifat dan perilaku yang diwarisi dari base class, serta sifat dan perilaku yang ditambahkan dalam subclass. Contoh penggunaan subclass:

const myDog = new Dog("Buddy", "Golden Retriever");
myDog.makeSound(); // Output: Buddy makes a sound.
myDog.bark();      // Output: Buddy barks loudly.

Pada contoh di atas, objek myDog adalah objek dari class Dog, sehingga dapat mengakses method makeSound dan bark.

Kesimpulan

Pewarisan adalah konsep penting dalam pemrograman berorientasi objek yang memungkinkan Anda untuk membuat class yang mewarisi properti dan method dari class yang sudah ada. Ini memungkinkan Anda untuk mengorganisasi dan membagikan sifat dan perilaku dalam aplikasi Anda dengan lebih efisien. Dengan pemahaman yang baik tentang pewarisan dalam TypeScript, Anda dapat membuat kode yang lebih terstruktur dan mudah dimengerti.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Typescript #01 | Memahami apa itu Typescript

2. Belajar Typescript #02 | Setup project Typescript

3. Belajar Typescript #03 | Konfigurasi compiler Typescript

4. Belajar Typescript #04 | Membuat code dan menjalankan Typescript

5. Belajar Typescript #05 | Basic types pada Typescript

6. Belajar Typescript #06 | Type data Boolean pada Typescript

7. Belajar Typescript #07 | Type data Number pada Typescript

8. Belajar Typescript #08 | Type data String pada Typescript

9. Belajar Typescript #09 | Type data Null dan Undefined pada Typescript

10. Belajar Typescript #10 | Type data Any pada Typescript

11. Belajar Typescript #11 | Type data Void pada Typescript

12. Belajar Typescript #12 | Object types pada Typescript

13. Belajar Typescript #13 | Object Literal pada Typescript

14. Belajar Typescript #14 | Type data Void pada Typescript

15. Belajar Typescript #15 Object types pada Typescript

16. Belajar Typescript #16 | Memahami dan menerapkan type aliases

17. Belajar Typescript #17 | Memahami dan menerapkan union types

18. Belajar Typescript #18 | Memahami dan menerapkan intersection types

19. Belajar Typescript #19 | Basic types lanjutan - Array

20. Belajar Typescript #20 | Basic types lanjutan - Tuples

21. Belajar Typescript #21 | Basic types lanjutan - Null

22. Belajar Typescript #22 | Basic types lanjutan - Undefined

23. Belajar Typescript #23 | Basic types lanjutan - Void

24. Belajar Typescript #24 | Basic types lanjutan - Never

25. Belajar Typescript #25 | Mengenal teknik lanjutan pada Typescript

26. Belajar Typescript #26 | Optional Parameter

27. Belajar Typescript #27 | Default Parameter

28. Belajar Typescript #28 | Return Type

29. Belajar Typescript #29 | Mendeklarasikan Fungsi - Tanpa Parameter

30. Belajar Typescript #30 | Mendeklarasikan Fungsi - Dengan Parameter

31. Belajar Typescript #31 | Mendeklarasikan Fungsi - Dengan Return Type

32. Belajar Typescript #32 | Mendeklarasikan Fungsi - Sebagai Variabel

33. Belajar Typescript #33 | Mendeklarasikan Fungsi - Sebagai Tipe Data

34. Belajar Typescript #34 | Function Call Signature

35. Belajar Typescript #35 | Menerapkan Types ke dalam class

36. Belajar Typescript #36 | Class declaration

37. Belajar Typescript #37 | Properties dan Methods

38. Belajar Typescript #38 | Object dan Properti dari sebuah class

39. Belajar Typescript #39 | Constructor

40. Belajar Typescript #40 | Konsep OOP - Inheritance

41. Belajar Typescript #41 | Konsep OOP - Abstraction

42. Belajar Typescript #42 | Konsep OOP - Encapsulation

43. Belajar Typescript #43 | Accessors

44. Belajar Typescript #44 | Member visibility / Access modifier

45. Belajar Typescript #45 | Konsep OOP Polymorphism

46. Interfaces TypeScript

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya