Class dan Obyek java


Java adalah Bahasa Berorientasi Objek. Sebagai bahasa yang memiliki fitur Berorientasi Objek, Java mendukung konsep dasar berikut :
  • Polymorphism
  • Inheritance
  • Encapsulation
  • Abstraction
  • Classes
  • Objects
  • Instance
  • Method
  • Message Parsing


Dalam bab ini, kita akan melihat ke dalam konsep - class dan Objek.


  1. Object - Objek memiliki keadaan dan perilaku. Contoh: Seekor anjing memiliki status - warna, nama, berkembang biak, serta perilaku - menggoyangkan ekor, menggonggong, makan. Objek adalah turunan kelas.
  2. Class - class dapat didefinisikan sebagai template / cetak biru yang menggambarkan perilaku / status yang didukung objeknya.

Objek di Java

Mari kita sekarang melihat jauh ke dalam apa objek. Jika kita mempertimbangkan dunia nyata, kita dapat menemukan banyak objek di sekitar kita, mobil, anjing, manusia, dll. Semua benda ini memiliki keadaan dan perilaku.

Jika Anda membandingkan objek perangkat lunak dengan objek dunia nyata, mereka memiliki karakteristik yang sangat mirip.

Objek perangkat lunak juga memiliki state dan behavior. Status objek perangkat lunak disimpan di fields dan perilaku ditampilkan melalui metode.

Jadi dalam pengembangan perangkat lunak, metode beroperasi pada keadaan internal objek dan komunikasi objek-ke-objek dilakukan melalui metode.
Kelas di Java

Class adalah cetak biru dari mana objek individu dibuat.

Berikut ini adalah contoh Class.
Contoh
public class Dog {
String breed;
int age;
String color;

void barking() {
}

void hungry() {
}

void sleeping() {
}
}

Kelas dapat berisi salah satu dari jenis variabel berikut.
  1. Variabel local - Variabel yang didefinisikan di dalam metode, konstruktor atau blok disebut variabel lokal. Variabel akan dideklarasikan dan diinisialisasi dalam metode dan variabel akan dihancurkan ketika metode telah selesai.
  2. Variabel instance - Variabel instan adalah variabel di dalam class tetapi di luar metode apa pun.Variabel-variabel ini diinisialisasi ketika class dipakai. Variabel instan dapat diakses dari dalam setiap metode, konstruktor atau blok dari class tertentu.
  3. Variabel Class - Variabel Kelas adalah variabel yang dideklarasikan dalam kelas, di luar metode apa pun, dengan kata kunci statis. Class dapat memiliki sejumlah metode untuk mengakses nilai berbagai macam metode. Dalam contoh di atas, menggonggong (), lapar () dan tidur () adalah metode. Berikut adalah beberapa topik penting yang perlu dibahas ketika melihat ke dalam class Bahasa Java.

Constructors

Ketika membahas tentang kelas, salah satu topik syang paling penting adalah konstruktor. Setiap kelas memiliki konstruktor. Jika kita tidak secara eksplisit menulis konstruktor untuk kelas, compiler Java membangun konstruktor default untuk kelas itu. Setiap kali objek baru dibuat, setidaknya satu konstruktor akan dipanggil. Aturan utama konstruktor adalah mereka harus memiliki nama yang sama dengan kelas. Kelas dapat memiliki lebih dari satu konstruktor. Berikut ini adalah contoh konstruktor .
Contoh
public class Puppy {
public Puppy() {

//constructors tanpa parameter
}

public Puppy(String name) {
// This constructor has one parameter, name. dengan satu parameter
}
}

Java juga mendukung Singleton Classes di mana Anda hanya dapat membuat satu kelas saja. Catatan : java memiliki dua jenis konstruktor berbeda. Kita akan membahas konstruktor secara rinci dalam bagian selanjutnya.

Membuat Objek

Seperti yang disebutkan sebelumnya, kelas adalah cetak biru untuk objek. Jadi pada dasarnya, objek dibuat dari kelas. Di Java, kata kunci/keyword baru digunakan untuk membuat objek baru. Ada tiga langkah saat membuat objek dari kelas :
  1. Deklarasi - Deklarasi variabel dengan nama variabel dengan jenis objek.
  2. Instansiasi - Kata kunci 'baru' digunakan untuk membuat objek.
  3. Inisialisasi - Kata kunci 'baru' diikuti dengan panggilan ke konstruktor. Panggilan ini menginisialisasi objek baru. Berikut ini adalah contoh pembuatan objek .
Contoh
public class Puppy {
public Puppy(String name) {
// This constructor has one parameter, name.
System.out.println("Passed Name is :" + name );
}

public static void main(String []args) {
// Following statement would create an object myPuppy
Puppy myPuppy = new Puppy( "tommy" );
}
}

Jika kita mengkompilasi dan menjalankan program di atas, maka akan menghasilkan hasil berikut
output
Passed Name is :tommy

Mengakses Variabel dan Metode

Instance Variabel dan metode instan diakses melalui objek yang dibuat. Untuk mengakses variabel instance, berikut adalah cara yang di anjurkkan

/* First create an object */membuat objek baru
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();


Contoh ini menjelaskan cara mengakses variabel instan dan metode kelas.

