Ana Sayfa » Ders Notları ve Örnekler » Programlama Çeşitli Örnekler » VB.NET Sınıf Tanımlama ve Kullanımı

Uyarılar :
  • Bu sayfada yazılanlar yeniden yayınlanamaz.
  • Bu örnek ders sırasındaki anlatımlardan derlenmiştir. Özellikle bir makale şeklinde yazılmamıştır. Bilgilerde eksiklikler bulunabilir.
Sınıflar :
  • Bilgisayar programlamada sınıflar (class) vasıtasıyla program kendi görevlerini yerine getiren daha küçük parçalara bölünür. Bu program parçaları (sınıflar) bir işin nasıl yapılacağını tanımlarlar. Programın çalışması sırasında hafızada sınıfların canlı örnekleri (nesneler) oluşturularak çalıştırılır.
  • Sınıflar modül olarak da düşünülebilir. Yani bir sınıf tanımlaması başka programlara eklenerek de kullanılabilir. Böylelikle bir sınıf bir çok yazılımda işe yarar.
  • Sınıfları bir toplum içindeki kendi işinde uzmanlaşmış ve aynı zamanda sadece kendi işine odaklanmış kişilere de benzetebilirsiniz. Bu kişiler sayesinde yöneticiler daha genel işlere odaklanarak yeni projeler geliştirmeye zaman ve imkan bulabilir ve daha iyi işler yapabilir. Programcı da sınıflar sayesinde sınıfların yaptığı işlerle veya sınıfları yazmakla ayrıca uğraşmak zorunda kalmaz, bir kez yazdığı sınıfı veya başkalarının yazdığı sınıfları defalarca kullanabilir ve programın genel amaçlarına odaklanıp daha büyük işler başarmak için zaman ve imkan bulabilir.
  • Sınıfların bir avantajı da hata ayıklamayı kolaylaştırmasıdır. Sınıfların yaptığı işleri gerçekleştiren kodlarla programın diğer kodları veya diğer sınıfların kodları birbirine karışmadığından her sınıf veya programın kendisi ayrı ayrı ele alınarak daha küçük ve karmaşık olmayan kodlarla uğraşılmış olur, bu şekilde daha az hata içeren programlar yazılabilir veya varsa hatalar daha çabuk tespit edilebilir ve daha çabuk giderilebilir.
  • Bazı programcılar sadece sınıflar yazarak çok yetenekli ve gelişmiş sınflar oluştururlar. Bunları diğerlerinin kullanımına sunarlar. Böylelikle her programcı her şeyi bilmek zorunda kalmadan program yazabilir (Örneğin .NET Framework Sınıf Kütüphanesi (.NET Framework Class Library) bizlere, yazmak için bilgimizin ve / veya vaktimizin yetmeyeceği binlerce işe yarar sınıf sunar).
  • VB.NET tam olarak bir nesneye yönelik programlama dilidir.

' Bu örneği kullanabilmek için VB.Net ile bir uygulama oluşturun,
' formunuzun üzerine bir tuş ekleyin. Tuşu çift tıklayıp kod
' bölümüne girdikten sonra (tuşu çift tıklamadan kod bölümüne
' girerseniz veya tuşun adını değiştirirseniz örnek çalışmaz)
' kod sayfasındaki herşeyi silip alttakileri yapıştırın.

Public Class Form1

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

        ' Dortgen isimli sınıfımızdan bir örnek (nesne) oluşturuyoruz.
        Dim Kare As Dortgen = New Dortgen()

        ' Örneğin 2 özelliğini değiştiriyoruz.
        Kare.Genislik = 10
        Kare.Yukseklik = 10

        ' Örneğin metodlarını çağırıyoruz.
        ' (Sınıfımızın metodları değer döndürdüklerinden bu değerleri ekranda mesaj kutusu
        ' ile görüntülüyoruz).

        MessageBox.Show(Kare.Cevresi())
        MessageBox.Show(Kare.Alani())

    End Sub

End Class

' Dortgen isimli bir sınıf tanımlanıyor. Public ifadesi bu sınıfın yazıldığı yer (kod sayfası)
' dışından da kullanılmasını sağlar.

