INHERITANCE
Pengertian Inheritance
• Inheritance merupakan salah
satu dari tiga konsep dasar OOP.
• Konsep inheritance ini
mengadopsi dunia riil dimana suatu entitas/obyek / y dapat mempunyai
entitas/obyek turunan.
• Dengan konsep inheritance,
sebuah class dapat mempunyai class turunan.
• Suatu class yang mempunyai
class turunan dinamakan parent class atau base class.
• Sedangkan class turunan itu
sendiri seringkali disebut subclass atau child class.
Deklarasi Inheritance
• Dengan menambahkan kata kunci
extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class‐nya.
• Kata kunci extends tersebut
memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Contoh Program:
Animal.java
class Animal{
String makanan;
String suara;
//konstruktor
public Animal(String makanan, String
suara){
System.out.println("Binatang");
this.makanan = makanan;
this.suara = suara;
}
//method - method
void makan(){
System.out.println("Anjing memakan
tulang");
}
void bersuara(){
System.out.println("Anjing
suaranya Gug gug gug...");
}
}
Kucing.java
class Kucing extends Animal {
String jenisKucing;
//konstruktor
public Kucing(String makanan, String suara,
String jenisKucing){
super(makanan,suara);
this.jenisKucing = jenisKucing;
System.out.println("tercipta
kucing "+jenisKucing);
}
//overide method makan
void makan(){
System.out.println("kucing memakan
"+this.makanan);
}
//override mthod bersuara
void bersuara(){
System.out.println("Kucing
suaranya "+suara);
}
}
AnimalTest.java
class AnimalTest {
public static void main(String[] args){
Animal animal = new
Animal("nasi", "hmmm");
animal.makan();
animal.bersuara();
System.out.println();
Kucing anggora = new
Kucing("Ikan","miau..miau..miau","anggora");
anggora.makan();
anggora.bersuara();
}
}
OUTPUT
POLYMORPHISM
Setelah
inheritance, hal yang penting bagi object oriented programming adalah
polymorphism. Secara leksikal polymorphism merupakan sesuatu yang mempunyai
banyak bentuk. Dalam pemrograman polymorphism merupakan dapat diartikan suatu
modul yang mempunyai nama sama, tapi memiliki behavior yang berbeda sehingga
listing code implementasinya berbeda. Dan dalam bahasa yang lain adalah kemampuan
dari reference untuk mengubah sifat sesuai dengan object yang dijadiin acuan.
Polymorphism menyediakan menyediakan multiobject dari sub class yang berbeda
diperlakukan sebagai object tunggal dari super class.
Contoh
Program:
Bicycle.java
public
class Bicycle {
public
int gear;
public
int speed;
public
int power;
public
Bicycle(int startGear, int startSpeed, int startPower)
{
gear
= startGear;
speed
= startSpeed;
power
= startPower;
}
public
void setPower( int newValue)
{
power
= newValue;
}
public
void setGear( int newValue)
{
gear
= newValue;
System.out.println(“Gear
At”+ gear);
}
public
void applyBreake(int decrement )
{
speed
-= decrement;
}
public
void speedUp(int increment)
{
speed
+= increment;
}
public
void printDescription()
{
System.out.println(“Bike
in gear”+this.gear+”with power”+this.power+”and speed”+this.speed);
}
}
MountainBike.java
public
class MountainBike extends Bicycle {
private
String suspension;
public
MountainBike(int startSpeed, int startGear, int startPower, String
startSuspension )
{
super(startGear,
startSpeed, startPower);
setSuspension(startSuspension);
}
public
String getSuspension(){
return
this.suspension;
}
public
void setSuspension(String suspensionType){
this.suspension
= suspensionType;
}
@Override
public
void printDescription(){
super.printDescription();
System.out.println(“The
MountainBike has a ” + getSuspension()
+
” suspension.”);
}
}
RoadBike.java
public
class RoadBike extends Bicycle {
private
int tireWidth;
public
RoadBike(int startSpeed, int startPower, int startGear, int newTireWidth)
{
super(startGear,
startSpeed, startPower);
setTireWidth(
newTireWidth);
}
public
int getTireWidth(){
return
this.tireWidth;
}
public
void setTireWidth(int newTireWidth){
this.tireWidth
= newTireWidth;
}
@Override
public
void printDescription(){
super.printDescription();
System.out.println(“The
RoadBike has ” + getTireWidth()
);
}
}
Main.java
public
class Main {
/**
*
@param args the command line arguments
*/
public
static void main(String[] args) {
Bicycle
bike01, bike02, bike03;
bike01
= new Bicycle(20, 10, 1);
bike02
= new MountainBike(20, 10, 5, “Dual”);
bike03
= new RoadBike(40, 20, 8, 23);
MountainBike
Ren = new MountainBike(99,9,9,”Dual”);
bike01.printDescription();
bike02.printDescription();
bike03.printDescription();
}
}
OUTPUT
0 comments:
Post a Comment