Photobucket

TUGAS 1

Polymorphisme

Polymorphism menyediakan cara yang berbeda pada pemisahan interface dari implementasinya, untuk memasangkan ulang apa dari bagaimana. Polymorphism memberikan organisasi kode yang lebih baik dan kode menjadi lebih mudah dibaca, juga memberikan suatu kemampuan pada program untuk berkembang secara terus menerus baik pada tahap pengembangan awal ataupun pada saat ingin menambahkan kemampuan-kemampuan yang baru.
Contoh:
interface Animal
{
String getName();
String talk();
}

abstract class AnimalBase implements Animal
{
private final String name;

protected AnimalBase(String name)
{
this.name = name;
}

public String getName()
{
return name;
}
}

class Cat extends AnimalBase
{
public Cat(String name)
{
super(name);
}

public String talk()
{
return "Meowww!";
}
}

class Dog extends AnimalBase
{
public Dog(String name)
{
super(name);
}

public String talk()
{
return "Arf! Arf!";
}
}

public class TestAnimals
{
// prints the following:
//
// Missy: Meowww!
// Mr. Mistoffelees: Meowww!
// Lassie: Arf! Arf!
//
public static void main(String[] args)
{
Animal[] animals =
{
new Cat("Missy"),
new Cat("Mr. Mistoffelees"),
new Dog("Lassie")
};

for (Animal a : animals)
{
System.out.println(a.getName() + ": " + a.talk());
}
}
}

inheritance

inheritance adalah fitur di java yang mengijinkan sebuah kelas dapat diturunkan yang masih memiliki sifat atau spesifikasi sifat class dari mana class tersebut diturunkan (superclass).
Contoh:
/*
* Karyawan.java
*/
public class karyawan{
String nama;
String alamat;
String kota;
public karyawan() {
nama=””;
alamat=””;
kota=””;
}
public karyawan(String newNama, String newAlamat, String newKota) {
nama=newNama;
alamat=newAlamat;
kota=newKota;
}
public void setNama(String newNama){
nama=newNama;
}
public void setAlamat(String newAlamat){
alamat=newAlamat;
}
public void setKota(String newKota){
kota=newKota;
}
public String getNama(){
return nama;
}
public String getAlamat(){
return alamat;
}
public String getKota(){
return kota;
}
public String toString(){
String str=
“Nama : “+nama+”\n”+
“Alamat :”+alamat+”\n”+
“Kota :”+kota+”\n”;
return str;
}
static void mulai(){
karyawan t=new karyawan(“Raden Mas Ngabehi”,”Jalan Buntu 123”,”Jakarta”);
System.out.println(t.getNama());
System.out.println(t.getAlamat());
System.out.println(t.getKota());
System.out.println(t);
}
public static void main(String[] args) {
mulai();
}
/*
* honorer.java
*/
public class honorer extends karyawan{
long salary;
String department;
public honorer() {
super();
salary=0;
department=””;
}
public honorer(String newNama, String newAlamat, String newKota, long salary, String department){
super(newNama, newAlamat, newKota);
salary=newSalary;
department=newDepartment;
}
public void setSalary(long newSalary){
salary=newSalary;
}
public long getSalary(){
return salary;
}
public void setDepartment(String newDepartment){
department=newDepartment;
}
public String getDepartment(){
return department;
}
public String toString(){
String str=
“Nama :”+nama+”\n”+
“Alamat:”+alamat+”\n”+
“Kota :”+kota+”\n”+
“Salary :”+salary+”\n”+
“Department :”+department;
return str;
}
static void mulai(){
karyawan t= new honorer(“Raden Mas Ngabehi”,”Jalan Buntu 123”,”Jakarta”,2000000,”Financial”);
System.out.println(t.getNama());
System.out.println(t.getAlamat());
System.out.println(t.getKota());
System.out.println(t.getSalary());
System.out.println(t.getDepartment());
System.out.println(t);
}
public static void main(String[] args){
mulai();
}
}

Enkapsulasi


Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class.

Contoh:
public class PersegiPanjang{
private double panjang; // attribute yg di encap
private double lebar; // attribute yg di encap
private double tinggi; // attribute yg di encap
public PersegiPanjang() {
panjang = 0;
lebar = 0;
}
private double luas(double p, double l) { // di hide
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);
}
}
//MainPersegiPanjang.java
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());
}
}

0 comments:

Post a Comment