Pages

Selasa, 13 November 2012

Menyediakan Konstruktor untuk Kelas Anda

Kelas A berisi konstruktor yang dipanggil untuk membuat objek dari cetak biru kelas. Deklarasi konstruktor terlihat seperti metode deklarasi-kecuali bahwa mereka menggunakan nama kelas dan tidak memiliki jenis kembali. Misalnya, sepeda memiliki satu konstruktor:

public Bicycle(int startCadence, int startSpeed, int startGear) {
    gear = startGear;
    cadence = startCadence;
    speed = startSpeed;
}

Untuk membuat objek sepeda baru yang disebut myBike, konstruktor disebut oleh operator baru:

Sepeda myBike = new Sepeda (30, 0, 8);
Sepeda baru (30, 0, 8) menciptakan ruang memori untuk objek dan menginisialisasi bidangnya.

Meskipun sepeda hanya memiliki satu konstruktor, bisa memiliki orang lain, termasuk konstruktor no-argumen:

public Bicycle() {
    gear = 1;
    cadence = 10;
    speed = 0;
}

Sepeda yourBike = new Sepeda (); memanggil konstruktor no-argumen untuk membuat objek sepeda baru yang disebut yourBike.

Kedua konstruktor bisa saja dideklarasikan pada sepeda karena mereka memiliki daftar argumen yang berbeda. Seperti dengan metode, platform Java membedakan konstruktor berdasarkan jumlah argumen dalam daftar dan jenis mereka. Anda tidak bisa menulis dua konstruktor yang memiliki nomor yang sama dan jenis argumen untuk kelas yang sama, karena platform tidak akan mampu untuk membedakan mereka. Melakukan sehingga menyebabkan kesalahan saat kompilasi.

Anda tidak perlu memberikan konstruktor untuk kelas Anda, tetapi Anda harus berhati-hati ketika melakukan hal ini. Compiler secara otomatis memberikan no-argumen, konstruktor default untuk setiap kelas tanpa konstruktor. Ini default constructor akan memanggil konstruktor tanpa argumen superclass tersebut. Dalam situasi ini, compiler akan mengeluh jika superclass tidak memiliki konstruktor no-argumen sehingga Anda harus memverifikasi bahwa hal itu. Jika kelas Anda tidak memiliki superclass eksplisit, maka memiliki superclass implisit Obyek, yang memang memiliki konstruktor no-argumen.

Anda dapat menggunakan konstruktor superclass sendiri. Kelas MountainBike pada awal pelajaran ini tidak hanya itu. Hal ini akan dibahas nanti, dalam pelajaran tentang antarmuka dan warisan.

Anda dapat menggunakan pengubah akses dalam deklarasi konstruktor untuk mengontrol kelas-kelas lain dapat memanggil konstruktor.

Catatan: Jika kelas lain tidak dapat memanggil konstruktor KelasSaya, tidak bisa langsung membuat objek MyClass.

0 komentar:

Posting Komentar

Anda bertanya, saya akan mencoba menjawabnya ~,~

 

Blogger news

Blogroll