cari
RumahJavaAdakah saya perlu memberikan nama unik untuk semua objek dalam senarai?

Dalam pengaturcaraan, kami sering menghadapi situasi di mana kami perlu memberikan nama unik untuk objek dalam senarai. Tetapi adakah ia benar-benar perlu untuk memberikan setiap objek nama yang unik? Editor PHP Strawberry memberitahu anda bahawa jawapannya tidak mutlak. Dalam sesetengah kes, memberi objek nama unik boleh mengatur dan mengurus kod anda dengan lebih baik, terutamanya jika objek perlu dirujuk atau dibezakan. Walau bagaimanapun, dalam kes lain, objek mungkin tidak perlu mempunyai nama unik dan boleh dikenal pasti dan dimanipulasi dengan cara lain. Oleh itu, sama ada anda perlu memberikan nama unik untuk semua objek dalam senarai bergantung pada keperluan dan reka bentuk khusus anda.

Kandungan soalan

Saya pelajar tahun satu sains komputer. Sebagai sebahagian daripada tugasan kelas java saya. Saya perlu mencipta kelas dek yang arraylist mengandungi objek kad.

Berikut ialah contoh objek kad yang saya kodkan:

public class Card
{
    // instance variables 
    private int face;
    private int suit;

    /**
     * Constructor for objects of class Card.
     * Note: Hearts = 1, Diamonds = 2,
     * Spades = 3, Clubs = 4
     * 
     * All face cards equal their common value
     * Ex. A = 1
     */

    public Card(int face, int suit)
    {
        // initialize instance variables
        this.face = face;
        this.suit = suit;
    }
    
    public int getFace()
    {
        return face;
    }
    
    public int getSuit()
    {
        return suit;
    }
    
    public String toString()
    {
        return face + "" + suit;
    }
}

Saya faham cara memuatkan setiap kad individu ke dalam dek standard. Saya tidak dapat memikirkan cara untuk memberikan setiap kad nama yang unik. Sebagai contoh, bagaimanakah anda memaparkan kad dan sut pada skrin supaya pemain dapat melihat kad di tangan mereka? (Kita juga harus membuat kelas yang mengandungi senarai kad di tangan pemain.)

Jika saya membuat senarai objek kad, bolehkah saya merujuk slot yang mereka ada untuk memanggil kaedah masing-masing? Apa yang patut saya buat? Adakah keadaan akan berubah jika saya memindahkannya dari dek ke tangan saya?

Biasanya, apabila anda menggunakan kaedah pada objek, anda mencipta objek dengan nama (katakan, kad1). Kemudian, untuk memanggil kaedah yang menggunakan data kad itu, jika saya ingin mengembalikan nilai saman, anda akan berkata card1.getsuit() . Tetapi saya tidak tahu bagaimana untuk melakukan ini apabila mencipta banyak objek dalam senarai.

Saya rasa otak saya mungkin terlalu merumitkan perkara, tetapi saya fikir adalah lebih baik untuk memahami perspektif java yang berbeza dengan lebih baik, jadi saya suka bertanya soalan seperti ini. Terima kasih kepada sesiapa yang boleh membantu!

Nota: Saya baru sahaja memulakan semester kedua kelas java, jadi mungkin yang paling jauh yang kami pelajari adalah seperti warisan. Kami tidak dijangka/tidak sepatutnya tahu tentang perkara seperti enum, senarai tetap, atau apa-apa yang lebih kompleks saya rasa. Saya dengar kami banyak melakukan javafx.

Penyelesaian

Tidak, anda boleh menyimpan rujukan objek dalam senarai dan bukannya mencipta objek berasingan dengan nama yang berbeza.

List<Object> ls = new ArrayList<>();
 //for adding obj into it 
ls.add(new Card(face,suit));
 //for getting data
ls.get(index).getFace();

Dengan cara ini anda boleh menambah banyak objek pada senarai tanpa memberi mereka nama yang berbeza.

Fikirkan human sebagai kelas dan semua orang adalah contoh kelas itu. Adakah semua manusia perlu mempunyai nama yang unik? Berapa ramai "Joes" atau "Ellens" yang anda kenali? Bolehkah seseorang mempunyai satu nama sahaja atau bolehkah dia mempunyai beberapa nama? (Ibu saya panggil saya..., tapi kawan saya panggil saya...)

Nama digunakan untuk merujuk kepada manusia, sama seperti penunjuk boleh merujuk kepada objek.

Tetapi sila ambil perhatian: Jika java tidak menemui rujukan kepada objek dan objek itu tidak wujud (iaitu tiada benang berjalan di dalamnya), objek itu akan menjadi sampah yang dikumpul dan dibuang.

Atas ialah kandungan terperinci Adakah saya perlu memberikan nama unik untuk semua objek dalam senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:stackoverflow. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).