Projek ini bertujuan untuk menambah baik kelas Queue dengan menambah dua pembina baharu.
Pembina pertama akan membuat baris gilir baharu daripada baris gilir lain yang sedia ada.
Pembina kedua akan membolehkan anda membuat baris gilir dengan nilai awal.
Pembina ini meningkatkan kebolehgunaan kelas Queue dengan ketara.
1 Cipta fail bernama QDemo2.java dan salin kelas Queue yang dikemas kini daripada bahagian Try This 6-1 ke dalamnya.
2 Mula-mula, tambahkan pembina berikut, yang membina satu baris gilir daripada yang lain.
// Membina barisan daripada yang lain.
Baris gilir(Baris gilir ob) {
putloc = ob.putloc;
getloc = ob.getloc;
q = aksara baharu[ob.q.length];
// salin elemen
for(int i=getloc; i < putloc; i++)
q[i] = ob.q[i];
}
Pembina memulakan putloc dan getloc dengan nilai daripada objek ob. Memperuntukkan tatasusunan baharu pada baris gilir dan menyalin elemen ob kepada tatasusunan baharu ini. Baris gilir baharu akan menjadi salinan yang sama dengan yang asal, tetapi ia akan menjadi objek yang berasingan dan bebas.
3 Sekarang, tambahkan pembina yang memulakan baris gilir daripada tatasusunan aksara, seperti yang ditunjukkan di sini:
// Membina baris gilir dengan nilai awal.
Baris gilir(char a[]) {
putloc = 0;
getloc = 0;
q = aksara baharu[a.length];
for(int i = 0; i < a.length; i++) put(a[i]);
}
Pembina ini mencipta baris gilir yang cukup besar untuk mengandungi aksarakedan kemudian menyimpannya dalam baris gilir.
Atas ialah kandungan terperinci Cuba Overload the Queue constructor ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!