Public Class Dortgen

    ' Sınıfın özelliklerini sınıf içinde tutan gizli değişkenler tanımlanıyor.
    ' Bu değişkenler, sınıfın örneğini kullananların değişkenlere doğrudan erişerek
	' bizim yapılmasını istemediğiniz değişiklikleri yapmalarını
    ' engellemek için private olarak tanımlanıyor. Private değişkenlere
    ' sadece sınıfın içinden erişilebilir (Nesneye yönelik programlamanın sarmalama / encapsulation
	' ilkesi).

    Private GizliGenislik As Integer
    Private GizliYukseklik As Integer

    ' Yapılandırıcı tanımlanıyor. Yapılandırıcı, sınıfın örneği new ifadesi
    ' ile oluşturulduğunda ilk yapılacak işlemlerin tanımlanması için kullanılır.
    ' Örneğimizde, gizli değişkenlerimize ilk değerlerini veriyoruz. Burada
    ' başka yapılacak işler varsa eklenebilir.

    Public Sub New()
        GizliGenislik = 0
        GizliYukseklik = 0
    End Sub

    ' Bir özellik tanımlıyoruz. Özellikleri bu şekilde tanımlamak, özelliğimizin
    ' tutulduğu asıl değişkene doğrudan erişimi engeller, böylelikle bizim
    ' istemediğimiz zamanlarda bu değerlere müdahalenin engellenmesini sağlarız.
	' Özellik başlangıç satırının (Public Property ...) yanındaki As Integer ifadesi
	' bu özelliğin bir tamsayı değeri sakladığını belirtir.
	
    ' Özellik tanımındaki Get bölümü, özelliğin değeri istendiğinde (Örneğin sınıfımızın
	' örneğini kullanan kişi, örneğin / nesnenin adının "Kare" olduğunu varsayarsak
	' "MessageBox.Show(Kare.Genislik)" gibi bir kod çalıştırdığında) 
	' çalıştırılacak bölümdür. Örneğimizde gizli değişkenimizin değerini döndürüyoruz.
	' Değer döndürmeden önce yapılacak işlemler varsa Return ifadesinin üstüne eklenebilir.

    ' Özellik tanımındaki Set bölümü, özelliğin değeri değiştirilmek istendiğinde
    ' çalıştırılır (Örneğin sınıfımızın örneğini kullanan kişi, örneğin / nesnenin adının
	' "Kare" olduğunu varsayarsak "Kare.Genislik = 5"
	' gibi bir ifade kullandığında). Burada değer değiştirilmek istendiğinde gizli değişkenimizin
    ' değerini gönderiyoruz. Value parametresi bize otomatik olarak (biz bir şey
    ' yapmadan) kullanıcının özelliğe atadığı değeri verir. Örneğimizde
    ' değeri asıl değişkene atamadan önce kontrol ediyoruz. Değer 1'den küçük ise
    ' (tamsayılarla çalıştığımızdan ve 0 genişlik olmayacağından) bir uyarı
    ' görüntüleyoruz ve değeri değiştirmiyoruz. Özelliklerin aşağıdaki gibi
	' tanımlanması sayesinde, özellik değeri değiştirilmeden veya döndürülmeden
	' önce yapılacak işlemlerin veya kontrollerin eklenmesi fırsatına sahip oluyoruz.
	
    Public Property Genislik() As Integer
        Get
            Return GizliGenislik
        End Get
        Set(ByVal value As Integer)
            If value < 1 Then
                MessageBox.Show("Genislik özelliğinin değeri 1'den küçük olamaz.")
            Else
                GizliGenislik = value
            End If
        End Set
    End Property

    Public Property Yukseklik() As Integer
        Get
            Return GizliYukseklik
        End Get
        Set(ByVal value As Integer)
            If value < 1 Then
                MessageBox.Show("Yukseklik özelliğinin değeri 1'den küçük olamaz.")
            Else
                GizliYukseklik = value
            End If
        End Set
    End Property
	
    ' Aşağıda 2 tane metod tanımlanmıştır. Metodlar, sınıfın yapacağı işleri
    ' tanımlar. Bizim metodlarımız function olarak tanımlandıklarından bir
    ' değer döndürürler. Değer döndürmek için return ifadesini kullanır ve
    ' yanına döndürülecek değeri yazarız. Metodlar, function olarak
    ' tanımlandıklarında (sub olarak da tanımlanabilirler ancak bu şekilde
	' bir değer döndürmezler) döndürdükleri değerler program içinden kullanılabilir.
    ' Eğer metodun değer döndürmeden önce yapacağı işlem ve hesaplamalar varsa
    ' return ifadesinin bulunduğu satırın üstüne yazın.
	
    Public Function Cevresi() As Integer
        Return (GizliGenislik + GizliYukseklik) * 2
    End Function

    Public Function Alani() As Integer
        Return GizliGenislik * GizliYukseklik
    End Function

End Class

İletişim : hazirsite@gmail.com