001. virtual untuk override

keyword virtual

Virtual merupakan keyword yang digunakan untuk membuat sebuah method, property, atau event dari sebuah class induk bisa di-override di class turunan dari class induk tersebut.



Ini berarti memberi keleluasaan apakah suatu class itu menggunakan method dengan proses yang sama atau sama sekali berbeda dari induknya, namun dengan nama method yang sama.

Misal: property dari class induk adalah seperti ini:


Public Virtual int jumlahroda()

{

return 2;

}

Di Class turunannya, kita bisa meng-override method di atas dengan keyword override seperti ini:

Public override int jumlahroda()

{

return 3;

}

Di Class turunan yang lain, apabila jumlah rodanya sama dengan Class induknya maka kita tidak perlu melakukan override.

Contoh kode lebih jelasnya seperti ini, seperti ini:

class ClassUtama
{

public virtual string bentuk()

{
return "default";
}

}

class ClassBentuk1 : ClassUtama
{

}

class ClassBentuk2 : ClassUtama
{
public override string bentuk()
{
return "oval";
}

}

Pada contoh ini kita mempunyai sebuah class induk bernama ClassUtama. Dan Class turunan bernama ClassBentuk1 dan ClassBentuk2.

ClassUtama c = new ClassUtama();
string hasil = c.bentuk();
Console.WriteLine("parent class: " + hasil);


ClassUtama c1 = new ClassBentuk1();
string hs = c1.bentuk();
Console.WriteLine("child class 1: " + hs);

ClassUtama c2 = new ClassBentuk2();
string h2 = c2.bentuk();
Console.WriteLine("child class 2: " + h2);

Hasil ekseksekusinya akan tampak seperti ini:

Parent class: default
Child class 1: default
Child class 2: oval

Turunan pertama akan method bentuknya akan mengambil method dari class induknya, karena dia tidak melakukan override.

No comments:

Post a Comment