Anda di halaman 1dari 20

CONSTRUCTOR

DEFINISI

 Constructor adalah sebuah methods khusus yang akan dipanggil


ketika sebuah object dibuat.

 Constructor digunakan untuk memastikan bahwa sebuah object


diinisialisasi dengan benar.

 Contructor biasanya digunakan untuk memberi nilai awal pada


atribut-atribut class
CONSTRUCTOR

 Constructor
 Method yang mempunyai nama sama dengan class.
 Dapat berupa parametric ataupun non-parametric.
 Secara default setiap class akan dibuatkan sebuah constructor non-
parametric dengan isi kosong
 Tidak memiliki nilai kembalian (String, int, double, dll)
DEKLARASI CONTRUCTOR

 Secara umum deklarasi sama dengan methods biasa, hanya saja


constructor tidak mempunyai return type.

class NamaKelas {
    NamaKelas() {
        // Lakukan Sesuatu
    }
}
CONTOH – TANPA CONSTRUCTOR

class manusia {
String nama;
int usia;

void cetak(){
System.out.println("Nama : "+nama);
System.out.println("Usia : "+usia +"\n");
}}

public class DemoManusia {


public static void main(String[] args) {
manusia m1 = new manusia();
m1.nama =" Adi";
m1.usia = 20;
m1.cetak();
}}
CONTOH – CONSTRUCTOR

class manusia {
String nama;
int usia;

manusia (String nama, int usia){


this.nama= nama;
this.usia = usia;
}

void cetak(){
System.out.println("Nama : "+nama);
System.out.println("Usia : "+usia +"\n");
}
}
MULTIPLE CONSTRUCTOR

 Multiple Constructor adalah adanya lebih dari satu contructor untuk


sebuah class.

 Yang membedakan antara satu constructor dengan constructor


lainnya adalah pada parameternya (nama constructornya sama)
CONTOH MULTIPLE CONSTRUCTOR
class manusia {
String nama;
int usia;

manusia (){
this.nama = "tanpa nama";
this.usia = 0;
}

manusia (String nama, int usia){


this.nama= nama;
this.usia = usia;
}

void cetak(){
if (nama==null&&usia==0)
return;
System.out.println("Nama : "+nama);
System.out.println("Usia : "+usia +"\n");}
}
INHERITANCE
INHERITANCE

 Inheritance merupakan proses pewarisan data dan method dari suatu


class yang ada kepada class yang baru.
 Class yang mewariskan disebut superclass/ parent class/ base class.
 Class yang mewarisi disebut subclass/ child class/ derived class
 Subclass tidak dapat mewarisi anggota private dari superclassnya
INHERITANCE

 Dengan inheritance, subclass akan mirip dengan superclass namun


memiliki karakteristik yang baru
 Subclass hanya boleh memiliki 1 superclass, sedangkan superclass
boleh memiliki 1 atau lebih subclass

 Contoh :

Orang

Mahasiswa Dosen
DEKLARASI INHERITANCE

 Untuk menetapkan inheritance, digunakan statement “extends”

NamaSubClass extends namaSuperClass{

// definisi class

}
DEKLARASI INHERITANCE

 Keyword “super” digunakan oleh subclass untuk memanggil


constructor atau method yang ada pada superclassnya
 Statement memanggil constructor

super()
super(parameter)

 Statement memanggil method


super.namaMethod(parameter)
CONTOH – SUPERCLASS

class orang {
private String nama;
private double tinggi;
private double berat;

public orang(String nama, double tinggi, double berat){


this.nama = nama;
this.tinggi = tinggi;
this.berat =berat;
}

public String toString(){


return ("Nama : " + nama+ "\nTinggi :" + tinggi+ "\nBerat :"+
berat);
}
}
CONTOH – SUBCLASS
class mahasiswa extends orang{
private String nim;
private String univAsal;
private double nilai;

public mahasiswa(String nama, double tinggi, double berat, String


nim, String univAsal, double nilai){
super (nama, tinggi, berat);
this.nim = nim;
this.univAsal = univAsal;
this.nilai = nilai;
}

public String toString(){


return(super.toString()+ "\nNIM : " + nim + "\nUniversitas Asal : "+
univAsal+ "\nNilai :" +nilai);
}
}
CONTOH – INHERITANCE MAIN CLASS

public class Latihan {


public static void main(String[] args) {
mahasiswa mhs1 = new mahasiswa("Adi", 170, 68, "12345",
"Harapan", 90);
orang org1 = new orang("Ani",156,55);
System.out.println(mhs1.toString());
System.out.println("\n"+org1.toString());
}
}
CONTOH - 2

class Pet {
private String name;
public String getName( ) {
return name;
}
public void setName(String petName) {
name = petName;
}
public String speak( ) {
return "I'm your cuddly little pet.";
}
}

Pet myPet = new Pet( );


System.out.println(myPet.speak());
CONTOH – INHERITANCE

class Cat extends Pet {


public String speak( ) {
return "Don't give me orders.\n" +
"I speak only when I want to.";
}
}

Cat myCat = new Cat( );


myCat.setName("Cha Cha");
System.out.println("Hi, my name is " + myCat.getName( ));
MULTIPLE INHERITANCE

class Shape {
public void display() {
System.out.println("Inside display");
}
}
class Rectangle extends Shape {
public void area() {
System.out.println("Inside area");
}
}
class Cube extends Rectangle {
public void volume() {
System.out.println("Inside volume");
}
}
public class Tester {
public static void main(String[] arguments) {
Cube cube = new Cube();
cube.display();
cube.area();
cube.volume();
}
}
REFERENSI

 Lewis, John. Loftus, William. 2007. Java Software Solutions


Fondations of Program Design - Fifth Edition. Pearson Addison
Wesley/ Pearson International Edition.
 Deitel. 2005. C++ How to Program - Fifth Edition. Prentice Hall
 Wu, C Thomas. 2009. An Intruduction to Object-Oriented
Programming with Java – Fifth Edition. Mc Graw Hill
 Modul Praktikum Pemrograman Berorientasi Objek. Stikomp
Surabaya
 https://www.tutorialspoint.com/

Anda mungkin juga menyukai