Thursday, 27 July 2017

Java - Inheritance (perwarisan)

Inheritance

  • Situasi ini terjadi bila 2 class ada method dan variable yang sama maka akan terbina satu class iaitu main class dan 2 class tadi akan menjadi sub classnya.
  • Dalam main class - method dan variable yang sama.
  • Dalam sub class - method dan variable yang berlainan bagi tiap class.
  • Super/Main class adalah ibu bagi sub sub class.
  • Sub class adalah anak-anak / induk dari super class yang boleh akses / gunakan method dan variable dari super class tersebut.
  • Kalau nak buat sub class kita guna extends.
  • Contoh , namasubclass extends namasuperclass.

Jenis

  1. Single
  2. Multiple
  3. Multi-level
klik untuk lebih lanjut


Kelebihan

  • Method dan variable yang sama dalam 2 class boleh digunakan dalam 1 class.
  • Mudah nak check dan ubah kesalahan sebab kita ubah dekat main class je.
  • Coding yang sama tidak perlu ditulis banyak kali.

Java - Polymorphism

Polymorphism

  • Poly - banyak
  • Morphism - bentuk
  • Jadi, polymorphism ialah kewujudan entiti dalam banyak bentuk. 
  • Dalam Program Berorientasikan Objek (OOP), polymorphism refer kepada kemampuan/kebolehan objek untuk buat kerja berdasarkan input yang diberikan oleh user.
  • Teknik polymorphism ada 2 iaitu : i - Method Overloading     ii - Constructor Overloading

i. Method Overload


Serba Sedikit

  • Terdapat 2 atau banyak method yang mempunyai nama sama tapi parameter berbeza . (apabila parameter berbeza jadi method-method yang mempunyai nama sama itu boleh buat kerja yang berbeza)
  • Berbeza dari segi
    • Bilangan parameter
    • Datatype parameter

Contoh Code dan Output


i. Berbeza dari segi bilangan parameter

class raya
{
public static void main (String args [])
{
overload obj1 = new overload () ;
obj1.overloading ("Hari Raya Aidilfitri") ;
obj1.overloading ("Ketupat/rendang" , 10.00) ;
}
}

class overload
{
public void overloading(String nama)       -----> Bilangan parameter adalah berbeza 
{
System.out.println ("Nama hari raya yang bakal disambut oleh umat Islam : "+nama) ;
}

public void overloading(String menu , double harga)    -----> Bilangan parameter adalah berbeza
{
System.out.println ("Menu : "+menu +" Harga : RM "+harga) ;
}
}



ii. Berbeza dari segi datatype

class adv_mtdover 
{
public static void main (String args []) 
{
square obj = new square() ;
obj.sqr(2) ;
obj.sqr(2.5) ;
}
}

class square {
void sqr(int no) {       -----> Datatype bagi parameter adalah berbeza 
System.out.println ("The square of " +no +" is "+(no*no)) ;
}

void sqr(double no) {      -----> Datatype bagi parameter adalah berbeza
System.out.println ("The square of "+no +" is "+(no*no)) ;
}
}



ii. Constructor Overload


Serba Sedikit

  • Terdapat 2 atau lebih konstruktur yang mempunyai nama sama tapi parameter berbeza dalam satu class . 

Contoh Code dan Output

class adv_consol 
{
public static void main (String args[]) 
{
area a1 = new area(1) ;     * kalau nak pastikan sama ada ia adalah konstruktur atau bukan, masa nak create object akan ada nilai
area a2 = new area(1) ;    -----> Bilangan parameter adalah berbeza
System.out.println ("the area of the square side 5 unit is " +a1.square(5)) ;
System.out.println ("the area of the rectangle of sides 5 x 4 unit is "+a2.rect(5,4)) ;
}
}

class area {
double l,b ;

area (double l) {
this.l=l ;
}

area (double l, double b) {
this.l = l ;
this.b = b ;
}

double square (double l) {
return l*l ;
}

double rect(double l, double b) {
return l*b ;
}
}





Kebaikan Overload

  • Nama yang sama boleh digunakan untuk banyak method dalam satu class.
  • Overload konstruktur berguna untuk bagi nilai awal objek yang berlainan datatype.

Saturday, 22 July 2017

Java - Perkapsulan (encapsulation)

Encapsulation

  • Merupakan salah satu dari 4 asas utama konsep Obejct Oriented Programming (OOP) termasuklah abstraction, polymorphism dan inheritance.
  • Dalam konsep pengaturcaraan, encapsulation merupakan kaedah mengumpulkan data (variable) dan kod aturcara berkaitan data (method) sebagai satu unit.
  • Setiap variable yang terlibat akan didaftarkan sebagai private dan kaedah public getter dan public setter akan digunakan untuk membawa data ke sana ke mari.
  • Teknik ini menyebabkan variable yang didaftarkan di dalam sesebuah class tersembunyi daripada class yang lain. Dengan ini, maklumat-maklumat penting dapat dirahsiakan daripada pengguna akhir.
  • Selain itu, teknik ini juga membolehkan sesebuah class didaftarkan sebagai read-only atau write-only. Dengan cara ini, ia dapat meningkatkan lagi security sesebuah aplikasi.
  • Encapsulation ni dia lebih kurang macam mana kita nak juga pakai data yang jelas-jelas dah private.

Kebaikan 

  • Variable bagi class tersebut hanya boleh digunakan untuk dibaca dan ditulis sahaja (read&write only).
  • Class boleh ada kawalan penuh terhadap semua variable yang ada dalam class tersebut.
  • Pengguna class tak tahu macam mana class tersebut simpan data. Class juga boleh ubah data type variable dan pengguna class tersebut tidak perlu ubah apa-apa dari coding mereka.

Contoh Code dan Output


public class encaptest  // nama class {
private String name ;          - data type bagi variable-variable ini sudah dideclared sebagai private
private String idnum ;
private int age;

public int getAge() {          - di sini kita gunakan kaedah public getter
return age ;
}

public String getName() {
return name ;
}

public String getIdnum() {
return idnum ;
}

public void setAge( int newAge) {         - di sini pula kita gunakan kaedah public setter
age = newAge;
}

public void setName(String newName) {
name = newName ;
}


public void setIdnum (String newId) {
idnum = newId ;
}

}

public class runtest  // nama main class {  
public static void main (String args[])
{
encaptest encap = new encaptest() ;
encap.setName("Liyana") ;
encap.setAge(18) ;
encap.setIdnum("991221-02-****") ;

System.out.println ("Name : "+encap.getName() +" Age : "+encap.getAge() +" Id num :             "+encap.getIdnum()) ;
}
}




p/s jika coding ini tidak dapat run , ada error , maka anda boleh buang public  - yang berwarna ini sahaja - kerana ada yang boleh run dan ada yang tidak bergantung kepada komputer masing masing tapi tidak menjejaskan coding pun. semoga berjaya :)


Friday, 21 July 2017

Java - Permulaan

  1. Semua file .java akan disimpan dalam bin.
  2. Untuk simpan file java, anda harus menulis .java selepas nama file anda. Contoh, contohjava.java.
  3. Untuk compile file java - javac contohjava.java (nama file java itu)
  4. Untuk run file java - java contoh (nama class)
  5. Untuk memanggil keluar output java anda harus membuka Command Promp dan taip : -

cd\
cd Program Files/Java/jdk1.8.0_92/bin
(cara panggil ini bergantung kepada di mana file anda disimpan)

Java

Assalam, mulai saat ini saya akan berkongsikan sedikit tips mengenai Java.