Install Web App

Belajar Bahasa Pemrogaman Dasar C# | #61 Polymorphism

profil-penulis

Edo Kurniawan

04 April 2023

Apa Itu Polymorphism dan Contoh Implementasinya pada Bahasa Pemrograman C#

Polymorphism adalah salah satu konsep utama dalam pemrograman berbasis objek yang memungkinkan objek dari class yang berbeda untuk merespons metode dengan cara yang sesuai dengan class mereka sendiri. Dengan kata lain, objek yang berbeda dapat memiliki perilaku yang berbeda untuk metode yang sama. Polymorphism membantu Anda dalam membuat kode yang lebih fleksibel, mudah diubah, dan memungkinkan untuk mengatasi berbagai tipe objek secara bersamaan. Artikel ini akan menjelaskan apa itu polymorphism dan memberikan contoh implementasinya dalam bahasa pemrograman C#.

Konsep Polymorphism

Polymorphism didasarkan pada dua konsep utama:

  1. Override (Menggantikan): Subclass dapat menggantikan (override) metode yang didefinisikan dalam superclass. Ini berarti subclass dapat menyediakan implementasi yang sesuai untuk metode tersebut.

  2. Polymorphic Behavior (Perilaku Polimorfik): Polymorphism memungkinkan objek dari class yang berbeda untuk merespons metode dengan cara yang sesuai dengan class mereka sendiri. Ini memungkinkan Anda untuk menggunakan objek dengan metode yang sama tanpa harus tahu class objek tersebut.

Contoh Implementasi Polymorphism dalam C#

Berikut adalah contoh sederhana penggunaan polymorphism dalam C#:

public class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes a sound");
    }
}

public class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

public class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Cat meows");
    }
}

Pada contoh di atas, Animal adalah superclass dengan metode MakeSound. Dog dan Cat adalah subclass yang menggantikan metode MakeSound. Ini adalah contoh overriding, di mana subclass menyediakan implementasi yang sesuai untuk metode superclass.

Kemudian, Anda dapat menggunakan objek dari class-class ini sebagai berikut:

Animal myAnimal = new Animal();
Animal myDog = new Dog();
Animal myCat = new Cat();

myAnimal.MakeSound(); // Output: "Animal makes a sound"
myDog.MakeSound();    // Output: "Dog barks"
myCat.MakeSound();    // Output: "Cat meows"

Dalam contoh ini, Anda dapat melihat bahwa meskipun kita menggunakan metode MakeSound pada objek yang berbeda, hasilnya berbeda sesuai dengan class objek tersebut. Ini adalah contoh dari perilaku polimorfik.

