Definisi dari class dan object
Class adalah blueprint, atau prototype, yang mendefinisikan variable dan method-method pada seluruh object tertentu
Object adalah sekumpulan software yang terdiri dari variable dan method-method terkait.
Keuntungan dari pewarisan
Keuntungan dari pewarisan adalah pemrogram atau programmer dapat menciptakan class baru dari class yang sudah ada, sehingga tidak perlu menuliskan code dari nol ataupun pengulangannya, namun tetap bisa menambahkan attribute dan atau method unik dari class itu sendiri.
Perbedaan antar override dengan overload
Override
1. Mendefinisikan method dengan nama sama pada class yang berbeda.
2. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Overload
1. mendefinisikan method dengan nama sama dalam satu class.
2. Konsep sering di gunakan dalam penggunaan constructor.
Contoh Definisi class Dog
class Dog
{private String nama=“Noname”;
private int umur =0;
public Dog(String nm, int
um){nama=nm; umur=um;}
public void bark()
{System.out.println(“Gug..gug..!”);}
public void sayHello()
{System.out.println(“Hello
my name is “+nama+” I’m a “+umur+” years old”);
}
}
Constructor
Adalah method yang pertama kali
dikerjakan ketika suatu class diciptakan
Bertugas melakukan proses
inisialisasi
Nama constructor = nama class
Constructor harus dideklarasi
sebagai public
Dapat memiliki parameter, tetapi
tidak mengembalikan nilai (void)
Tiap class harus mempunyai
minimal 1 (satu) constructor, bila tidak dideklarasikan oleh user,maka kompiler
akan secara otomatis membuat default constructor.
Macam-macam Constructor:
- Default constructor
- Constructor dengan parameter
- Copy constructor
Constructor
yang didefinisikan tanpa argumen
class
Point { //deklarasi kelas Point
int x, y; //data
x dan y koordinat
public:
Point();
//deklarasi konstruktor default
void move(int,
int); //fungsi untuk menggerakan titik
void print();
//fungsi untuk mencetak di layar
};
Point::point() { // definisi default constructor
cout << “Constructor is
called…” << endl;
x = y = 0;
}
void
main() {
Point P1, P2; //constructor
dipanggil dua kali
}
Constructor dengan parameter
Seperti anggota fungsi yang lain,
Constructor juga dapat
dideklarasikan dengan parameter atau argument.
Contoh :
class Point { //deklarasi kelas
Point
int
x, y; //data x dan y koordinat
public:
Point(int,
int); //constructor declaration
void
move(int, int); //fungsi untuk menggerakan titik
void
print(); //fungsi untuk mencetak di layar
};
//definisi constructor dengan
parameter
Point::point(int
x1, int y1) {
cout
<< “Constructor is called…” << endl;
if
(x1 < 0) x = 0;
else
x = x1;
if
(y1 < 0) y = 0;
else
y = y1;
}
// main program
void main() {
Point
P1(20, 50), P2(-10, 8); //dipanggil dua kali
Point
p3; //ERROR
}
Copy Constructor
•
Merupakan kontruktor khusus yang digunakan untuk
mengcopy isi dari suatu object ke dalam obyek baru yang sedang diciptakan.
•
Tipe data dari parameter input adalah referance
(alamat) dari obyek dengan tipe yang sama.
Contoh :
class String {
int
size;
char
*contents;
public:
String(const
char *); //contructor
String(cont
String &); //copy contructor
void
Print();
};
//definisi fungsi copy contructor
String::String(const String
&object_in) {
cout
<< ”copy constructor has been invoked” << endl;
size
= object_in.size;
contents
= new char[size+1];
strcpy(contents,
object_in.contents);
}
void main() {
String
my_string(“string 1”);
My_string.Print();
String
other = my_string; //copy constructor dipanggil
String
more(my_string); //copy constructor dipanggil
}
Creating Object
membuat Objek
kelas menyediakan cetak biru untuk
benda, menciptakan sebuah objek dari kelas.
Masing-masing pernyataan berikut yang diambil dari program CreateObjectDemo menciptakan
sebuah benda dan memberikan ke variabel:
Titik Titik originOne = baru (23, 94);
Persegi Panjang rectOne = new Rectangle (originOne, 100, 200);
Persegi Panjang rectTwo = new Rectangle (50, 100);
Baris pertama menciptakan sebuah objek dari kelas Point, dan garis kedua dan ketiga masing-masing membuat sebuah object dari kelas Rectangle.
Setiap pernyataan memiliki tiga bagian (dibahas secara rinci di bawah):
1. Deklarasi: Kode diatur dalam huruf tebal adalah semua deklarasi variabel yang mengasosiasikan nama variabel dengan tipe objek.
2. Instansiasi: Kata kunci baru adalah operator Java yang menciptakan objek.
3. Inisialisasi: Operator baru ini diikuti oleh panggilan ke konstruktor, yang menginisialisasi objek baru.
Titik Titik originOne = baru (23, 94);
Persegi Panjang rectOne = new Rectangle (originOne, 100, 200);
Persegi Panjang rectTwo = new Rectangle (50, 100);
Baris pertama menciptakan sebuah objek dari kelas Point, dan garis kedua dan ketiga masing-masing membuat sebuah object dari kelas Rectangle.
Setiap pernyataan memiliki tiga bagian (dibahas secara rinci di bawah):
1. Deklarasi: Kode diatur dalam huruf tebal adalah semua deklarasi variabel yang mengasosiasikan nama variabel dengan tipe objek.
2. Instansiasi: Kata kunci baru adalah operator Java yang menciptakan objek.
3. Inisialisasi: Operator baru ini diikuti oleh panggilan ke konstruktor, yang menginisialisasi objek baru.
Tidak ada komentar:
Posting Komentar