Benarkah deklarasi metode setRadius berikut?
Diktat - Pemrograman Berorientasi Obyek 2007
1 0 7
•
Kata kunci this menandakan bahwa variabel instance adalah yang dirujuk, bukan the formal parameter.
•
Karena itu, this berarti the current instance of the class instance terkini dari class.
•
Q. Benarkah deklarasi metode setRadius berikut?
public void setRadiusdouble r { this.radius = r;
}
Metode Class atau Statis
•
Sebagaimana variabel, suatu metode dapat dideklarasikan sebagai statis. Metode demikian menjadi milik class, bukan
instance dari class.
•
Dalam class Makanan terdapat konstanta class berikut:
public class Makanan { konstanta class – enumerasi untuk diet
public static final int NORMAL = 0; public static final int VEGAN = 1;
public static final int VEGETARIAN = 2; public static final int TIDAKADA = 3;
bagian berikutnya dari class Makanan }
•
Metode static berikut dideklarasikan sebagai bagian dari class Makanan untuk mendaftarkan nilai-nilai dari semua
konstanta class:
public static void listEnumeration { System.out.println“NORMAL = “ + NORMAL;
System.out.println“VEGAN = “ + VEGAN; System.out.println“VEGETARIAN = “ + VEGETARIAN;
System.out.println“UNSPECIFIED = “ + UNSPECIFIED; }
•
Kemudian kita dapat menjalankan metode sebagai berikut:
Makanan.listEnumeration;
•
Pastikan bahwa anda memanggil metode pada nama class Makanan, bukan nama instance makanMalam atau lainnya
Jurusan Teknik Informatika - Unijoyo
1 0 8
•
Di sini memang tepat digunakan metode class, karena nilai- nilai konstanta class bersifat umum bagi class Makanan
secara keseluruhan, tidak hanya untuk instance tertentu.
•
Perhatikan bahwa suatu metode class tidak dapat mengakses variabel instance atau metode instance dari class, karena
secara definisi metode tersebut adalah milik class, bukan milik instance dari class.
•
Kita dapat mempunyai variabel class sebagaimana konstanta class, dapat menjadi penyelesaian masalah di atas.
•
Perubahan terhadap class Makanan berikut mencatat jumlah instance Makanan yang telah dibuat:
public class Makanan { variabel class
private static int MakananCount = 0; konstruktor
public Makanan { MakananCount++;
} public static int getCount {
return MakananCount; }
bagian seterusnya dari class Makanan
}
•
Metode MakananCount bersifat static, tetapi tidak final – sebuah variabel class, bukan konstantan.
•
Nilai dari MakananCount dibagi-pakai oleh semua instance dari class; setiap instance mempunyai salinan variabel
instance masing-masing.
•
Jumlah dari instance Makanan yang telah dibuat ditampilkan sebagai berikut:
System.out.printlnMakanan.getCount;
Diktat - Pemrograman Berorientasi Obyek 2007
1 0 9
Metode Main
•
Kita dapat mendeklarasikan suatu metode main bagi suatu class. Ini bergunakan untuk menguji class sebelum diinte-
grasikan ke dalam program yang lebih besar.
public class Circle { private double x,y;
koordinat tengah lingkaran private double radius; radius jari-jari
public Circledouble x, double y, double r { this.x = x; this.y = y; radius = r;
} public void setRadiusdouble r {
radius = r; }
public double circumference { return 2.0 Math.PI radius;
} public double area {
return Math.PI radius radius; }
public static void main String[] args { Circle c = new Circle0.0, 0.0, 2.0;
c.setRadius10.0; System.out.println“main method in class Circle”;
System.out.println“Circum: “+c.circumference; System.out.println“Area: “ + c.area;
} }
•
Interpreter Java hanya menjalankan metode main dari class, tidak secara langsung memanggil metode lain. Metode lain
dipanggil dari dalam metode main.
•
Q. Apa keluaan dari program berikut?