" Umut, hiç görmeyen birine gökkuşağını anlatmak kadar zor ve imkansız... "

Categories

-

Asp.Net Class(Sinif) yapisi incelemesi !!!

Programlarimiz içerisinde siklikla kullandigimiz prosedür, fonksiyon yada degiskenleri bir çati altinda toplayarak projelerimiz içerisinde tekrar tekrar yazmaya gerek kalmadan kullanmak amaci ile bu tip tanimlamalari Class yapilari içerisinde tanimlayabiliriz.Class yapilari, derlemeden tanimladigi projeler içerisinde kullanabilecegimiz gibi derleyip dll dosyasi haline getirerek baska projeler içerisine referans olarak ekleyipde kullanmamiz mümkün.Class yapilari nesne yönelimli yazilim dillerinin kalbini olusturmakla beraber, yazilimcilar için degisik avantajlari vardir.

1. Yazilan bir class ayni program içerisinde veya baska programlarda birçok kez kullanilabilir.
2. Yazilim ve test süreclerini kisaltir.
3. Kod organizasyonunu saglayip hatalarin bulunmasini kolaylastirir.
4. Kod üzerindeki yapilacak olan degisikliklerin kolaylasmasini saglar.

Örnek bir uygulama göstercek olursak Class icerisinde bir fonksiyon tanimlayarak veritabanina kayit islemi gerçeklestirebiliriz...

Imports Microsoft.VisualBasic

Imports System.Data

Imports System.Data.OleDb

Public

Class veribaglanti ' Class dosyamiz

Public Function baglan() As OleDbConnection

Dim yol As String = System.Web.HttpContext.Current.Server.MapPath("App_Data/vt1.mdb") ' Veritabani yolumuzu belirtiyoruz...

Dim baglanti As New OleDbConnection("Provider=Microsoft.jet.OleDb.4.0; Data Source=" + yol) ' Connection Nesnesi tanimliyoruz ve kullanilacak provider ve veritabani yolunu belirliyoruz...

Return baglanti ' Baglanti nesnemizi gönderiyoruz...

End Function

Public Function verikayit(Sqlcumle As String, cmdType As CommandType, OldbType1 As OleDbType, OldbType2 As OleDbType, deger1 As String, deger2 As Integer) As Integer ' Fonkisyonumuzu ve degerlerimizi tanimliyoruz...

Dim baglanti As OleDbConnection = Me.baglan() ' Yukaridaki baglan fonksiyonumuzu dahil ediyoruz...

Dim sorgu As New OleDbCommand(Sqlcumle, baglanti) ' OledbCommand nesnemizi tanimlayip sql cümle sorgusu için stringimizi ve baglantimizi dahil ediyoruz...

sorgu.Parameters.Add("?", OldbType1, 35).Value = deger1 ' Parametre ve degerlerimizi ekliyoruz...

sorgu.Parameters.Add("?", OldbType2, 30).Value = deger2 ' Parametre ve degerlerimizi ekliyoruz...

sorgu.Connection = baglanti

'Command nesnesini Connection nesnesiyle iliskilendiriyorz...

Dim sonuc As Integer = 0

Try ' Hiç bir sikinti olmadan islemimiz çalismis ise Try araligi çalisacak

baglanti.Open()

sonuc = sorgu.ExecuteNonQuery()

Catch ex As OleDbException ' Eger problem varsa Catch bölümü çalisacak...

Throw New Exception(ex.Message) ' Hata mesajini ekrana yazdiracak...

End Try

sorgu.Dispose()

baglanti.Close()

baglanti.Dispose()

Return (sonuc) ' Geriye sonuç degiskenini döndürecek...

End Function

End Class

Classimiza fonsksiyonumuzu tanimladiktan sonra .aspx sayfamizda kullanmamiz için sayfamiza tanimladigimiz classimizi dahil edip gerekli islemleri yaptirabiliriz...

Dim class1 As New veribaglanti

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click

'Public Function verikayit(Sqlcumle As String, OldbType1 As OleDbType, OldbType2 As OleDbType, deger1 As String, deger2 As Integer) As Integer Fonksiyonu

class1.verikayit("insert into Tbl_Kullanici (kullanici,sifre) values (?,?)", CommandType.Text, OleDbType.Char, OleDbType.Integer, TextBox1.Text, TextBox2.Text)

Label5.Text = "Kayit islemi basari ile tamamlandi..."

