Rabu, 21 April 2010

TUGAS MATA KULIAH PEMROGRAMAN BERORIENTASI OBJEK

Nama : anton adi wijaya

Nim : 09530442

Kelas : 2a

Jurusan : teknik informatika

1.ENKAPSULASI

Enkapsulasi adalah menyembunyikan method suatu objek dari objek lain.

Attribute maupun method disembunyikan dengan cara memberikan modifier private.

// Contoh program INFORMATION HIDING DAN ENKAPSULASI

public class PersegiPanjang{

private double panjang; // attribute yg di hide

private double lebar; // attribute yg di hide

private double tinggi; // attribute yg di hide

public PersegiPanjang() {

panjang = 0;

lebar = 0;

}

private double luas(double p, double l) { // di encap

return p*l;

}

public void setPanjang(double panjang) {

this.panjang = panjang;

}

public void setLebar(double lebar) {

this.lebar = lebar;

}

public double getPanjang() {

return panjang;

}

public double getLebar() {

return lebar;

}

public double getLuas() {

return luas(panjang, lebar);

}

}

public class MainPersegiPanjang {

public static void main(String[] srgs) {

PersegiPanjang pp = new PersegiPanjang();

pp.setPanjang(10);

pp.setLebar(20);

System.out.println(”Panjang : ”+ pp.getPanjang());

System.out.println(”Lebar : ”+ pp.getLebar());

System.out.println(”Luas : ”+ pp.getLuas());

}

}

2. INHERITANCE

INHERITANCE adalah semua attribute dan method dari suatu kelas super dapat diwariskan ke subkelas.

Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan kelas C.

Contoh program PEWARISAN (INHERITENCE)

[modifier] class namaSubKelas extend namaKelasSuper {

// classBody

}

.

3. POLYMORPHISME

Polymorphisme adalah bersifat poly morphy (memiliki banyak bentuk).

Method-method overloading masih dalam kelas yang sama, namun contoh berikut memvisualisaikan method respon() nama sama, namun pada kelas yang berbeda dapat memilki isi method yang berbeda pula tergantung kelasnya.

Contoh pertama :

class EkspresiWajah{

public String respons() {

return(”Perhatikan ekspresi wajah saya”);

}
}

class Gembira extends EkspresiWajah{

public String respons() {

return(”ha ha ha…”);

}
}

class Sedih extends EkspresiWajah{

public String respons() {

return(”hik hik ngeee ngeee ngeee”);

}
}

class Marah extends EkspresiWajah{

public String respons() {

return(”Hai kurang ajar…!”);

}
}

class MainEkspresiWajah{

public static void main(String args[]) {

EkspresiWajah objEkspresi = new EkspresiWajah();

Gembira objGembira = new Gembira();

Sedih objSedih = new Sedih();

Marah objMarah = new Marah();

EkspresiWajah[] arrEkspresi = new EkspresiWajah[4];

arrEkspresi[0] = objEkspresi;

arrEkspresi[1] = objGembira;

arrEkspresi[2] = objSedih;

arrEkspresi[3] = objMarah;

System.out.println(”Ekspresi[0] : ”+arrEkspresi[0].respons());

System.out.println(”Ekspresi[1] : ”+arrEkspresi[1].respons());

System.out.println(”Ekspresi[2] : ”+arrEkspresi[2].respons());

System.out.println(”Ekspresi[3] : ”+arrEkspresi[3].respons());

}
}

Contoh kedua :

public class Employee {

private String name;

private double salary;

protected Employee(String n, double s) {

name = n;

salary = s;

}

protected String getDetails() {

return ”Name : ”+name+ ”\nSalary : ”+salary;

}

public void cetak() {

System.out.println(”coba di Employee”);

}

}

public class Manager extends Employee {

private String department;

public Manager(String nama, double salary, String dep) {

super(nama, salary);

department = dep;

}

public String getDepartment() {

return department;

}

public String getDetails() {

return super.getDetails()+ ”\nDepartment : ”+getDepartment();

}

public void cetak() {

System.out.println(”Coba di Manager”);

}

}

public class View {

public static void main(String[] args) {

Employee e = new Employee(”Ali”,1200000);

Employee em = new Manager(”Ali”,1200000,”Informatika”);

System.out.println(”Data employee :\n”+e.getDetails());

System.out.println(”Data manager :\n”+em.getDetails());

em.cetak();

}

}

Catatan :

Kalau method cetak() di kelas Employee dan kelas Manager ada, maka yang dijalankan adalah method milik kelas Manager.

Prioritasnya adalah kelas Manager kemudian kelas Employee.

Tidak ada komentar:

Posting Komentar