public class Puppy {
int puppyAge;

public Puppy(String name) {
// This constructor has one parameter, name.
System.out.println("Name chosen is :" + name );
}

public void setAge( int age ) {
puppyAge = age;
}

public int getAge( ) {
System.out.println("Puppy's age is :" + puppyAge );
return puppyAge;
}

public static void main(String []args) {
/* Object creation */
Puppy myPuppy = new Puppy( "tommy" );

/* Call class method to set puppy's age */
myPuppy.setAge( 2 );

/* Call another class method to get puppy's age */
myPuppy.getAge( );

/* You can access instance variable as follows as well */
System.out.println("Variable Value :" + myPuppy.puppyAge );
}
}

Output
Name chosen is :tommy
Puppy's age is :2
Variable Value :2

Aturan Deklarasi File Sumber

Sebagai bagian terakhir dari bagian ini, mari kita lihat aturan deklarasi file sumber. Aturan-aturan ini sangat penting ketika mendeklarasikan kelas, laporan impor dan pernyataan paket dalam file sumber. 
  • Hanya boleh ada satu kelas publik per file sumber. 
  • File sumber dapat memiliki beberapa kelas non-publik.
  • Nama kelas publik harus nama file sumber juga yang harus ditambahkan oleh .java di bagian akhir. Sebagai contoh: nama kelas adalah Karyawan kelas publik {} maka file sumber harus seperti Employee.java.
  • Jika kelas didefinisikan di dalam package/paket, maka pernyataan paket harus menjadi pernyataan pertama dalam file sumber.
  • Jika pernyataan impor hadir, maka mereka harus ditulis antara pernyataan paket dan deklarasi kelas.
  • Jika tidak ada pernyataan paket, maka pernyataan impor harus menjadi baris pertama dalam file sumber.
  • Pernyataan impor dan pakage akan menyiratkan ke semua kelas yang ada dalam file sumber.
  • Tidak mungkin untuk menyatakan pernyataan impor dan / atau paket yang berbeda ke kelas yang berbeda di dalam file sumber yang sama.
Kelas memiliki beberapa tingkat akses dan ada berbagai jenis kelas; kelas abstrak, kelas final, dll. Kami akan menjelaskan tentang semua ini di bagian modifiers akses. Terlepas dari jenis kelas yang disebutkan di atas, Java juga memiliki beberapa kelas khusus yang disebut inner class dan Anonymous class.

Package Java

Dengan kata sederhana, ini adalah cara mengkategorikan class dan interface. Ketika mengembangkan aplikasi di Java, ratusan class dan interface akan ditulis, oleh karena itu mengelompokkan kelas-kelas ini adalah suatu keharusan serta membuat lebih mudah.

Statement Import

Di Java jika nama yang memenuhi syarat, yang termasuk paket dan nama kelas yang diberikan, maka kompilator dapat dengan mudah menemukan kode sumber atau kelas.
Pernyataan impor adalah cara memberikan lokasi yang tepat untuk compiler untuk menemukan kelas tertentu.
Sebagai contoh, baris berikut akan meminta compiler untuk memuat semua kelas yang tersedia di direktori java_installation / java / io 
import java.io. *; 

Studi Kasus Sederhana Untuk studi kasus kita, kita akan membuat dua kelas. Mereka adalah Employee dan EmployeeTest
Pertama Buka notepad dan tambahkan kode berikut. ini adalah kelas Karyawan dan kelasnya adalah kelas publict.
Sekarang, simpan file ini dengan nama Employee.java. Kelas Karyawan memiliki empat variabel instance :
name, age, designation dan gaji/salary. Kelas memiliki satu konstruktor yang didefinisikan secara eksplisit, yang mengambil parameter. 
Contoh
import java.io.*;
public class Employee {

String name;
int age;
String designation;
double salary;

// This is the constructor of the class Employee
public Employee(String name) {
this.name = name;
}

// Assign the age of the Employee to the variable age.
public void empAge(int empAge) {
age = empAge;
}

/* Assign the designation to the variable designation.*/
public void empDesignation(String empDesig) {
designation = empDesig;
}

/* Assign the salary to the variable salary.*/
public void empSalary(double empSalary) {
salary = empSalary;
}

/* Print the Employee details */
public void printEmployee() {
System.out.println("Name:"+ name );
System.out.println("Age:" + age );
System.out.println("Designation:" + designation );
System.out.println("Salary:" + salary);
}
}

Seperti yang disebutkan sebelumnya di tutorial ini, pemrosesan dimulai dari metode utama. Oleh karena itu, agar kita dapat menjalankan class Karyawan ini harus ada metode utama/main dan objek harus dibuat. kita akan membuat kelas terpisah untuk tugas-tugas ini. Berikut ini adalah kelas EmployeeTest, yang membuat dua contoh class Karyawan dan memanggil metode untuk setiap objek untuk menetapkan nilai untuk setiap variabel.
Simpan kode berikut di file EmployeeTest.java.
import java.io.*;
public class EmployeeTest {

public static void main(String args[]) {
/* Buat dua objek menggunakan konstruktor */
Employee empOne = new Employee("James Smith");
Employee empTwo = new Employee("Mary Anne");

// memanggil method untuk setiap objek yang di buat
empOne.empAge(26);
empOne.empDesignation("Senior Software Engineer");
empOne.empSalary(1000);
empOne.printEmployee();

empTwo.empAge(21);
empTwo.empDesignation("Software Engineer");
empTwo.empSalary(500);
empTwo.printEmployee();
}
}

Output
C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0



Author:

Facebook Comment

Inside Post