Contoh class / object
public class Human {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void attack() {
public void attack() {
System.out.println(getName() + " Kick");
}
}
Contoh Penggunaan class / object
Human human = new Human();
human.setName("Jhon");
human.attack();
human.setName("Jhon");
human.attack();
- Inheritance
- Kita bisa membuat sub class yang mewarisi variable dan fungsi dari parent class
- Di Java menggunakan keyword extend
- Contoh Inheritancepublic class SuperHero extend Human {private String power;public void setPower(String power) {this.power = power;}public String getPower() {return this.power;}
@Override
public void attack() {System.out.println(getName() + " " + getPower());}} - Contoh PenggunaanSuperHero hero = new SuperHero();
hero.setName("Maulana");
hero.setPower("Fire Kick");
hero.attack(); - Encapsulation
- Pembungkusan variable pada suatu class agar tidak bisa sembarangan diakses dari luar classnya
- Caranya dengan menambahkan akses modifier private pada variable, lalu membuat public method getter dan setter untuk variable tersebut agar bisa diakses dari class yang lain.
- Polymorphism
- Poly artinya banyak, Morphism artinya bentuk, jadi Polymorphism artinya banyak bentuk
- Polimorfisme dinamis menggunakan method overriding, misalnya dengan membuat method didalam sebuah subclass dimana mengoverride / menindih method yang ada di parent classnya. Contohnya method attach diatas.
- Polimorfisme statis menggunakan cara overloading, dimana nama method / fungsinya sama tapi memiliki type parameter yang berbeda
- Contoh Overloading
class Lingkaran { // method menghitung luas dengan jari-jari float luas(float r){ return (float) (Math.PI * r * r); } // method menghitung luas dengan diameter double luas(double d){ return (double) (1/4 * Math.PI * d); } }
- Abstrack Class
- Class yang masih abstrack sehingga tidak bisa langsung digunakan, seperti class Human atau SuperHero diatas.
- Abcstract class harus memiliki minimal 1 method abtract
// ini abstrak method void sayHello(); // ini bukan abstrak method karena // punya implementasi di body method void greeting(){ System.out.println("Hello Java"); }
- Agar sebuah abstract class dapat digunakan maka perlu membuat subclass yang mengimplementasikan abstract method dari parentnya
public abstract class Shape { String color; void setColor(String color){ this.color = color; } String getColor(){ return this.color; } abstract float getArea(); }
public class Triangle extends Shape { private float base; private float height; public Triangle(int base, int height) { this.base = base; this.height = height; } @Override float getArea() { return 0.5f * base * height; } }
Komentar
Posting Komentar