Keuntungan Polymorphism

  1. Fleksibilitas Kode: Polymorphism membuat kode Anda lebih fleksibel karena Anda dapat menggunakan objek dari class yang berbeda dengan cara yang sama.

  2. Pengurangan Duplikasi Kode: Dengan menggantikan metode di subclass, Anda dapat menghindari duplikasi kode dan mempromosikan konsep DRY (Don't Repeat Yourself).

  3. Pengembangan Mudah: Anda dapat menambahkan class baru yang mewarisi perilaku yang ada dan menggantikan metode superclass dengan mudah.

  4. Menggunakan Polymorphism dalam Pola Desain: Polymorphism adalah konsep kunci dalam pola desain seperti Pola Strategi, Pola State, dan banyak pola desain lainnya.

Kesimpulan

Polymorphism adalah konsep penting dalam pemrograman berbasis objek yang memungkinkan objek dari class yang berbeda untuk merespons metode dengan cara yang sesuai dengan class mereka sendiri. Dengan overriding metode dalam subclass, Anda dapat mencapai perilaku polimorfik. Dalam bahasa pemrograman C#, Anda dapat menggunakan overriding dan kata kunci virtual dan override untuk mengimplementasikan polymorphism dengan mudah dan efektif. Polymorphism membuat kode Anda lebih fleksibel, mudah diubah, dan memungkinkan untuk mengatasi berbagai tipe objek secara bersamaan.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Bahasa Pemrogaman Dasar C# | #01 Apa itu C# dan Keunggulannya

2. Belajar Bahasa Pemrogaman Dasar C# | #02 Apakah Bahasa C# Penting?

3. Belajar Bahasa Pemrogaman Dasar C# | #03 Installasi Setup untuk menjalankan C#

4. Belajar Bahasa Pemrogaman Dasar C# | #04 Menjalankan Program C# Pertama

5. Belajar Bahasa Pemrogaman Dasar C# | #05 Struktur Kode Bahasa Pemrograman C#

6. Belajar Bahasa Pemrogaman Dasar C# | #06 Struktur eksekusi kode bahasa pemrogaman C#

7. Belajar Bahasa Pemrogaman Dasar C# | #07 Sintaks Print

8. Belajar Bahasa Pemrogaman Dasar C# | #08 Sintaks Komentar

9. Belajar Bahasa Pemrogaman Dasar C# | #09 Error pada C#

10. Belajar Bahasa Pemrogaman Dasar C# | #10 Mengenal Tipe Data dan Variabel

11. Belajar Bahasa Pemrogaman Dasar C# | #11 Klasifikasi Tipe Data

12. Belajar Bahasa Pemrogaman Dasar C# | #12 Deklarasi dan Inisialisasi Variabel

13. Belajar Bahasa Pemrogaman Dasar C# | #13 Installasi Setup untuk menjalankan C#

14. Belajar Bahasa Pemrogaman Dasar C# | #14 Tipe Data String

15. Belajar Bahasa Pemrogaman Dasar C# | #15 Sintaks Input

16. Belajar Bahasa Pemrogaman Dasar C# | #16 Type Casting

17. Belajar Bahasa Pemrogaman Dasar C# | #17 Fungsi Math

18. Belajar Bahasa Pemrogaman Dasar C# | #18 Penggunaan Tipe Data dan Variabel pada Game

19. Belajar Bahasa Pemrogaman Dasar C# | #19 Arithmetic Operator

20. Belajar Bahasa Pemrogaman Dasar C# | #20 Assignment Operator

21. Belajar Bahasa Pemrogaman Dasar C# | #21 Comparison Operator

22. Belajar Bahasa Pemrogaman Dasar C# | #22 Logical Operator

23. Belajar Bahasa Pemrogaman Dasar C# | #23 Equality Operator

24. Belajar Bahasa Pemrogaman Dasar C# | #24 Inequality operator !=

25. Belajar Bahasa Pemrogaman Dasar C# | #25 Penggunaan Operator pada Game

26. Belajar Bahasa Pemrogaman Dasar C# | #26 Type Casting

27. Belajar Bahasa Pemrogaman Dasar C# | #27 If Statement

28. Belajar Bahasa Pemrogaman Dasar C# | #28 Else Statement

29. Belajar Bahasa Pemrogaman Dasar C# | #29 Penggunaan Operator

30. Belajar Bahasa Pemrogaman Dasar C# | #30 If Statement Bersarang

31. Belajar Bahasa Pemrogaman Dasar C# | #31 If, Else, dan Else If

32. Belajar Bahasa Pemrogaman Dasar C# | #32 Switch Statement

33. Belajar Bahasa Pemrogaman Dasar C# | #33 Switch Statement Bersarang

34. Belajar Bahasa Pemrogaman Dasar C# | #34 Penggunaan Pengkondisian pada Game

35. Belajar Bahasa Pemrogaman Dasar C# | #35 Pengenalan Array

36. Belajar Bahasa Pemrogaman Dasar C# | #36 Sintaks Array Deklarasi dan Inisialisasi Array

37. Belajar Bahasa Pemrogaman Dasar C# | #37 Sintaks Array Mengakses Elemen Array

38. Belajar Bahasa Pemrogaman Dasar C# | #38 Sintaks Array Array dan Perulangan

39. Belajar Bahasa Pemrogaman Dasar C# | #39 Array Multidimensi - Array Dua Dimensi

40. Belajar Bahasa Pemrogaman Dasar C# | #40 If Array Multidimensi - Array Tiga Dimensi

41. Belajar Bahasa Pemrogaman Dasar C# | #41 Array Multidimensi - Array Dua Dimensi

42. Belajar Bahasa Pemrogaman Dasar C# | #42 Deklarasi Array Multi-dimensi pada C#

43. Belajar Bahasa Pemrogaman Dasar C# | #43 Inisialisasi Array Multi-dimensi

44. Belajar Bahasa Pemrogaman Dasar C# | #44 Melakukan iterasi pada *array *multi-dimensi

45. Belajar Bahasa Pemrogaman Dasar C# | #45 Penggunaan Array pada Game

46. Belajar Bahasa Pemrogaman Dasar C# | #46 Pengenalan Method

47. Belajar Bahasa Pemrogaman Dasar C# | #47 Method Void

48. Belajar Bahasa Pemrogaman Dasar C# | #48 Method dengan Tipe Data

49. Belajar Bahasa Pemrogaman Dasar C# | #49 Menyederhanakan Definisi Method

50. Belajar Bahasa Pemrogaman Dasar C# | #50 Parameter Method

51. Belajar Bahasa Pemrogaman Dasar C# | #51 Method dengan Multiple Parameter

52. Belajar Bahasa Pemrogaman Dasar C# | #52 Penggunaan Method pada Game

53. Belajar Bahasa Pemrogaman Dasar C# | #53 Mengenal OOP

54. Belajar Bahasa Pemrogaman Dasar C# | #54 Class dan Object

55. Belajar Bahasa Pemrogaman Dasar C# | #55 Constructor

56. Belajar Bahasa Pemrogaman Dasar C# | #56 Destructor

57. Belajar Bahasa Pemrogaman Dasar C# | #57 Access Modifier

58. Belajar Bahasa Pemrogaman Dasar C# | #58 Field

59. Belajar Bahasa Pemrogaman Dasar C# | #59 Penggunaan Property

60. Belajar Bahasa Pemrogaman Dasar C# | #60 Inheritance

61. Belajar Bahasa Pemrogaman Dasar C# | #61 Polymorphism

62. Belajar Bahasa Pemrogaman Dasar C# | #62 Penggunaan Class pada Game

63. Belajar Bahasa Pemrogaman Dasar C# | #63 Pengenalan Exception Handling

64. Belajar Bahasa Pemrogaman Dasar C# | #64 Struktur Try Catch

65. Belajar Bahasa Pemrogaman Dasar C# | #65 Studi Kasus Exception

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya