Understanding Class Definition Viska Mutiawani, M.Sc
Konsep penting fields constructors methods parameters assignment statements conditional statements
Ticket machines an external view Menyelidiki perilaku mesin tiket. Kita akan gunakan projek naive-ticket-machine. Mesin mengeluarkan tiket dengan harga tetap. Bagaimana cara menentukan harga? Bagaimana uang dimasukkan ke dalam mesin? Bagaimana mesin mencatat banyaknya uang yang telah dimasukkan?
Ticket machines an internal view Berinteraksi langsung dengan objek, akan memberikan petunjuk mengenai perilakunya. Telusuri lebih dalam untuk melihat bagaimana perilaku tersebut diimplementasikan. Java class yang akan dibuat merupakan internal view dari objek.
Basic class structure public class TicketMachine { Inner part of the class omitted. The outer wrapper of TicketMachine public class ClassName { Fields Constructors Methods The contents of a class
Fields/medan/keadaan Fields menyimpan nilai dari suatu objek. Juga dikenal sebagai instance variables. Pd BlueJ, gunakan pilihan Inspect utk menampilkan field dr suatu objek. Fields mendefinisikan keadaan suatu objek. public class TicketMachine { private int price; private int balance; private int total; Constructor and methods omitted. visibility modifier type variable name private int price;
Constructors Method Constructors menginisialisasi suatu objek. Namanya haruslah sama dengan nama class. Menyimpan nilai awal dari field. Bisa saja memiliki eksternal parameter untuk memberi nilai awal pada field. public TicketMachine(int ticketcost) { price = ticketcost; balance = 0; total = 0;
Passing data via parameters
Assignment Suatu nilai disimpan dalam field (dan variabel lainnya) via assignment statements: variable = expression; price = ticketcost; Satu variabel menyimpan satu nilai, jadi nilai sebelumnya akan hilang.
Methods Suatu Method merupakan implementasi perilaku dari objek. Secara umum ada 3: Method constructor: digunakan untuk mencipta objek dan memberi nilai awal pada objek yang dicipta Method accessor Method mutator Struktur method terdiri dari bagian header dan body.
Accessor methods Method Accessors: mengembalikan informasi mengenai objek. Bagian header mendefinisikan method s signature. public int getprice() Bagian body melingkupi semua method s statements. Terdapat statement return pada body.
Accessor methods visibility modifier return type public int getprice() { return price; method name parameter list (empty or not) return statement start and end of method body (block) Objects First with Java - A Practical Introduction using BlueJ, David J.
Mutator methods Struktur method yang sama: header dan body. Digunakan untuk mengubah keadaan suatu objek. Dengan cara mengubah nilai satu atau lebih field. Umumnya mengandung assignment statements. Umumnya menerima parameters.
Mutator methods visibility modifier return type (void) method name parameter public void insertmoney(int amount) { balance += amount; assignment statement field being changed Objects First with Java - A Practical Introduction using BlueJ, David J.
Printing from methods public void printticket() { // Simulate the printing of a ticket. System.out.println("##################"); System.out.println("# The BlueJ Line"); System.out.println("# Ticket"); System.out.println("# " + price + " cents."); System.out.println("##################"); System.out.println(); // Update the total collected with the balance. total += balance; // Clear the balance. balance = 0; Objects First with Java - A Practical Introduction using BlueJ, David J.
Lihat kembali mesin tiket yang dibuat Beberapa perilaku masih kurang sesuai seperti: Tiada pengecekan nilai uang yang masuk. Tiada kembalian. Tiada pengecekan initialization yg masuk akal. Cara memperbaiki? Perlu perilaku yang lebih bagus dan pintar.
Making choices public void insertmoney(int amount) { if(amount > 0) { balance += amount; else { System.out.println("Use a positive amount: " + amount);
Making choices if keyword boolean condition to be tested - gives a true or false result actions if condition is true if(perform some test) { Do the statements here if the test gave a true result else { Do the statements here if the test gave a false result else keyword actions if condition is false Objects First with Java - A Practical Introduction using BlueJ, David J.
Variabel lokal Fields juga merupakan variable. Field menyimpan nilai selama objek tersebut hidup. Field dpt diakses dalam satu class. Methods dapat memiliki variabel yang berumur singkat atau variabel lokal. Variabel ini hanya ada selama method tersebut dijalankan. Variabel ini hanya dpt diakses di dalam method.
Variabel lokal No visibility modifier A local variable public int refundbalance() { int amounttorefund; amounttorefund = balance; balance = 0; return amounttorefund; Objects First with Java - A Practical Introduction using BlueJ, David J.
Review Class terdiri dari fields, constructors dan methods. Fields menyimpan nilai yang menentukan keadaan suatu objek. Constructors mencipta objek. Methods memberikan implementasi perilaku dari objek.
Review Fields, parameters dan variabel lokal, semuanya merupakan variabel. Fields hidup selama objek tersebut hidup. Parameters digunakan untuk menerima nilai pada constructor atau method. Variabel lokal digunakan sebagai tempat penyimpanan sementara.
Review Objects dpt memiliki pilihan via conditional (if) statements. A true or false test memungkinkan hanya satu aksi yang dipilih dari beberapa alternatif pilihan.