Object Oriented Game Programming: Types of Inheritance
Inheritance merupakan salah satu konsep pemograman yang terdapat pada pemograman berorientasi objek. Inheritance sering menggunakan istilah Parent dan Child atau Superclasses dan Subclasses, Dimana Parent atau Superclasses adalah Class yang akan menurunkan attribute atau method yang akan diturunkan kepada Child atau Subclasses. Jadi Inheritance merupakan suatu konsep dimana Class lain dapat menggunakan attribute atau method dari Class tertentu. Misalnya Class A menggunakan fungsi dan variable dari Class B.
Misalnya terdapat Class Weapon dengan variable damage = 500,
class Weapon {
protected int damage = 500;
}
Lalu ketika ingin membuat class lain yang memiliki “stat” weapon tapi memiliki perbedaan dari Weapon sendiri, sehingga kita menggunakan Inheritance untuk melakukan itu,
public class Spear extends Weapon {
damage += 250;
}
Dari codingan diatas dapat dikatakan Spear memiliki damage 750, meskipun variable damage tidak di declare di class Spear, class Spear memilki variable damage dengan mengcopy data damage dari class Weapon (fungsi dari extends).
Mengapa konsep atau cara Inheritance dilakukan? Karena dengan menggunakan Inheritance kita dapat mengurangi pengulangan dalam memanggil sebuah attribute atau method.
Terdapat banyak bentuk Inheritance seperti:
- Single Inheritance ( A à B )(Class B mempunyai variable class A)
- Multilevel Inheritance ( A à B à C)(Class C mempunyai data Class B dan A, sedangkan Class B hanya mempunyai data Class A)
- Hierarchical Inheritance ( A à B,C,D)(Class B,C, dan D mempunyai data Class A)
- Hybrid Inheritance ( A à B,C à D)(Class D mempunyai data Class A,B, dan C, sedangkan Class B dan C hanya mempunyai data Class A)(Gabungan Multilevel dan Hierarchical Inheritance)
Penulis:
- Yogi Udjaja
- Yusuf Oktavianus Supratman Handoko