Terkadang, lebih banyak atribut diperlukan untuk menangani kelas dengan lebih baik. Misalnya, Anda memiliki empat kelompok pelanggan yang berbeda: jenis pelanggan korporat, lebih besar, lebih kecil, dan baru, atau kelas untuk pencarian dengan tiga metode pencarian berbeda: floppy, hard drive, dan jaringan. Jadi, bukankah lebih baik memilih salah satu dari daftar opsi daripada mengatur properti yang relevan dengan angka atau teks yang tidak Anda mengerti?
Saya pikir jawabannya adalah ya. Karena pengolahan seperti ini disebut “enumerasi”.
Buka proyek dari bagian sebelumnya dan tambahkan beberapa kode.
Tambahkan kode berikut ke kelas CDog:
Kata kunci "Enum" digunakan untuk mendefinisikan enumerasi, dengan kata lain, ini adalah daftar opsi yang memungkinkan. Setiap opsi memiliki nomor yang sesuai, artinya BigAndShaggy sama dengan 1, ShortCrewCut sama dengan 2, dan seterusnya.
Perlu dicatat bahwa ketika menambahkan informasi tentang item enumerasi ke database, nilai terkaitnya sangat berguna. Karena "BigAndShaggy" sebenarnya mewakili nilai 1, maka dapat langsung dimasukkan ke dalam bidang numerik database. Ini berarti Anda dapat dengan mudah menggunakan string untuk memelihara database.
Jadi, mari kita buat daftar tipe Dog's Coat dan tentukan atribut lain untuk menambahkan tipe ini ke kelas CDog.
Deklarasikan variabel berikut di kelas:
PRIvateudtCoatAsCoatType
Variabel privat yang ditentukan ini digunakan untuk menyimpan atribut tipe Coat yang akan ditambahkan. Perhatikan bahwa variabel udtCoat bukanlah string atau integer, melainkan tipe enumerasi CoatType yang kita tentukan sendiri.
Ketika kelas CDog dibuka, pilih perintah "AddProcedure" di menu "Tools" dan kotak dialog yang sesuai akan muncul;
Ketik Lambang di kotak edit Nama;
Centang tombol opsi "Properti" dan klik [OK].
Sistem secara otomatis menghasilkan kerangka kode berikut:
Namun ini bukanlah kerangka kerja yang kita perlukan. Dalam kode tersebut, tipe variabel "Varian" dapat menerima dan memproses semua tipe data. Di kelas CDog yang kita definisikan, atribut terakhir adalah Age, yang hanya dapat menerima bilangan bulat. Namun sekarang atribut tersebut harus dapat menerima tipe data dalam daftar CoatType, sehingga perlu dilakukan modifikasi berikut:
Ubah semua "Varian" dalam kode yang dihasilkan menjadi "CoatType";
Lalu, tambahkan beberapa kode yang benar-benar menangani properti.
Dalam prosedur Dapatkan properti, tambahkan kode berikut:
Dalam prosedur Let properti, tambahkan kode berikut:
Beralih ke Formulir1;
Ubah kode tombol Command menjadi:
Sekarang mulailah mengetik: MyDog.Coat=
Keajaiban terjadi, ketika Anda menekan tombol "=", daftar opsi yang memungkinkan muncul, dari mana kita dapat memilih salah satu.
Selesaikan pengetikan kode: MyDog.Coat=ShortCrewCut
Selanjutnya kita akan mendapatkan nilai properti Coat. Jika sekarang kita hanya menampilkan nilai properti di kotak dialog pesan, kita cukup mengembalikan nilai pilihan. Misalnya, jika ShortCrewCut dipilih, propertinya harus menghasilkan 2. Jika Anda tidak percaya, Anda bisa mencobanya!
Namun ada cara lain, yaitu menggunakan pernyataan If-Then untuk menentukan Lambang:
Tambahkan kode berikut setelah kode yang ada untuk tombol Command:
Kode di sini hanya menentukan nilai properti Coat dan menampilkan kotak dialog pesan yang sesuai. Tentu saja, pernyataan "SelectCase" juga dapat digunakan di sini.
Terakhir, kami menambahkan satu pernyataan terakhir untuk mengosongkan memori komputer:
Tambahkan kode berikut setelah kode yang ada untuk tombol Command:
Tekan F5 untuk menjalankan program dan klik tombol Command untuk mengujinya.
Apa hasilnya? ->