Core JAVA
DEFINISI OOPS DI JAVA
Pemrograman berorientasi objek adalah pendekatan yang memodulasi
program dengan membuat area memori terpisah untuk keduanya
fungsi dan data yang dapat digunakan sebagai template untuk membuat
salinan modul seperti itu berdasarkan permintaan.
Tujuan OOPS
Tujuan utama dari pendekatan berorientasi objek adalah untuk
menghilangkan beberapa jebakan yang ada dalam prosedural
pendekatan. OOP memperlakukan data sebagai elemen dalam program, bukan
mengizinkannya mengalir di sekitar sistem dengan bebas. Ini mengikat data dengan erat
ke fungsi-fungsi yang beroperasi di atasnya dan melindunginya dari
modifikasi yang tidak disengaja oleh fungsi lain yang sudah ada. OOPS
mengizinkan memecah masalah menjadi beberapa entitas yang disebut
Objek dan kemudian membangun data dan fungsi dari entitas ini.
Kombinasi data membentuk sebuah objek
Objek = Metode + Data
Data dari suatu objek diakses oleh metode yang terkait dengan
objek tersebut. Namun, metode dari objek dapat mengakses
Fitur OOP
Penekanan pada data daripada prosedur
Program dibagi menjadi objek
Struktur Data dirancang untuk menggambarkan objek.
Metode yang beroperasi pada data sebuah objek terikat
bersama dalam struktur data.
Data disembunyikan, dan fungsi eksternal tidak dapat mengaksesnya.
Objek berkomunikasi satu sama lain melalui metode
Metode dan data baru dapat dengan mudah ditambahkan kapan saja.
perlu
Mengikuti pendekatan dari bawah ke atas dalam desain program
OBJEK
Objek: adalah kumpulan data dan perilakunya (sering dikenal sebagai
metode).
Objek memiliki dua karakteristik: Mereka memiliki status dan perilaku.
Contoh negara dan perilaku
Contoh 1:
Object:House
State:Address, Color, Area
Behavior:Open door, close door
Jadi jika saya harus menulis sebuah kelas berdasarkan negara bagian dan perilaku dari
Rumah. Saya bisa melakukannya seperti ini: Negara dapat direpresentasikan sebagai instans
variabel dan perilaku sebagai metode kelas. Kita akan melihat bagaimana
untuk membuat kelas di bagian selanjutnya dari panduan ini.
class House {
String address;
String warna;
double ada;
void bukaPintu() {
//Tuliskan kode di sini
}
void tutupPintu() {
//Tulis kode di sini
}
...
...
}
CIRI-CIRI OBJEK
Jika Anda merasa sulit untuk memahami Abstraksi dan Enkapsulasi,
jangan khawatir karena saya telah membahas topik-topik ini secara detail dengan
contoh di bagian selanjutnya dari panduan ini.
Abstraksi
2. Enkapsulasi
3. Pengiriman pesan
Abstraksi: Abstraksi adalah proses di mana Anda hanya menunjukkan
"data yang relevan" dan "sembunyikan" detail yang tidak perlu dari suatu objek
pengguna.
Enkapsulasi: Enkapsulasi sederhana berarti mengikat objek
keadaan (field) dan perilaku (metode) bersama-sama. Jika Anda sedang membuat
kelas, Anda melakukan enkapsulasi.
Pengiriman pesan
Sebuah objek tunggal mungkin tidak sangat berguna. Sebuah aplikasi
mengandung banyak objek. Satu objek berinteraksi dengan objek lainnya
dengan memanggil metode pada objek itu. Itu juga disebut
Panggilan Metode.
Kelas Dalam OOP
Sebuah kelas dapat dianggap sebagai cetak biru yang dapat Anda gunakan untuk
buat sebanyak mungkin objek yang Anda inginkan. Misalnya, di sini kita memiliki sebuah
kelas Website yang memiliki dua anggota data (juga dikenal sebagai bidang,
instance variables and object states). This is just a blueprint, it
tidak mewakili situs web mana pun, namun dengan ini kita dapat membuat
Objek (atau instansi) situs web yang mewakili situs web.
telah membuat dua objek, saat membuat objek kami menyediakan
pisahkan properti ke objek menggunakan konstruktor.
OBJEK dan CONTOH KELAS: UTAMA DI LUAR KELAS
Dalam pengembangan waktu nyata, kami membuat kelas dan menggunakannya dari
kelas lain. Ini adalah pendekatan yang lebih baik daripada yang sebelumnya. Mari kita lihat sebuah
contoh sederhana, di mana kita memiliki metode main() di lain
kelas.
Kita bisa memiliki beberapa kelas di berbagai file Java atau satu Java
file. Jika Anda mendefinisikan beberapa kelas dalam satu file sumber Java, itu adalah
ide bagus untuk menyimpan nama file dengan nama kelas yang memiliki
metode main()
//Program Java untuk mendemonstrasikan memiliki metode utama di
//kelas lain
//Membuat kelas Siswa.
kelas Siswa{
int id;
String nama;
}
//Membuat kelas lain TestStudent1 yang berisi main
metode
kelas TestStudent1{
publik statis void utama(String args[]){ Mahasiswa s1=new Mahasiswa();
[Link]([Link]); [Link]([Link]);
}
}
Contoh Objek dan Kelas: Inisialisasi melalui referensi
Menginisialisasi sebuah objek berarti menyimpan data ke dalam objek. Mari kita lihat
contoh sederhana di mana kita akan menginisialisasi objek
melalui variabel referensi.
kelas Siswa{
int id;
String nama;
}
kelas TestStudent2{
publik statis void main(String args[]){
Mahasiswa s1=new Mahasiswa(); [Link]=101; [Link]="Sonoo";
[Link]([Link]+" "+[Link]);//printing member s with
ruang putih }
}
KONSTRUKTOR DI JAVA
Konstruktor terlihat seperti metode tetapi sebenarnya bukan metode. Itu adalah
nama sama dengan nama kelas dan tidak mengembalikan nilai apapun. Anda
pasti sudah melihat pernyataan ini di hampir semua program yang saya miliki
dibagikan di atas:
MyClass obj = new MyClass();
Jika Anda melihat sisi kanan pernyataan ini, kami sedang memanggil
konstruktor default dari kelas MyClass untuk membuat objek baru (atau
instansi).
Kita juga dapat memiliki parameter dalam konstruktor, seperti
konstruktor dikenal sebagai konstruktor parametrik.
Empat fitur adalah konsep OOP utama yang harus Anda pelajari untuk
memahami Pemrograman Berorientasi Objek di Java
Abstraksi
2. Enkapsulasi
3. Warisan
4. Polimorfisme
ABSTRAKSI:
Abstraksi adalah proses di mana Anda hanya menunjukkan data yang "relevan" dan
sembunyikan rincian yang tidak perlu dari suatu objek dari pengguna. Untuk
misalnya, ketika Anda masuk ke akun bank Anda secara online, Anda memasukkan
masukkan user_id dan password Anda dan tekan login, apa yang terjadi ketika
Anda menekan masuk, bagaimana data input dikirim ke server, bagaimana cara mendapatkannya
terverifikasi sepenuhnya di luar jangkauan Anda.
ENKAPSULASI
Enkapsulasi berarti mengikat keadaan objek (bidang) dan
perilaku (metode) bersama. Jika Anda sedang membuat kelas, Anda adalah
melakukan enkapsulasi.
WARISAN
Proses di mana satu kelas memperoleh sifat dan
fungsi dari kelas lain disebut pewarisan. Pewarisan
menyediakan ide tentang penggunaan kembali kode dan setiap subkelas mendefinisikan
hanya fitur-fitur yang unik untuknya, fitur lainnya dapat
be inherited from the parent class.
Pewarisan adalah suatu proses mendefinisikan kelas baru berdasarkan
kelas yang ada dengan memperluas anggota data umumnya dan
metode.
Pewarisan memungkinkan kita untuk menggunakan kembali kode, itu memperbaiki
penggunaan kembali dalam aplikasi java Anda.
Kelas induk disebut kelas dasar atau kelas super.
kelas anak yang memperluas kelas dasar disebut turunan
kelas atau subkelas atau kelas anak.
Sintaksis: Pewarisan dalam Java
Untuk mewarisi sebuah kelas, kita menggunakan kata kunci extends. Di sini kelas A adalah anak.
class and class B is parent class.
kelas A mewarisi B
{
}
POLYMORPHISM
Polimorfisme adalah fitur pemrograman berorientasi objek yang
memungkinkan kita untuk melakukan satu tindakan dengan berbagai cara. Untuk
example, lets say we have a class Animal that has a method
animalSound(), here we cannot give implementation to this
metode karena kami tidak tahu kelas Hewan mana yang akan diperluas
Kelas Hewan. Jadi, kita membuat metode ini abstrak seperti ini:
publik abstrak kelas Hewan{
...
publik abstrak void suaraHewan();
}
Sekarang anggap kita memiliki dua kelas Hewan, Anjing dan Singa yang
mengextends kelas Hewan. Kita dapat memberikan rincian implementasi
di sana.
kelas publik Lion memperluas Hewan{
...
@Override
publik void suaraHewan(){
[Link]("Mengaum");
}
}
dan
publik kelas Anjing memperluas Hewan{
...
@Override
public void animalSound(){
[Link]("Guk");
}
}
Jenis-jenis Polimorfisme
1) Polimorfisme Statis
2) Polimorfisme Dinamis
Polimorfisme Statik
Polimorfisme yang diselesaikan selama waktu kompilasi dikenal sebagai
polimorfisme statis. Overloading metode dapat dianggap sebagai
contoh polimorfisme statis.
Overloading Metode: Ini memungkinkan kita untuk memiliki lebih dari satu
metode dengan nama yang sama dalam suatu kelas yang berbeda dalam tanda tangan.
Polimorfisme Dinamis
Ini juga dikenal sebagai Pengiriman Metode Dinamis. Dinamis
polimorfisme adalah suatu proses di mana panggilan ke sebuah metode yang ditimpa
method is resolved at runtime rather, thats why it is called
polimorfisme waktu jalan
ANTARMUKA DI JAVA
An interface in Java is a blueprint of a class. It has static constants
dan metode abstrak.
Antarmuka dalam Java adalah mekanisme untuk mencapai abstraksi.
Dalam antarmuka Java hanya bisa ada metode abstrak, bukan
badan metode. Ini digunakan untuk mencapai abstraksi dan
pewarisan ganda di Java.
Dengan kata lain, Anda dapat mengatakan bahwa antarmuka dapat memiliki abstrak
metode dan variabel. Itu tidak dapat memiliki badan metode.
Antarmuka Java juga mewakili hubungan IS-A.
Ini tidak dapat diinstansiasi sama seperti kelas abstrak.
Sejak Java 8, kita bisa memiliki metode default dan statis di dalam
antarmuka.
Sejak Java 9, kita dapat memiliki metode privat di dalam antarmuka.
There are mainly three reasons to use interface.
Mereka diberikan di bawah ini.
• Itu digunakan untuk mencapai abstraksi.
• Melalui antarmuka, kami dapat mendukung fungsionalitas dari beberapa
warisan.
• Ini dapat digunakan untuk mencapai pengikatan longgar.
Bagaimana cara mendeklarasikan antarmuka?
Antarmuka dideklarasikan dengan menggunakan kata kunci interface.
menyediakan abstraksi total; berarti semua metode dalam sebuah antarmuka
dideklarasikan dengan badan kosong, dan semua bidang bersifat publik,
statis dan final secara default. Sebuah kelas yang mengimplementasikan sebuah antarmuka
harus mengimplementasikan semua metode yang dideklarasikan dalam antarmuka.
Sintaksis:
antarmuka <interface_name>{
// menyatakan konstanta bidang
// deklarasikan metode yang abstrak
// secara default.
}
CONTOH ANTARMUKA JAVA
Dalam contoh ini, antarmuka Printable hanya memiliki satu metode, dan
implementasinya disediakan di kelas A6.
antarmuka dapat dicetak{
void print();
}
class A6 implements printable{
public void print(){[Link]("Hello");}
public static void main(String args[]){ A6 obj = new A6();
[Link]();
}
}
Pewarisan ganda di Java melalui antarmuka
antarmuka Cetakable{
void print();
}
antarmuka Tampilkanable{
tidak ada tampilan();
}
class A7 implements Printable,Showable{
public void print(){[Link]("Halo");}
publik void tampil(){[Link]("Selamat Datang");}
public static void main(String args[]){ A7 obj = new A7();
[Link]();
[Link]();
}
}
WARISAN ANTAR MUKA
Sebuah kelas mengimplementasikan sebuah antarmuka, tetapi satu antarmuka diperluas
antarmuka lain.
antarmuka Cetakable{
kosong cetak();
}
antarmuka Tampilkan dapat dicetak{
void show();
}
kelas TestInterface4 mengimplementasikan Showable{
public void print(){[Link]("Hello");}
publik void show(){[Link]("Selamat Datang");}
public static void main(String args[]){ TestInterface4 obj = new
TestInterface4(); [Link]();
[Link]();
}
}