C# C# Windows Form Örnekleri Programlama

C# Class ve Nesne Kavramı (Sinema Örneği)

Bu yazımızda C# ile Class kullanımını gösteren basit bir sinema örneği gerçekleştireceğiz. Örneğimizde bir sinema salonuna ait Sınıf(Class) yapısı oluşturacağız ve bu salona ait bazı metotlar oluşturacağız.

Öncelikle Form tasarımını görelim.

class_sinema_1

 

Formumuzun çalışmasını kısaca açıklayalım. OLUŞTUR Butonunu kullanarak oluşturacağımız Sinema sınıfından yeni bir nesne oluşturacağız. Sınıf yapısında BiletSat, BiletIptal, BoskoltukOgren ve BakiyeOgren metotlarını oluşturarak gerekli işlemlerin yapılmasını sağlayacak ve bu işlemlerle ilgili label3 kontrolünde kullanıcı bilgilendirmesi yapacağız.

class_sinema_2

Örneğimizi oluştururken daha detaylı açıklamaları bulabilirsiniz. Öncelikle Sinema isimli Class‘ ı oluşturarak projemize başlayalım. Bunun için Solution Explorer penceresinde proje üzerinde sağ tuş ve Add Class adımlarını izleyebilirsiniz.

class_sinema_4

Class’ ımıza Sinema ismi veriyoruz.Sinema adlı sınıfımız aşağıdaki gibi oluşacaktır.

Daha sonra Class için gerekli özelliklerimizi yazıyoruz.

Burada bizim örneğimiz için gerekli özellikleri oluşturmuş olduk.Şimdi metotlarımızı oluşturalım. Öncelikle kurucu metodumuzu okluşturarak başlayalım.

Bilindiği gibi kurucu metotlar sınıf ismiyle aynı olmak zorundadır. Yukarıdaki kurucu metodu incelediğimizde 2 adet parametre aldığını görüyoruz. Ana programda Class üzerinden nesne oluşturduğumuz zaman gerekli ayarlamaların yapılmasını sağlıyoruz.

Bir sonraki adımda BiletSat isimli metodu oluşturacağız.

Metodu incelediğimizde bilet satışı gerçekleştiğinde boş koltuk sayısının azaltılması sağlanıyor. ayrıca indirimli veya tam bilet olması durumuna göre bakiyenin arttırılması sağlanıyor. Burada metodumuzun bool tipinde bir parametre aldığına dikkat edelim.

Şimdi de BiletIPtal isimli metodumuzu oluşturalım. Bu metodumuzda yine bool tipinde bir parametre alacak. Gelen parametre ile biletin indirimli ya da tam bilet olduğunun kontrolünü yapacağız. Para iadesi olacağı için bakiye azaltılacak ve boş koltuk sayısının arttırılması sağlanacak.

Daha sonra ise boş koltuk sayısını öğrenebileceğimiz BosKoltukOgren isimli metodumuzu aşağıdaki gibi oluşturuyoruz. Burada sadece boş koltuk sayısının geri döndürüldüğünü görmekteyiz.

Son olarak BakiyeOgren isimli metodumuzu oluşturalım. Bu metodumuzda yukarıdaki BosKoltukOgren metodu gibi çalışacak ve geriye bakiye bilgisini döndürecektir.

public double BakiyeOgren() //Bakiye Öğren
{
return bakiye;
}

Sınıf yapımızı tamamlamış olduk. Class’ ımızın tam hali aşağıdaki gibi olacaktır.

Şimdi form tarafına geçiyoruz. Açıklamamızı kodlarımızın tamamını verdikten sonra yapalım.

Burada Oluştur butonuna yazdığımız kodlarla Sinema sınıfı üzerinden salon isimli bir nesne oluşturulduğunu görüyoruz. Oluştur butonuna basıldığında textbox kontrollerine girilen değerler parametre olarak gönderilerek kurucu metodun çalışması sağlanmaktadır. Ayrıca label3 üzerinde kullanıcıya bilgi verilmektedir.

Bilet Sat ve Bilet İptal butonlarına basıldığında İndirimli checkBox seçili olması durumuna göre metotlarımızın çalışması ve sonuca ait bilginin yine label3 üzerinde görüntülenmesi sağlanmaktadır.

