Kamis, 15 September 2011

Resume PBO Minggu Ke 2


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:
  1. Default constructor
  2. Constructor dengan parameter
  3. 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.

Tidak ada komentar:

Posting Komentar