Sekilas Object Oriented Programming
OOP = Object Oriented Programming a.k.a. pemrograman berorientasikan objek. Jadi kita melakukan pemrograman dengan mengidentifikasikan objek-objek apa saja yang terlibat dalam program kita.
Objek memiliki 2 elemen utama:
1. Attributes atau Properties: Yaitu nilai-nilai yang tersimpan dalam objek tersebut dan secara langsung maupun tidak langsung menentukan karakteristik dari objek tersebut.
2. Method: Yaitu suatu aksi yang akan dijalankan atau dikerjakan oleh objek tersebut.
Class atalah blueprint dari suatu objek. Berikut contohnya:
Class: Orang
Attribute: Tinggi, Berat, Sifat, Warna Kulit, Warna Mata, Warna Rambut, Bentuk Rambut
Method: Jalan, Makan, Tidur, BuangHajat
Attribute adalah segala variabel yang tersimpan global di dalam cakupan class. Contohnya:
‘ Attribute dari class
Private _TinggiBadan As Double
Dim _BeratBadan As Double
‘ Method dari class
Public Sub Makan(obj As Makanan)
‘ Bukan attribute class; Local variable
Dim _Kalori As Double
End Sub
End Class
[/vbnet]
Kalo di C#:
[csharp] public class Orang{
// Attribute
double _tinggi, _berat;
// Method
void Makan(Makanan obj)
{
// Bukan attribute
double kalori;
}
}
[/csharp]
Kalau Method, di VB.NET ada 2 macam:
1. Subroutine: Method yang tidak mengembalikan nilai (Pada Java/C-like: void)
2. Function: Method yang mengembalikan nilai
Itu semua bagian-bagian dasar dari suatu class. Dalam prakteknya, ada pengembangan dari bagian-bagian dasar tersebut:
1. Constructor: Adalah method yang dijalankan saat “penciptaan” atau instantiasi dari suatu class.
2. Event: Adalah sebuah delegate ke suatu kumpulan fungsi yang akan dipanggil ketika event tersebut terjadi. Kalau di C/C++, itu adalah Pointer-to-function ke event handler. Ini karena .NET juga merupakan event-driven framework. Kalo di Java yang pure OOP nggak ada feature yang spesifik menyatakan event, melainkan menggunakan bantuan objek-objek lain.
3. Access Specifier: Batasan akses terhadap suatu elemen dalam class. Ada Public (bisa diakses semua objek lain), Protected (bisa diakses hanya pada objek turunan dari kelas ini. Konsep Inheritance), Private (Hanya bisa diakses oleh member dari suatu class), Friend (Hanya bisa diakses oleh class yang satu Assembly.