Object Oriented Struktur Data
Apa itu Object ? Object adalah instance dari sebuah Class Object adalah entitas yang memiliki struktur dan state State dapat diubah dengan menggunakan/memanggil method-nya
Encapsulation Menyembunyikan detail implementasi atas data atau operasi yang dilakukan Gambar: http://upload.wikimedia.org/wikipedia/commons/a/ae/Kapseln.JPG Seperti obat, kita mungkin tidak mengetahui isi dari obat tersebut dan bagaimana cara kerja obat tersebut. Namun yang pasti, setelah meminum obat akan terasa dampaknya (output).
Class Class adalah sekumpulan object dengan karakteristik yang sama Membuat object dari suatu class dengan menggunakan konstruktor
Class Person name: String age: int address: String spouse: Person children: Person[] + Person() + setName(String name): void + getName(): String ... + setSpouse(Person spouse): void + getSpouse(): Person + addChildren(Person child): void + getChildren(int no): Person + getAllChildren(): Person[] Class name Attribute / Field Menggambarkan data yang dapat disimpan oleh Object Access modifier - private + public protected Class dapat merepresentasikan atau mewakili entitas di dunia sebenarnya Method Menggambarkan apa yang dapat dilakukan oleh Object
Mendesain Class Tally counter adalah alat yang digunakan untuk membantu penghitungan. Jika tombol atas ditekan, angka akan bertambah satu Jika tombol reset ditekan, angka akan kembali ke angka 0 (nol) Desain class untuk Tally Counter!
Class Tally Counter TallyCounter - count: int + tambah(): void + reset(): void + getCount(): int Method tambah() akan menaikan (increment) nilai pada attribute count satu tingkat Method reset() akan mengembalikan nilai attribute count menjadi nol Method getCount() mengembalikan nilai attribute count. Buatlah program untuk Class tersebut!
public class TallyCounter { private int count; public void tambah() { // dapat diartikan this.count = this.count + 1; this.count += 1; } public void reset() { this.count = 0; public int getCount() { return this.count; Di manakah konstruktornya ? Jika construktor tidak ditulis secara eksplisit, maka secara otomatis class tersebut menggunakan constructor default, yaitu constructor yang tidak memiliki parameter input.
Studi Kasus: java.math.BigInteger Jelaskan apa itu class BigInteger Buatlah object BigInteger yang mengandung nilai 1, kemudian simpan divariabel bernama var1 Buatlah object BigInteger yang mengandung nilai 100 , kemudian simpan divariabel bernama var2 Gunakan method pada class BigInteger untuk menjumlah var1 dan var2, kemudian simpan divariabel bernama var3 Cetak isi dari var3
Class Class name Attribute method terdiri dari encapsulation Menentukan data yang dapat disimpan dan apa yang bisa dilakukan Instance of Object Sebuah Object Polymorphism inheritance Child Object
Tugas An Account class stores a current balance, and provides getBalance, deposit, withdraw, and toString methods in addition to at least one constructor. Write and test an Account class. Make sure your withdraw method throws an exception if appropriate