Bagi programmer dan pemrogram peminat, teknologi kelas di VB merupakan titik sulit dalam pembelajaran. Dalam proses pengembangan perangkat lunak skala besar, modul (Moudle), kontrol (Activeocx), link perpustakaan (Activedll) dan kelas (Classmoudle) Itu merupakan rekayasa perangkat lunak yang sistematis dan efisien, dan teknologi kelas merupakan dasar dari teknologi kontrol dan perpustakaan tautan. Oleh karena itu, sangat berarti untuk menguasai teori dan metode pemrograman kelas.
(1) Definisi dasar dan gambaran penerapan kelas ;
Kelas adalah modul kode tingkat tinggi yang berisi metode, properti, dan anggota data. Kelas tidak hanya berada dalam lingkup modul, tetapi juga Activeocx tanpa antarmuka grafis melihatnya. Perlu dicatat bahwa kelas tidak dapat diwariskan.
Kelas memungkinkan kita menyelesaikan operasi kompleks secara efisien pada satu atau beberapa objek tertentu. Tindakan objek adalah metode kelas, dan atribut objek adalah atribut proses kelas. Secara relatif, jika objek pemrograman adalah sekelompok hal, maka sangat tepat bagi kita untuk menggunakan modul standar Dalam dua kasus berikut, kelas harus digunakan untuk pemrosesan kode:
(1) Buat sejumlah besar objek dengan properti serupa;
(2) Meningkatkan enkapsulasi kode.
Membuat kelas sangat sederhana. Saat menulis kode, pilih item "Tambahkan Modul Kelas" di menu "Proyek" untuk menambahkan kelas kosong.
File kelas umumnya disimpan dengan ekstensi .cls.
(2) Penerapan metode kelas ;
Metode suatu kelas mirip dengan fungsi antarmuka pustaka tautan dinamis. Metode ini dapat menerima parameter tipe tertentu dari kode formulir lain dan meneruskannya ke kelas. Secara umum, metode kelas dapat menentukan apakah ada nilai kembalian. Biasanya ini merupakan prosedur umum di kelas. Perhatikan contoh kode berikut, yang menyebabkan kotak kata sandi menolak masukan non-huruf:
(1) kode seperti cls;
Pemeriksaan variabel OptionExplicit
PRIvateWithEventsmytxtAsTextBox
'Metode di kelas ini menerima dan mengontrol kotak kata sandi teks
DimisNUMAsBoolean
'Variabel tingkat modul kelas
PublicSubAttach(itTEXTAsTextBox)
'Terima variabel eksternal ke dalam mytxt
Setmytxt=ituTEKS
Sub Akhir
PrivateSubmytxt_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
isNUM=(Kode Kunci>=65)Dan(Kode Kunci<=90)
'Uji apakah input keyboard di kotak kata sandi berupa huruf Inggris
IfisNUM=FalseThen
Berbunyi
mytxt.Teks=
'Jika yang diinput bukan huruf Inggris, bel akan berbunyi dan isi kotak kata sandi akan dihapus.
Input karakter ilegal MsgBox!
AkhirJika
Debug.Printmytxt.Teks
'Debug konten kotak kata sandi keluaran
Sub Akhir
'Kode akhir kelas
(2) Referensi kelas ;
Kelas yang telah ditulis dapat direferensikan dalam dua format. Cara pertama: Private (publik atau redup) myCLS (nama kelas yang ditentukan) AsNewcls (nama kelas tertulis); pertama-tama buat deklarasi tingkat modul - DimmyCLSAscls - dalam kode formulir, lalu buat definisi spesifik - Setmycls=Newcls dalam proses kode spesifik. Mungkin terdapat perbedaan efisiensi dan kesederhanaan kode antara kedua metode ini, namun dalam praktik pemrograman penulis, tidak ada perasaan khusus, namun saya lebih memilih metode pertama karena lebih nyaman untuk menulis. Selain itu, di akhir kode, merupakan kebiasaan pemrograman yang sangat baik untuk menggunakan SetmyCLS=Nothing untuk membatalkan penggunaan sumber daya kelas.
Pada form form1 (form memiliki kotak kontrol password text1, passworldchar=*) tambahkan kode berikut:
Opsi Eksplisit
PrivatemyCLSAsNewcls
'Kutipan kl
PrivateSubForm_Load()
myCLS.LampirkanTeks1
'Kelas permulaan
Sub Akhir
'Ingatlah untuk melepaskan sumber daya di akhir kode
PrivateSubForm_Unload(CancelAsInteger)
SetmyCLS=Tidak ada
Akhir
Sub Akhir
Kode dalam artikel ini menunjukkan proses penulisan kode dan metode pemanggilan metode kelas (walaupun sangat mirip dengan event kelas). Efeknya adalah jika bukan huruf yang dimasukkan ke dalam kotak kata sandi, sistem akan melakukannya dering dan kotak kata sandi akan dihapus. dari data asli - melindungi kata sandi sampai batas tertentu.
Metode kelas tidak memerlukan parameter apa pun, yang mirip dengan fungsi atau prosedur publik. Metode ini juga paling banyak digunakan di kelas. Pada artikel selanjutnya saya akan membahas bagaimana menggunakan properti, event, dan metode kelas untuk pemrograman yang komprehensif.
Kita membahas teori kelas, pembuatan kelas, dan praktik pemrograman metode kelas. Faktanya, alasan utama mengapa kelas dapat digunakan secara luas dalam rekayasa perangkat lunak adalah karena kelas dapat dengan mudah merangkum banyak atribut yang diperlukan untuk pemrograman tidak hanya memungkinkan pemrogram untuk mengatasi kerumitan dalam desain dan debugging kontrol (ocx) dan pustaka tautan (dll) sampai batas tertentu, tetapi juga meningkatkan kesederhanaan dan efisiensi kode program - artikel ini akan membahas pemrograman kelas lengkap, termasuk metode , atribut dan kejadian dasar.
(1) Ciri-ciri dan definisi atribut kelas;
Mirip dengan properti kontrol standar, properti kelas memungkinkan pengguna untuk menetapkan nilai dalam rentang data tertentu, dan nilai ini dibagikan oleh berbagai bagian kode dalam kelas. Akuisisi dan transfer properti memerlukan pemrograman melalui pernyataan PropertyLet dan PropertyGet. Tentu saja, pertama-tama kita perlu mendefinisikan variabel terkait di tingkat global atau modul di kelas.
(2) Atribut dan definisi dasar peristiwa;
Mirip dengan kejadian di formulir, kelas juga memiliki dua kejadian dasar, Class_Initialize (dipicu saat kelas dimuat) dan Class_Terminate (dipicu saat kelas dibongkar), keduanya bersifat pribadi. Faktanya, kita dapat mengabaikan kedua kejadian ini sepenuhnya - selama Anda ingat untuk melengkapi metode dan properti kelas.
Kelas juga dapat menentukan kejadiannya sendiri, yang mirip dengan format metode pemrograman, kecuali kata kunci WithEvents diperlukan untuk deklarasi parameter, dan kejadian tersebut tidak boleh memiliki parameter bernama atau parameter opsional, dan tidak memiliki nilai kembalian.
Faktanya, metode dan properti yang terstruktur dengan baik dapat sepenuhnya menggantikan kejadian kelas yang terstruktur kompleks.
(3) Contoh pemrograman metode kelas, kejadian dan properti;
Tujuan dari program ini adalah untuk mengontrol semua pengurutan huruf besar, huruf kecil dan terbalik dari isi kotak teks dalam formulir melalui kelas.
Untuk memfasilitasi penulisan dan pemanggilan kode, saya mereferensikan metode pemrograman enumerasi di kelas.
Kode berikut ada di kelas Class1:
Opsi Eksplisit
PrivateWithEventsmyTXTAsTextBox
'Antarmuka parameter metode
PublicEnumsTYLE
Atribut huruf kecil Lcaseit
Atribut kapitalisasi Lbigit
Atribut pengurutan terbalik Nlogoit
AkhirEnum
'Pencacahan khusus, digunakan untuk menerapkan penetapan atribut otomatis
PrivatemvarBiaozhiAssTYLE
'Menerapkan koneksi konstanta enumerasi
PublicFunctiondONE()AsString'
'Metode SELESAI digunakan untuk mengatur
'Lakukan operasi konversi karakter yang sesuai di kotak teks formulir
'Dan kembalikan string yang dikonversi
IfmvarBiaozhi=NlogoitLalu
selesai=StrReverse(TXT saya)
'Urutan terbalik
ElseIfmvarBiaozhi=LcaseitThen
selesai=LCase(TXT saya)
'Paksa konversi huruf kecil
Kalau tidak
selesai=UCase(TXT saya)
'Paksa konversi huruf besar
AkhirJika
Fungsi Akhir
'Metode SELESAI berakhir
Properti PublikBiarkanBiaozhi(ByValvDataAssTYLE)
'Dapatkan nilai atribut yang ditetapkan
mvarBiaozhi=vData
Properti Akhir
PublicPropertyGetBiaozhi()AssTYLE
'Mentransfer nilai atribut ke kelas
SetBiaozhi=mvarBiaozhi
Properti Akhir
PublicSubAttach(itTEXTAsTextBox)
'Metode kelas koneksi
SetmyTXT=ituTEXT
Sub Akhir
PrivateSubClass_Initialize()
'Acara ini diaktifkan ketika kelas dimuat
Kotak Pesan Halo! Program ini menunjukkan kepada Anda teknik pemrograman menggunakan metode kelas, properti, dan acara!
Sub Akhir
PrivateSubClass_Terminate()
'Acara ini diaktifkan ketika kelas dibongkar
Kotak Pesan Halo! Ingatlah untuk mengisi kode setelah objek dicabut di Class_Terminate!
Sub Akhir
'Kode kelas sudah habis
(4) Pemrograman referensi kode formulir;
Tambahkan kontrol teks TEXT1, kontrol daftar drop-down COMBO1, dan tombol perintah COMMAND1 (CAPTION=Mulai konversi) untuk membentuk FORM1, dan sesuaikan ketiga kontrol ke posisi yang sesuai.
DimmyTAsNewClass1
'Referensi kelas
PrivateSubForm_Load()
Kombo1.Hapus
Konversi huruf besar string Combo1.AddItem
Konversi huruf kecil string Combo1.AddItem
Penyortiran terbalik string Combo1.AddItem
Kombo1.ListIndex=0
'Tambahkan opsi atribut ke kotak daftar
Sub Akhir
PrivateSubCommand1_Klik()
'Aktifkan kelas ketika tombol perintah ditekan
myT.LampirkanTeks1
'Metode koneksi parameter
PilihCaseCombo1.ListIndex
Kasus0
myT.Biaozhi=Lbigit
Kasus1
myT.Biaozhi=Lcaseit
Kasus2
myT.Biaozhi=Nlogoit
Pilihan Akhir
'Menurut pilihan di kotak daftar, berikan nilai pada atribut Biaozhi kelas
'Perhatikan bahwa dalam lingkungan pemrograman, nilai atribut di atas ditambahkan secara otomatis
Text1.Text=myT.dONE
'Kembalikan string setelah menyortir
Sub Akhir
PrivateSubForm_Unload(CancelAsInteger)
SetmyT=Tidak ada
Akhir
'Kebiasaan pemrograman yang baik
Sub Akhir
Bagaimana, kode kita terlihat begitu ringkas, serasa menggunakan sebuah kontrol, yang tidak hanya bisa dipanggil sesuka hati, tetapi juga dengan mudah menggunakan fungsi prompt otomatis VB.
(5) Rangkuman teknik pemrograman kelas;
Sebenarnya, kelas adalah teknologi yang sangat berguna dalam pemrograman VB, dan juga sulit untuk dipelajari dan dikuasai. Kelas digunakan secara luas dan efektif dalam proyek perangkat lunak skala besar, namun dalam pengembangan perangkat lunak skala kecil, untuk meningkatkan perangkat lunak Untuk efisiensi dan kejelasan kode, Anda harus menghindari penggunaan lebih banyak modul kelas, kontrol, dan pustaka koneksi dan menggantinya dengan modul standar.
Contoh kode pada artikel ini relatif sederhana, namun mencakup semua aspek teknologi pemrograman modul. Saya harap para pemula dapat mempelajarinya dan programmer dapat mendiskusikannya bersama. Kita harus percaya bahwa betapapun rumitnya gedung-gedung tinggi, semuanya terbuat dari batu bata biasa. Demikian pula, betapapun rumitnya proyek perangkat lunak, mereka terdiri dari pernyataan program dasar analisnya adalah bahwa program yang dibangun dengan pernyataan program yang sama berbeda. ->