Apa yang saya tulis sebelumnya:
Setiap orang yang menulis program tahu bahwa ketika Anda secara bertahap mengembangkan fungsi yang ingin Anda terapkan, sering kali, apa yang Anda tulis di hari pertama akan dilupakan keesokan harinya, sering kali, Anda harus menulis Catatan pengembangan program yang terperinci disediakan. Hal ini terutama berlaku dalam pengembangan sistem ASP ketika file dan fungsinya rumit. Ketika kami berencana untuk memodifikasi beberapa fungsi situs web, kami merasa tidak tahu harus mulai dari mana atau apa yang kami rasa perlu dimodifikasi. Saat ini, jika Anda telah mempelajari bahasa pemrograman berorientasi objek, Anda tentu akan memikirkan bagaimana mengimplementasikan fungsi kode ke dalam modul. ASP bukanlah pemrograman berorientasi objek, tetapi VBSCRPIT6.0 menyediakan kelas Sadarilah enkapsulasi kode dan terapkan bahasa modul.
Pertama-tama, saya ingin menuliskan beberapa konsep yang sangat resmi di sini, yang dimaksudkan untuk menggambarkan bahwa berorientasi objek adalah model yang sangat konkrit dan substansial, dan beberapa orang tidak dapat merasa takut ketika mereka melihat objek tersebut.
Objek adalah sesuatu yang dapat dilihat, dirasakan, didengar, disentuh, dicicipi, atau dicium. Di sini kita mendefinisikannya sebagai berikut: objek adalah entitas mandiri yang diidentifikasi oleh serangkaian sifat dan perilaku yang dapat diidentifikasi.
Dalam pemrograman berorientasi objek (oop), dua istilah berikut digunakan.
Kelas: Ini adalah templat suatu objek dan mendefinisikan karakteristik objek tersebut.
Contoh: Ini adalah objek nyata, sesuatu yang dapat berinteraksi dengan Anda.
Properti, metode, dan peristiwa
Dalam OOP, istilah-istilah berikut menggambarkan karakteristik objek:
Atribut: Ini adalah peringkat yang menggambarkan atribut suatu objek.
Metode: Ini adalah kata kerja yang menjelaskan apa yang dapat dilakukan suatu objek, atau apa yang diharapkan dapat dilakukan.
Peristiwa: menggambarkan operasi yang dilakukan oleh suatu objek sebagai respons terhadap suatu tindakan.
Objek adalah bagian dari pemrograman berorientasi objek dan desain berorientasi objek ketika pemrograman, mereka memiliki keuntungan yang sangat besar. Banyak orang berpikir bahwa ini adalah subjek yang rumit, namun sebenarnya sangat sederhana dan dapat dijelaskan dalam empat istilah sederhana: Abstraksi, enkapsulasi, polimorfisme dan pewarisan.
Abstraksi: Ini adalah cara untuk menyembunyikan kompleksitas, cara kerja bagian dalam suatu kelas, sehingga pengguna tidak perlu mengetahui cara kerjanya, begitu saja. Jika Anda ingin menonton TV, Anda tidak perlu mengetahui cara kerja TV, Anda hanya perlu menyalakan TV dan mencari saluran. Tombol on/off mengabstraksi pengoperasian sebenarnya metode trim, yang dapat menghapus spasi di akhir string, Anda juga tidak perlu mengetahui cara menyelesaikan tugas ini, Anda hanya perlu mengetahui bahwa ia memiliki fungsi ini.
Enkapsulasi: Setiap objek berisi semua informasi yang diperlukan untuk melakukan operasi. Objek ini disebut enkapsulasi, sehingga objek tidak bergantung pada objek lain untuk menyelesaikan operasinya tempat untuk menyelesaikan operasinya. Semua karakter diubah menjadi huruf besar.
Polimorfisme: Istilah ini digunakan untuk menunjukkan bahwa objek yang berbeda dapat melakukan tindakan yang sama, tetapi melalui kode implementasinya sendiri. Namanya sama, tetapi kode implementasi yang mendasarinya berbeda.
Warisan: Ini mendefinisikan bagaimana kelas berhubungan satu sama lain dan berbagi karakteristik. Cara kerja pewarisan adalah dengan mendefinisikan kelas dan subkelas, di mana subkelas mewarisi semua karakteristik kelas induk memiliki Konsistensi dan memungkinkan berbagi kode tanpa harus mendefinisikan semua karakteristik kelas induk jika seseorang memutuskan untuk membuat kelas baru.
Gunakan kelas di ASP untuk mencapai modularitas
Izinkan saya menjelaskannya dengan memberikan beberapa contoh sederhana. Perhatikan bahwa yang ditekankan di sini adalah sebuah ide. Jika Anda dapat menggunakan kelas (kelas dasar) untuk memperluas ketika Anda mengembangkan situs web ASP, ini sangat diperlukan (juga Sangat sulit).
Mari kita pilih contoh sederhana terlebih dahulu:
Kami ingin menampilkan informasi pengguna forum klasik. Setelah memasukkan ID pengguna, beberapa informasi pengguna dapat ditampilkan. Ini adalah sebuah proses. Anda dapat menganggapnya seperti ini ID dan jenis kelamin, Poin, izin, cara penerapannya adalah dengan menampilkan informasi ini, oke, tulis seperti ini:
Ide biru kelas
Bname pribadi,bpoint,bsex,blevel
'........................
kelas akhir
Di sini pertama-tama kita mendeklarasikan kelas bernama blueidea, diikuti dengan beberapa variabel pribadi untuk menyimpan properti kelas blueidea. Variabel ini tidak dapat diakses dari luar kode. Ini adalah perlindungan data nilai. Secara tidak langsung membayar ke variabel swasta
'------------------------------------------------ - ---------------
Properti Dapatkan getname
dapatkan nama=bnama
Properti Akhir
Properti Biarkan getname(nameid)
bnama=namaid
Jika namaid= Lalu
bname=Tidak ada pengguna terdaftar
Akhiri Jika
Properti Akhir
'------------------------------------------------ - -----------------
Properti Dapatkan getsex
getsex=bsex
Properti Akhir
Properti Biarkan getsex(seks)
bsex=killint(jenis kelamin,0,0)
Jika bsex=0 Maka
bsex = laki-laki
Kalau tidak
bsex=perempuan
Berakhir jika
Properti Akhir
'------------------------------------------------ - -----------------
Properti Dapatkan getpoint
getpoint=bpoint
Properti Akhir
Properti Biarkan getpoint(titik)
bpoint=killint(titik,0,0)
Properti Akhir
'------------------------------------------------ - -----------------
Ada fungsi killint di sini untuk menentukan validitas data. Prototipenya adalah:
Fungsi Pribadi killint(i,killstr,killsub)
Jika Bukan IsNumerik(i) Maka
saya=pembunuhantr
LainJika i<=0 Lalu
saya=pembunuhansub
Berakhir jika
killint=Int(Kiri(i,5))
Fungsi Akhir
Fungsi dari fitur ini sangat jelas dan tidak ribet lagi.
Karena kita perlu menilai level pengguna melalui poin, fungsi privat didefinisikan di sini:
Fungsi Pribadi getlevel()
bpoint=killint(bpoint,0,0)
Jika bpoint<500 Maka
blevel=anggota junior
ElseIf bpoint>=500 Dan bpoint<=100 Lalu
blevel=Anggota premium
Kalau tidak
blevel=anggota utama
Akhiri Jika
Dapatkanlevel=tingkat
Fungsi Akhir
Jika kita ingin mengirim kembali informasi pengguna, kita harus mendefinisikan fungsi publik untuk menampilkan informasi tersebut:
Pengguna pertunjukan Fungsi Publik()
respon.write(<h5>Berikut ini adalah informasi <font color=red>&bname&</font>:</h5>)
respon.write(<h5>Jenis Kelamin:<font color=red>&bsex&</font></h5>)
respon.write(<h5>Poin:<font color=red>&bpoint&</font></h5>)
dapatkan tingkat
respon.write(<h5>Tingkat:<font color=red>&blevel&</font></h5>)
Fungsi Akhir
Akhiri kelas
Saat menggunakan kelas ini, gunakan seperti ini: (Saya menulis pemrosesan formulir di sini)
Setel blueideauser=blueidea baru
blueideauser.getname=Trim(permintaan(id))
blueideauser.getsex=permintaan(jenis kelamin)
blueideauser.getpoint=permintaan(titik)
blueideauser.showuser
Jika ingin melihat efeknya, lihat di sini: http://www.5do8.com/net/aspclass/class.asp
Kelas yang mengontrol pembacaan informasi database:
Kode sumber referensi
'Nama: ado_5do8
'Fungsi: Membaca berbagai operasi database
'Desa Budidaya Sumber http://www.5do8.com http://www.Blueidea.com-5do8
'Penciptaan: 5do8
'Hubungi:[email protected]
'Pembaruan: 13 November 2005
'Otorisasi: Poin situs Blue Ideal melebihi 3.000, semua pengguna terdaftar Desa Gengyun
'Antarmuka kelas: ado_5do8.ConnectString=jalur absolut ke database
'ado_5do8.rs_jumlah panggilan teratas, nama tabel
Kelas ado_5do8
Koneksi pribadi,sqlstr,rs,iid,itable,isession
'sqlstr: alamat database, jalur absolut, pribadi
'sambungan: Buka koneksi database, pribadi
'------------------------------------------------ - -----------------
rem menghilangkan beberapa nomor yang tidak diinginkan
Fungsi Pribadi litter_in(r1,r2)
Jika IsNumeric(r1) dan IsNumeric(r2) Maka
Redupkan redup
Jika r1>r2 Maka
redup=r2
Kalau tidak
redup=r1
Akhiri Jika
Kalau tidak
redup=0
Berakhir jika
sampah_in=redup
Fungsi Akhir
'------------------------------------------------ - ---------------
Fungsi Pribadi killint(i,killstr,killsub)
Jika Bukan IsNumerik(i) Maka
saya=pembunuhantr
LainJika i<=0 Lalu
saya=pembunuhansub
Berakhir jika
killint=Int(Kiri(i,5))
Fungsi Akhir
'------------------------------------------------ - ---------
Sub pribadi startconn()
Pada Kesalahan Lanjutkan Berikutnya
Setel koneksi=server.CreateObject(adodb.koneksi)
strconn=Penyedia=Microsoft.Jet.OLEDB.4.0;Sumber Data= & Server.MapPath(sqlstr)
samb.buka strconn
Jika Salah Lalu
err.Clear
SetConn=Tidak ada
mess=Terjadi kesalahan dan tidak dapat terhubung ke database
respon.tulis(berantakan)
respon.Akhir
Kalau tidak
mess=Berhasil tersambung ke koneksi database.......<br/>
respon.tulis(berantakan)
Akhiri Jika
Akhiri Sub
'------------------------------------------------ - --------------
Sub pribadi closeconn()
samb.tutup
Setel samb=Tidak Ada
respon.write(<strong style='color:red'>Tutup koneksi</strong>...<hr/>)
Akhiri sub
'------------------------------------------------ - ---------------
Penutup Sub Pribadi()
rs.tutup
Setel rs=Tidak Ada
respon.write(<strong style='color:#085420'>Tutup database RS</strong>.....<br/>)
Akhiri Sub
'------------------------------------------------ - ---------------
Properti Dapatkan kepemilikan
hasse = sesi
Properti Akhir
Properti Biarkan hasse (sesi Anda)
sesi=sesi Anda
Jika sesi Anda= Lalu
sesi=nodef
Akhiri Jika
Properti Akhir
'------------------------------------------------ - ---------------
Sesi pembuatan Fungsi Publik (data array)
Jika IsArray(arraydata) maka
makear=arraydata
Kalau tidak
makear=Array(0,0,0,0)
Akhiri Jika
Jika sesi= Lalu
sesi=nodef
Berakhir jika
sesi(sesi)=makear
Fungsi Akhir
'------------------------------------------------ - ---------------
sesi privat Fungsi()
thisget=sesi(sesi)
Jika Bukan IsArray(inidapatkan) Lalu
thisget=Array(0,0,0,0)
Akhiri Jika
Getsession=dapatkan ini
Fungsi akhir
'------------------------------------------------ - ---------------
Properti GetConnectString
ConnectString = sqlstr
Properti Akhir
Properti Biarkan ConnectString(str)
sqlstr = str
Properti Akhir
'------------------------------------------------ - ---------------
Properti Dapatkan getid
getid = iid
Properti Akhir
Properti Biarkan getid(id)
iid = identitas
Properti Akhir
'------------------------------------------------ - ---------------
Properti Dapatkan meja
dapat diperoleh = dapat diperoleh
Properti Akhir
Properti Biarkan gettable(tabel)
meja = meja
Properti Akhir
'------------------------------------------------ - ---------------
'------------------------------------------------ - -----------------
Sesi pembacaan fungsi publik (iStart, ipageno, irowid)
rowid=killint(irowid,0,0)
mulai=membunuh(istart,0,0)
halamanno=killint(ipageno,5,5)
data=mendapatkansesi
iRows = UBound(data, 2)
iCols = UBound(data, 1)
respon.write(<h5> jumlah total yang diperoleh :)
respon.write(<b> &iRows+1&</b> pesan</h5><hr/><ul style='width:100%;'>)
Jika barisid = 0 maka
Jika iRows > (ipageno + iStart) Lalu
iStop = ipageno + iMulai - 1
Kalau tidak
iStop = iRows
Akhiri Jika
Untuk iRowLoop = Mulai ke iStop
Respon.Tulis (<li style='padding:4px 0;'><a href=?k=read&rowid=&irowloop+1&>&data(1, iRowLoop) & </a><span style='padding:4px 0 4px 10px;background-color:#ccc; '>Lebih lambat, tidak disarankan untuk mengklik--><a href=?k=list&id=&data(0,irowloop)&>perbarui</a></span></li>)
Berikutnya
Response.Tulis </ul><div style='top:20px;background-color:#ccc;color:#020;font-weight:bold;bordr-top:2px solid #008;padding:10px 0;color: #b00'>Daftar (<a href=default.asp>Kembali ke mode biasa</a>):
jika Mulai > 0 maka
Respons.Tulis <A HREF=?k=read&Start= & iStart-ipageno &&pageno= & ipageno & >Sebelumnya</A>
berakhir jika
jika iStop < iRows maka
Respons.Tulis <A HREF=?k=read&Start= & iStart+ipageno &&pageno= & ipageno & >Next</A>
akhirJika
respon.tulis</div>
Kalau tidak
rowid=litter_in(rowid-1,iRows)
respon.tulis(<div style='width:85%'><h4 style='text-align:center'><a href=?k=read&pageno=&pageno&&start=&start&>Daftar pengembalian</a></h4></h2><hr/><h5>&server.htmlencode(data(1,rowid))&</h5><p >&server.htmlencode(data(2,rowid))&<h5>+-----&server.htmlencode(data(3,rowid))&)
respon.tulis(<div>)
Berakhir jika
Fungsi Akhir
'------------------------------------------------ - ---------------
Daftar Fungsi Publik_ids()
sql3=pilih * dari &itable& di mana id=&iid&
mulaikonn()
Setel rs=sambungan.eksekusi(sql3)
Jika rs.eof Dan rs.bof Lalu
data=Array(0,0,0,0)
Kalau tidak
data=Rs.GetRows()
Akhiri Jika
penutup
closeconn
respon.tulis(UBound(data)&:)
respon.tulis(server.htmlencode(data(2,0)))
Fungsi akhir
'------------------------------------------------ - ---------------
Fungsi Publik rs_top(angka,tabel,whe)
mulaikonn()
sql=pilih &angka& teratas * dari &tabel&
sql2=pilih hitungan(*) sebagai szd_count dari &tabel& &whe&
Setel rs=sambungan.eksekusi(sql2)
szd_count=rs(szd_count)
penutup
Setel rs = Sambung.Jalankan(sql)
data redup
Jika Rs.Eof Lalu
data=tidak ada data
Kalau tidak
data=Rs.GetRows()
Berakhir jika
penutup
koneksi dekat()
Sesi panggilan (data)
Fungsi Akhir
'++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++
Kelas Akhir
Saat menggunakan:
Aksi redup
tindakan=permintaan(k)
Jika tindakan=lihat Lalu
Panggil tampilan baru
ElseIf tindakan=daftar Lalu
Daftar panggilan()
Tindakan ElseIf=baca Lalu
Panggilan baca()
Kalau tidak
Panggilanff()
Berakhir jika
Subff()
%>
<form style=border-top:2px solid #008;border-bottom:2px solid #008;margin:auto;background-color:#eee;padding:20px 5px;color:#008;font-weight:bold;>
<label>Jumlah total informasi yang ditampilkan:<input name=n type=text maxlength=4 size=10 />Jumlah halaman per halaman:<input name=pagesize type=text maxlength=4 size=10 value=5/> <nama masukan =arrstart type=nilai tersembunyi=0></label>
<h5 style=border-top:1px solid #000;padding:5px 0> Pengoperasian:<input name=k type=submit value=view /></h5>
</form> <%Akhir sub%>
<%Sub tampilan baru()
f_num=killint(permintaan(n),1,1)
ukuran halaman=killint(permintaan(halaman),5,5)
arrstart=killint(permintaan(mulai),0,0)
rowid=killint(permintaan(rowid),0,0)
Setel cs=baru ado_5do8
cs.ConnectString=data/a.mdb
cs.havese=shi
cs.rs_top f_num,site_szd,
cs.readarraysession arrstart, ukuran halaman, rowid
Akhiri sub
Subdaftar()
respon.write(<h5><a href=default.asp>Kembali ke mode default</a></h5>)
Informasi spesifik ditampilkan di bawah respon.tulis:<hr/>
id=permintaan(id)
id=membunuh(id,1,1)
Setel listid=baru ado_5do8
listid.ConnectString=data/a.mdb
listid.getid=id
listid.gettable=situs_szd
listid.daftar_id()
Akhiri Sub
Subbaca()
respon.write<div style='background-color:#ccc;padding:20px 0;color:080;font-weight:bold;border-bottom:2px solid #008'>Analisis halaman telah selesai pilih <a href=default.asp>Kembali ke mode biasa</a>Parameter: Mulai, elemen awal; jumlah item per halaman</div>
ukuran halaman=killint(permintaan(halaman),5,5)
arrstart=killint(permintaan(mulai),0,0)
rowid=killint(permintaan(rowid),0,0)
Setel cs=baru ado_5do8
cs.havese=shi
cs.readarraysession arrstart, ukuran halaman, rowid
Akhiri sub
Fungsi killint(i,killstr,killsub)
Jika Bukan IsNumerik(i) Maka
saya=pembunuhantr
LainJika i<=0 Lalu
saya=pembunuhansub
Berakhir jika
killint=Int(Kiri(i,5))
Fungsi Akhir
%>