Sınıf Nesne Kavramları C# Bileşenleri Özellikler, Olaylar, Metotlar
Transkript
Sınıf Nesne Kavramları C# Bileşenleri Özellikler, Olaylar, Metotlar
Sınıf Nesne Kavramları C# Bileşenleri Özellikler, Olaylar, Metotlar ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 1 ARŞ.GÖR. FEHİM KÖYLÜ İçindekiler • • • • • Sınıf ve Nesneler Bileşenler Özellikler Metotlar Olaylar ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 2 ARŞ.GÖR. FEHİM KÖYLÜ Nesneye yönelik programlama • Sınıf • Nesne ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 3 ARŞ.GÖR. FEHİM KÖYLÜ Sınıf • Ortak özelliklerin ve davranışların bir başlık altında toplanarak kendi başına davranır bir paket(sınıf) oluşturmaktır. Öğrenci Sınıfı Taşıt Sınıfı Transistör Sınıfı Bilgisayar Sınıfı ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 4 ARŞ.GÖR. FEHİM KÖYLÜ Sınıf • Yapı ve davranış olarak aynı özelliklere sahip nesneler bir sınıf altında gruplanır. • Sınıf nesneler için bir çerçeve, şablon, standart tanımlanmasıdır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 5 ARŞ.GÖR. FEHİM KÖYLÜ Sınıf • Alt Elemanları – Kimliği – Özellikleri, – Durumu, – Metotları(Davranışlar) Öğrenci Sınıfı Özellikler: ÖğrenciNo İsmi Sınıfı Başlangıç Davranışlar: SınavSonucuGöster(dersKodu) SınavSonucuGir(dersKodu, puan) StajSorgula(stajNo) ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 6 ARŞ.GÖR. FEHİM KÖYLÜ Nesne • Herhangi bir sınıftan türetilmiş davranışları ve metotları kullanılabilir sınıf örneğine (instance) nesne denir. Öğrenci1.İsmi = “Ahmet”; Öğrenci Öğrenci1 Öğrenci Sınıfı ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 12 Ahmet 2007 1 Öğrenci1.ÖğrenciNo = 12; Öğrenci1.Başlangıç = 2007; Öğrenci1.Sınıfı = 1; 27.02.2008 7 ARŞ.GÖR. FEHİM KÖYLÜ Nesne • Tanımlanan ortak özellikler ve davranışlar(sınıf) bir kere tanımlandıktan sonra istenildiği zaman bir örneği (nesne) kullanılır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 8 ARŞ.GÖR. FEHİM KÖYLÜ Nesne • Gerçek dünyada ayrı ayrı tanımlanabilen gördüğümüz herşey nesnedir. • Her nesnenin bir kimliği, davranışı, özellikleri vardır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 9 ARŞ.GÖR. FEHİM KÖYLÜ Nesneye yönelik programlama • Miras alma (inheritance) • Kutulama (Encapsulation) • Çok şekillilik (Polymorphism) Tekniklerine dayanır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 10 ARŞ.GÖR. FEHİM KÖYLÜ Miras Alma (inheritance) • Başka bir sınıftan türetilen yeni bir sınıf ana sınıfın bütün özellik ve metotlarını miras alır. Tekrar tanımlamaya gerek olmadan kullanır. Taşıt Otomobil sınıfı Kamyonet sınıfı ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 Taşıt sınıfında tanımlanan ortak özellik ve metotlar, miras alan alt sınıflarda(otomobil ve kamyonet) tekrar tanımlama zahmeti olmadan rahatlıkla kullanılır. 11 ARŞ.GÖR. FEHİM KÖYLÜ Kutulama (encapsulation) • Sınıf davranışlarının detayı iç yapıları bilinmesine gerek kalmadan kolayca kullanılmasıdır. • Ayrıca sınıf kod ve verisini birbirine bağlayan ve bu ikisini dış kaynaklı karıştırma ve yanlış kullanımdan koruyan bir mekanizmadır. Otomobil sınıfı Çalış(); Yürü(); ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II Bizim bilmemiz gereken sadece otomobilin yürüme davranışının olduğudur. İç yapısı: motor, şanzıman, teker, aktarma, vb. detayları bilmemize gerek yoktur. 27.02.2008 12 ARŞ.GÖR. FEHİM KÖYLÜ Nesneler ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 13 ARŞ.GÖR. FEHİM KÖYLÜ Nesneler ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 14 ARŞ.GÖR. FEHİM KÖYLÜ Nesneler Elektronik Elemanlar Bilgisayar Sistemi Elektronik Kartlar ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 15 ARŞ.GÖR. FEHİM KÖYLÜ Çok şekillilik (polymorphism) • Sınıfın üyesi davranışın duruma göre farklı davranış göstermesi çok şekillilik olarak adlandırılır. Hesap sınıfı Metotlar: AlanHesapla(Kare); AlanHesapla(Üçgen); ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II Hesap sınıfında aynı isimli iki alanHesapla davranışı bulunuyor. Verilen parametreye(üçgen veya kare) göre uygun olanı çalıştırılıyor. 27.02.2008 16 ARŞ.GÖR. FEHİM KÖYLÜ C#’ta Sınıf • C#, OOP bazlı bir programlama dilidir. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 17 ARŞ.GÖR. FEHİM KÖYLÜ C# Sınıf Genel Biçimi ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 18 ARŞ.GÖR. FEHİM KÖYLÜ C#’taki Sınıflar • Kullandığımız iki türlü sınıf vardır. – Toolbox içinden sürükleyerek kullanabildiğimiz • Form, TextBox, Label, Button, …. – Diğerleri • XMLWriter, MessageBox, Image, Icon, MessageBoxButton, … – C#’ta Kullanmak istediğimiz sınıfın bir örneğini nesne olarak hafızaya yerleştirerek kullanırız. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 19 ARŞ.GÖR. FEHİM KÖYLÜ Sınıf Tanımlaması Örneği Sınıfın Özellikleri Sınıfa ait toString() Metodu ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 20 ARŞ.GÖR. FEHİM KÖYLÜ Form Sınıfı • Projelerimizde tasarladığımız kullandığımız Form1 sınıfı, System.Windows.Forms.Form sınıfının bütün özelliklerini, metotlarını, olaylarını devralmaktadır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 21 ARŞ.GÖR. FEHİM KÖYLÜ C#’ta nesne • En genel nesne tanımlama şu şekilde yapılır. Yapıcı metodu SınıfAdı NesneAdı = new SınıfAdı(); • Tanımlanan nesne kullanılmadan önce yapıcı (constructor) metodu ile hafızada yer edinmelidir. • Yapıcı metodu new deyimi ile çağrılır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 22 ARŞ.GÖR. FEHİM KÖYLÜ Nesne kullanımı örneği ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 23 ARŞ.GÖR. FEHİM KÖYLÜ C# Bileşen Nesneleri • Araç kutusu (Toolbox) Penceresi – Common controls – Containers – Menus&Toolbars – Data – Components – Printing – Dialogs – Crystal reports ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 24 ARŞ.GÖR. FEHİM KÖYLÜ Araç Kutusu Common Controls • Genel bileşenleri ihtiva eder. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 25 ARŞ.GÖR. FEHİM KÖYLÜ Araç Kutusu Genel Kontroller ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 26 ARŞ.GÖR. FEHİM KÖYLÜ Button • Button, tıklandığında belirli bir görev icra etmesi istenen kullanıcı komut giriş aracı olarak kullanılır ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 27 ARŞ.GÖR. FEHİM KÖYLÜ Button ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 28 ARŞ.GÖR. FEHİM KÖYLÜ Button Olayları (Events) Click olayı: Button üzerine tıklandığında tetiklenerek icra edilecek olaydır. Button bileşeninin en genel kulllanılan olayıdır. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 29 ARŞ.GÖR. FEHİM KÖYLÜ CheckBox • Kullanıcıya farklı seçimler sunmayı sağlar ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 30 ARŞ.GÖR. FEHİM KÖYLÜ CheckBox • Checked özelliği – Seçili olduğunda true – Değilse false • Text özelliği – Gösterilecek seçenek yazısı • CheckedState özelliği – Indeterminate – Checked – Unchecked ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 31 ARŞ.GÖR. FEHİM KÖYLÜ CheckBox • CheckedChanged – Üzerine tıklama ya da başka bir yolla Checked özelliği değişmesi durumunda tetiklenir. • CheckStateChanged – Üzerine tıklama ya da başka bir yolla CheckedState özelliği değişmesi durumunda tetiklenir. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 32 ARŞ.GÖR. FEHİM KÖYLÜ CheckBox Kullanım Örneği ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 33 ARŞ.GÖR. FEHİM KÖYLÜ CheckedListBox • Her maddede seçenek işareti olan liste bileşenidir. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 34 ARŞ.GÖR. FEHİM KÖYLÜ CheckedListBox ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 35 ARŞ.GÖR. FEHİM KÖYLÜ ComboBox • Açılır liste ile seçim yapma imkanı sağlayan bileşendir. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 36 ARŞ.GÖR. FEHİM KÖYLÜ ComboBox özellikleri • DropDownStyle : • Simple • DropDown • DropDownList • SelectedIndex • SelectedItem • Items: Collection • Sorted: • True • False • Name: – comboBox1 – cbEgitimDurumu ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 37 ARŞ.GÖR. FEHİM KÖYLÜ ComboBox örneği ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 38 ARŞ.GÖR. FEHİM KÖYLÜ dateTimePicker • Tarih bilgisini uygun biçimde göstermek için kullanılan bileşendir. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 39 ARŞ.GÖR. FEHİM KÖYLÜ dateTimePicker özellikleri Value: Seçilmiş tarih değeri MaxDate: Alabileceği max tarih MinDate: Alabileceği min tarih CalendarForeColor: Yazı rengi CalendarMonthBackground: Takvim arkaplan rengi CalendarTitleBackColor: Başlık arkaplan rengi CalendarTitleForeColor: Başlık yazı rengi CalendarTrailingForeColor: diğer ayın günleri yazı rengi ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 40 ARŞ.GÖR. FEHİM KÖYLÜ dateTimePicker örneği ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 41 ARŞ.GÖR. FEHİM KÖYLÜ dateTimePicker ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 42 ARŞ.GÖR. FEHİM KÖYLÜ ListBox • Tekli yada çoklu seçim yapılabilecek liste kutusudur. ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 43 ARŞ.GÖR. FEHİM KÖYLÜ ListBox örneği ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 44 ARŞ.GÖR. FEHİM KÖYLÜ RadioButton ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 45 ARŞ.GÖR. FEHİM KÖYLÜ Uygulama ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 46 ARŞ.GÖR. FEHİM KÖYLÜ Ödev • • • • • • Doğum tarihi hesaplayan ve gün sayısı Yıl Ay sayısı olarak gösteren program ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 27.02.2008 47 ARŞ.GÖR. FEHİM KÖYLÜ