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#.
Polymorphism didasarkan pada dua konsep utama:
Override (Menggantikan): Subclass dapat menggantikan (override) metode yang didefinisikan dalam superclass. Ini berarti subclass dapat menyediakan implementasi yang sesuai untuk metode tersebut.
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.
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.
Fleksibilitas Kode: Polymorphism membuat kode Anda lebih fleksibel karena Anda dapat menggunakan objek dari class yang berbeda dengan cara yang sama.
Pengurangan Duplikasi Kode: Dengan menggantikan metode di subclass, Anda dapat menghindari duplikasi kode dan mempromosikan konsep DRY (Don't Repeat Yourself).
Pengembangan Mudah: Anda dapat menambahkan class baru yang mewarisi perilaku yang ada dan menggantikan metode superclass dengan mudah.
Menggunakan Polymorphism dalam Pola Desain: Polymorphism adalah konsep kunci dalam pola desain seperti Pola Strategi, Pola State, dan banyak pola desain lainnya.
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
Ahmad Dika Zulfahmi - 18 Februari 2025
Jungler Tank Bisa Kembali? Update yang Bisa Membawa Jungler Tank ke Meta Lagi
Ahmad Dika Zulfahmi - 06 Februari 2025
Setting Sensitivitas Auto Headshot Free Fire Terbaik
Ahmad Dika Zulfahmi - 03 Februari 2025
Flash Sale Minaplay! Top Up Diamond Free Fire Murah & Cepat!