TextBox1.Text = ""

TextBox2.Text = ""

End Sub

 PROPERTY KULLANIMI

Hazirlagimiz siniflar içerisinde property (özellik) kullanarak siniflar içerisinde deger gönderip, degerleri okuyabiliriz.Set ve Get olmak üzere iki tür property vardir.

Set ile deger aliriz, Get ile deger göndeririz...

Örnek bir uygulama ile gösterecek olursak;

islem adinda Class(Sinifimiz) :

Imports Microsoft.VisualBasic

Public Class islem

Private kare As Integer

Dim sonuc As Integer

Public Property karesi() As Integer

Get

sonuc = kare * kare

Return sonuc

End Get

Set(ByVal value As Integer)

kare = value

End Set

End Property

End Class

.aspx sayfamizdan degerlerimizi aliyoruz...

Imports System

Imports System.Data

Imports System.Data.OleDb

Partial Class _Default

Inherits System.Web.UI.Page

Dim nesne As New islem

Protected Sub kare_Click(sender As Object, e As System.EventArgs) Handles kare.Click

nesne.karesi = Val(TextBox1.Text) ' Degerimizi Textboxtdan alip Set kismina gönderiyoruz...

Label2.Text = nesne.karesi ' karesi Propertisinin sonucunu labelimizi yazidiriyoruz...

End Sub

Ilk basta butonumuza tikladigimizda en üsteki kod bulogu çalistirilacaktir.Nesne isminde class1 adinda obje tanimlanacak,daha sonra bir alttaki kod buluguna gececektir... Bir altta ise nesne objesinin karesi propertisine Textboxtan girdigimiz degeri yollayacak.TextBoxa 5 degerini yazdigimizi varsayalim, bu 5 degerini nesne objesinin karesi propertisine gönderiyor, sekilde gördügünüz gibi.Yanliz karesi propertsinin set kismina bu degeri gönderiyor.Set ile deger aldigimiz için,bu deger buraya value degiskeni adi altinda geliyor,kare degiskenine biz bu degeri atiyoruz...

daha sonra ise value ile 5 deger geldi,kare degiskenine atadi,kare degiskenide 5 degerini aldi.Daha sonra ise program End Set;i görüdügü için geldigi yere tekrar geri gitti.Bir sonraki adimda ise bir alttaki satira gidiyor Sonuc.Text = nesne.karesi satirina iniyor.

bu satira indiginde ise sonuc.texboxina nesne objesinin karesi propertisinden bir deger alip oraya yazdirmak isteyecek.Yanii bu propertinin sonuçunda ürettigi degeri almak istiyecek. Bu degeri almak için ise bu sefer get bloguna gidecek ordaki satiri çalistiracak.Burda sonuc degiskeni tanimladik ve sonuc degiskenine kare degiskenindeki degeri kendisi ile çarparak degeri sonuc degiskenine atadi.

Return komutu ile sonuc degiskenindeki degeri gönderdi.Geldigimiz yere gönderdi ve sonuc.Textboxina 5 * 5 = 25 olan degeri yazdirdi... Class içerisinde Property objesi kullanrak islemimizi gerçeklestirmis olduk.

Toplama islemi yapacak olursak : Class dosyamiz

Imports Microsoft.VisualBasic

Public Class islem

Private t1 As Double = 0

Private t2 As Double = 0

Public Property toplama1() As Double

Get

Return t1

End Get

Set(value As Double)

t1 = value

End Set

End Property



Public Property toplama2() As Double

Get

Return t2

End Get

Set(value As Double)

t2 = value

End Set

End Property



Public Function toplabakem() As Double

Return toplama1 + toplama2

End Function

End Class

.aspx sayfamiz

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click

Dim nesne As New islem

nesne.toplama1 = Convert.ToDouble(TextBox1.Text)

nesne.toplama2 = Convert.ToDouble(TextBox2.Text)

Label2.Text = nesne.toplabakem().ToString()

Button1.BackColor = Drawing.Color.Red

End Sub

Örnek çalismayi buradan indirebilirsiniz...

 

  • 0
  • 895
  • 0

- BUNLARIDA GÖZDEN GEÇİREBİLİRSİNİZ -

HENÜZ YORUM YAPILMAMIŞ !

Yorum yazın

HAKKIMDA

KONULARI TAKİP EDİN

SOSYAL AĞLAR

  • Mesajınızı Gonderin