Class di Dalam Bahasa Pemrograman Java
Seri Tutorial Bahasa Pemrograman Object Oriented Java
Dalam dunia nyata, kita akan sering menemukan beberapa object individual yang memiliki kesamaan jenis. Ada ribuan jenis sepeda yang ada, namun semuanya memiliki kegunaan dan model yang sama. Setiap sepeda dibuat dengan set cetak biru yang sama dan oleh karena itu ia memiliki komponen yang sama. Dalam istilah object oriented, kita dapat mengatakan sepeda anda adalah instance dari sebuah class dari object yang disebut sepeda. Sebuah class adalah cetak biru dari setiap object yang dibuat
Class Bicycle berikut adalah satu kemungkinan dari implementasi dari bicycle :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Bicycle { | |
int cadence = 0; | |
int speed = 0; | |
int gear = 1; | |
void changeCadence(int newValue) { | |
cadence = newValue; | |
} | |
void changeGear(int newValue) { | |
gear = newValue; | |
} | |
void speedUp(int increment) { | |
speed = speed + increment; | |
} | |
void applyBrakes(int decrement) { | |
speed = speed – decrement; | |
} | |
void printStates() { | |
System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear); | |
} | |
} |
Sintaks bahasa pemrograman java diatas akan terlihat baru, terutama jika ada belum pernah belajar bahasa pemrograman seperti C, C++, C#, namun desain dari class ini berdasarkan dari diskusi kita sebelumnya mengenai object bicycle. Field cadence
, speed
, dan gear
merepresentasikan state dari si object, dan method – methodnya (changeCadence
, changeGear
, speedUp
dll.) mendefiniskan interaksinya dengan dunia luar
Perlu diperhatikan, bahwa class Bicycle bukanlah class yang memiliki sebuah method main
. Ini disebabkan karena itu bukanlah sebuah program aplikasi yang lengkap, namun hanya cetak biru dari bicycle yang mungkin bisa digunakan dari sebuah aplikasi. Tanggung jawab membuat dan menggunakan object Bicycle
dimiliki oleh class lain dalam program aplikasi kita
Sekarang, saya tunjukan class BicycleDemo
yang membuat object Bicycle
yang terpisah dan menggunakan method-nya :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class BicycleDemo { | |
public static void main(String[] args) { | |
// Create two different Bicycle objects | |
Bicycle bike1 = new Bicycle(); | |
Bicycle bike2 = new Bicycle(); | |
// Invoke methods on those objects | |
bike1.changeCadence(50); | |
bike1.speedUp(10); | |
bike1.changeGear(2); | |
bike1.printStates(); | |
bike2.changeCadence(50); | |
bike2.speedUp(10); | |
bike2.changeGear(2); | |
bike2.changeCadence(40); | |
bike2.speedUp(10); | |
bike2.changeGear(3); | |
bike2.printStates(); | |
} | |
} |
Jika kita compile aplikasi tersebut, maka hasilnya adalah sebagai berikut :