Menerapkan Warisan dan Polimorfisme dalam Kode Persatuan
Menerapkan inheritance dan polimorfisme dalam kode memungkinkan Anda membuat kelas yang lebih terspesialisasi berdasarkan kelas yang ada, dan memperlakukan objek dari kelas yang berbeda sebagai objek dari kelas dasar yang sama. Hal ini mendorong penggunaan kembali kode, fleksibilitas, dan ekstensibilitas. Berikut contoh implementasi pewarisan dan polimorfisme di Unity:
Warisan
Warisan dicapai dengan membuat kelas baru (kelas anak atau kelas turunan) berdasarkan kelas yang sudah ada (kelas induk atau kelas dasar). Kelas anak mewarisi atribut dan metode dari kelas induk dan dapat menambahkan atribut dan metode uniknya sendiri atau memodifikasi yang sudah ada. Berikut ini contohnya:
// Base class
public class Shape
{
public virtual void Draw()
{
Debug.Log("Drawing a shape...");
}
}
// Derived class
public class Circle : Shape
{
public override void Draw()
{
Debug.Log("Drawing a circle...");
}
}
Dalam contoh ini, kelas 'Shape' adalah kelas dasar, dan kelas 'Circle' diturunkan darinya. Metode 'Draw()' didefinisikan di kedua kelas, tetapi kelas 'Circle' menimpa metode tersebut untuk menyediakan implementasinya sendiri. Hal ini memungkinkan Anda untuk mengkhususkan perilaku kelas 'Circle' sambil mempertahankan perilaku bersama yang ditentukan dalam kelas 'Shape'.
Polimorfisme
Polimorfisme memungkinkan objek dari kelas yang berbeda diperlakukan sebagai objek dari kelas dasar umum, memberikan fleksibilitas dan memungkinkan kode yang beroperasi pada objek secara umum. Berikut ini contohnya:
void DrawShapes(Shape[] shapes)
{
foreach (Shape shape in shapes)
{
shape.Draw();
}
}
// Usage
Shape[] shapes = new Shape[] { new Circle(), new Shape() };
DrawShapes(shapes);
Dalam contoh ini, metode 'DrawShapes()' menerima array objek 'Shape'. Ini mengulangi array dan memanggil metode 'Draw()' pada setiap objek. Array berisi objek 'Circle' dan objek dasar 'Shape'. Namun, karena kelas 'Circle' mengesampingkan metode 'Draw()', implementasi yang sesuai untuk setiap objek dipanggil berdasarkan tipe sebenarnya pada waktu proses. Ini menunjukkan tindakan polimorfisme.
Kesimpulan
Dengan memanfaatkan pewarisan dan polimorfisme dalam kode Unity, Anda dapat membuat kelas khusus berdasarkan kelas yang sudah ada, menentukan perilaku bersama di kelas dasar, dan menulis kode yang beroperasi pada objek secara umum, memberikan fleksibilitas dan mendorong penggunaan kembali kode.