JAVA CLASS Bahasa Pemrogramam BAHASA PEMROGRAMAN PERTEMUAN #9
Tujuan Dapat mendefinisikan kelas sendiri Dapat medeklarasikan method dan atribut Menggunakan referensi this Mengimplementasikan overload method Melakukan kustomisasi access modifier Mengimport dan membuat package
Konsep CLASS Apakah Class di dalam OOP ? Untuk Apa class dibuat? Bagimana class Digunakan ? Format Penulisan Class dalam Java
CLASS Format Umum class { * } public class StudentRecord { //area penulisan kode selanjutnya }
Deklarasi Atibut class [= ]; Instance Variable public class StudentRecord { private String name; private String address; private int age; private double mathGrade; private double englishGrade; private double scienceGrade; private double average; } Private : hanya bisa digunakan pada class tersebut. Objek lain tidak dapat menggunakan variabel tersebut secara langsung
Class Variable / Static Variable Variabel yang memiliki nilai yang sama di semua objek pada kelas yang sama.
Contoh class variabel public class StaticVariable{ static int noOfInstances; StaticVariable(){ noOfInstances++; } public static void main(String[] args){ StaticVariable sv1 = new StaticVariable(); System.out.println("No. of instances for sv1 : " + sv1.noOfInstances); StaticVariable sv2 = new StaticVariable(); System.out.println("No. of instances for sv1 : " + sv1.noOfInstances); System.out.println("No. of instances for st2 : " + sv2.noOfInstances); StaticVariable sv3 = new StaticVariable(); System.out.println("No. of instances for sv3 : " + StaticVariable.noOfI nstances); } }
Deklarasi Method Format umum penulisan Method ( *) { * } Accessor Method - Konsep Enkapsulasi :: Sembarang Objek tidak dapat mengakses data private - Untuk dapat mengkases data private :-> gunakan Accessor Method
Contoh Accessor Method public class StudentRecord { private String name; : public String getName(){ return name; } public - Menjelaskan bahwa method tersebut dapat diakses object luar kelas String - Tipe data return value dari method tersebut getName - Nama dari method () - Menjelaskan bahwa method tidak memiliki parameter apapun Tipe data pada instance variable dan method harus sama
Contoh Accessor Method public class StudentRecord { private String name; : public double getAverage(){ double result = 0; result = ( mathGrade+englishGrade+scienceGrade )/3; return result; }
Mutator Method Tujuan :: Agar Objek lain dapat mengubah data Dibutuhkan suatu method disebut: Mutator Method Format Penulisan: set.
Contoh Mutator Method public class StudentRecord { private String name; : public void setName( String temp ){ name = temp; } public - Menjelaskan bahwa method ini dapat dipanggil object luar kelas void - Method ini tidak menghasilkan return value setName - Nama dari method (String temp) - Parameter yang akan digunakan pada method mengidentifikasi nilai dari temp sama dengan name dan mengubah data pada instance variable name.
Program Lengkap Click Here
Referensi This Mengakses instance variable yang dibiaskan oleh parameter public void setAge( int age ){ age = age; //SALAH!!! } public void setAge( int age ){ this.age = age; } Method ini akan mereferensikan nilai dari parameter age kepada instance variable dari object StudentRecord
Overloading Method Method dengan nama yang sama,akan tetapi memiliki fungsi yang berbeda bergantung dari parameter yang digunakan Akan dipanggil sesuai dengan parameter yang sesuai
Contoh Oveloading Method Pada class StudentRecord, akan kita gunakan overloading Method sbb: public void print( String temp ){ System.out.println("Name:" + name); System.out.println("Address:" + address); System.out.println("Age:" + age); } public void print(double eGrade, double mGrade, double sGrade) { System.out.println("Name:" + name); System.out.println("Math Grade:" + mGrade); System.out.println("English Grade:" + eGrade); System.out.println("Science Grade:" + sGrade); }
Memanggil Overloading Method public static void main( String[] args ) { StudentRecord annaRecord = new StudentRecord(); annaRecord.setName("Anna"); annaRecord.setAddress("Philippines"); annaRecord.setAge(15); annaRecord.setMathGrade(80); annaRecord.setEnglishGrade(95.5); annaRecord.setScienceGrade(100); //overloaded methods annaRecord.print( annaRecord.getName() ); annaRecord.print( annaRecord.getEnglishGrade(), annaRecord.getMathGrade(), annaRecord.getScienceGrade()); }
Output Name:Anna Address:Philippines Age:15 Name:Anna Math Grade:80.0 English Grade:95.5 Science Grade:100.0 Pemanggilan Pertama Pemanggilan Kedua
Sekian -:: Selamat Berlatih ::-