Rapor bölümündeki butonlarımız ise sırasıyla BakiyeOgren ve BosKoltukOgren metotlarını çalıştıracak ve bu metotlardan gelen veriyi yine label3 üzerinde görüntüleyecektir.

class_sinema_5

34 Yorum

  • hocam eğer birden fazla salon oluşturuyorsak boş koltuk kodları nasıl yazmalıyız?
    cevabınızı bekliyorum.

  • [text* first-name class:form-control placeholder “Adınız”]

    [text* last-name class:form-control placeholder “Soyadınız”]

    [email* email class:form-control placeholder “E-Posta”]

    bu çalışan bir kod ama kutucuğun içinde adınız soayadınız ya a e-posta yazıyor. kutunun üstünde nasıl yapabiliriz?
    örnek:
    şu anki:
    —————
    adınız
    —————
    İstenilen:
    adınız
    —————
    —————

  • ya şimdi ben şeyi anlamadım bilet sat ve bilet iptal metotlarında checkBox ile bir badaştırma yapmadan nası oluyo yani bir şart bloğu yokken nası çalışıyor anlamadım ben

  • += ve -= operatörlerini bool ve double ile kullanamazsın gibi bir hata aldım hocam nerde yanlış yaptığımı bulamadım yardımcı olabirmisiniz hata kodu cs0019

        • Tabii hocam. salon = new Sinema(txtSalon.Text, Convert.ToInt32(txtKoltukSayısı)); şu kodda “.Text” koymayı unutmuşum.
          salon = new Sinema(txtSalon.Text, Convert.ToInt32(txtKoltukSayısı.Text)); olacak. O zaman hata çözülüyor

    • Iki defa degisken tanimlanip o degiskene atama yapilmis olabilir
      public int a=5;
      a=int.Parse(txtdeger.Text);
      olmasi gerek mesela
      sizinki de property
      public int degisken{ get;set;} olup ,asagida disaridan deger alan metotta int degisken=int.Parse(txtdeger.Text) olursa varsayilan 0 olunca okurken 0 yazar string ise null yazar .Degerin Null geldiginden sebep bu hata aliniyor

  • orada textbox1 label1 vb gibi yazım biraz hatalı kullanıma giriyor lütfen sonraki örneklerde karışıklığı sıfıra indirgemek adına mantıklı isimler verin

    • Karışıklığa neden olacak kadar çok sayıda kontrol bulunmayan örneklerde genellikle isim değiştirmiyorum. Buradaki örnekler genellikle projelere ait küçük parçalar şeklinde. Karışıklığa neden olabilecek projelerde değiştirmek tabi ki fayda sağlayacaktır. Katkınız için teşekkürler.

      • Yapmak istediğiniz şeyi tam olarak anlamadım. Daha detaylı anlatabilirseniz ve takıldığınız yeri söylerseniz fırsat buldukça yardımcı olmaya çalışırım.

        • Acces le bağlantılı c# bakkal defteri olacak hocam baştan sona kadar yardım etseniz yani yapsanız hocam lütfen duşük alıp okulda kalıcam bundan bari yuksek alıyım

          • hocam siz benim anlatmak istedigimi anlamadınız bi saniye benim odevimin konusu bakkal defteri aynı bu mantık ama farklı biraz bi yardım edin son gunlere giriyoruz lütfen

  • yok hocam bu örnekle alakalı değil. şöyle anlatayım 1den 100 e kadar raf var ve bu raflar sırayla doluyor diyelim aradan 1 tane raf boşalıyor ve yeni gelen ürüne o rafı vereceğiz. ama bunun için o boş rafı bulmak gerekiyor. Bu konuda yardımcı olabilir misiniz?

  • Hocam merhabalar; veritabanında 1,2,3,4,5,7,8,9,10 diye her satırda bir rakam var ve gördüğünüz gibi 6 rakamı hiç bir satırda yok bu olmayan rakamı nasıl buluruz ?

    • Merhaba.Bu örnekle ilgili değil sanırım sorunuz. Sütunu tek tek kontrol ederek bulunabilir. Tam olarak yapmak istediğiniz şeyi bilmiyorum.

Tarik için bir yanıt yazın X

Web Tasarım & Programlama sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et