Upload
doanlien
View
226
Download
0
Embed Size (px)
Citation preview
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
1ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Sınıf Nesne KavramlarıC# BileşenleriÖzellikler, Olaylar, Metotlar
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
2ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
İçindekiler
• Sınıf ve Nesneler• Bileşenler• Özellikler • Metotlar• Olaylar
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
3ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesneye yönelik programlama
• Sınıf • Nesne
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
4ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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ıTransistör Sınıfı
Bilgisayar Sınıfı
Taşıt Sınıfı
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
5ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
6ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Sınıf
• Alt Elemanları– Kimliği– Özellikleri,– Durumu, – Metotları(Davranışlar)
Öğrenci Sınıfı
Özellikler:ÖğrenciNoİsmiSı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
7ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesne
• Herhangi bir sınıftan türetilmişdavranışları ve metotları kullanılabilir sınıf örneğine (instance) nesne denir.
Öğrenci Sınıfı
Öğrenci Öğrenci1
12Ahmet20071
Öğrenci1.İsmi = “Ahmet”;
Öğrenci1.ÖğrenciNo = 12;
Öğrenci1.Başlangıç = 2007;
Öğrenci1.Sınıfı = 1;
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
8ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
9ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesne
• Gerçek dünyada ayrı ayrıtanımlanabilen gördüğümüz herşeynesnedir.
• Her nesnenin bir kimliği, davranışı, özellikleri vardır.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
10ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesneye yönelik programlama
• Miras alma (inheritance)• Kutulama (Encapsulation)• Çok şekillilik (Polymorphism)
Tekniklerine dayanır.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
11ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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şıtOtomobil
sınıfı
Kamyonetsınıfı
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.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
12ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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ü();
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.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
13ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesneler
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
14ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesneler
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
15ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesneler
Elektronik Elemanlar
Elektronik Kartlar
Bilgisayar Sistemi
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
16ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Ç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);
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.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
17ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
C#’ta Sınıf
• C#, OOP bazlı bir programlama dilidir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
18ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
C# Sınıf Genel Biçimi
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
19ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
20ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Sınıf Tanımlaması ÖrneğiSınıfın Özellikleri
Sınıfa ait toString()Metodu
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
21ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Form Sınıfı• Projelerimizde tasarladığımız kullandığımız
Form1 sınıfı, System.Windows.Forms.Formsınıfının bütün özelliklerini, metotlarını, olaylarını devralmaktadır.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
22ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
C#’ta nesne
• En genel nesne tanımlama şu şekilde yapılır.
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.
Yapıcı metodu
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
23ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Nesne kullanımı örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
24ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
25ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Araç Kutusu Common Controls
• Genel bileşenleri ihtiva eder.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
26ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Araç Kutusu Genel Kontroller
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
27ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
28ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Button
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
29ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
ButtonOlayları (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
30ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
CheckBox
• Kullanıcıya farklı seçimler sunmayısağlar
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
31ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
32ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
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
33ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
CheckBox Kullanım Örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
34ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
CheckedListBox• Her maddede seçenek
işareti olan liste bileşenidir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
35ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
CheckedListBox
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
36ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
ComboBox• Açılır liste ile seçim yapma
imkanı sağlayan bileşendir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
37ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
ComboBox özellikleri• DropDownStyle :
• Simple• DropDown• DropDownList
• Items: Collection• Sorted:
• True• False
• Name:– comboBox1– cbEgitimDurumu
• SelectedIndex• SelectedItem
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
38ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
ComboBox örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
39ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
dateTimePicker• Tarih bilgisini uygun
biçimde göstermek için kullanılan bileşendir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
40ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
dateTimePicker özellikleriValue:
Seçilmiş tarih değeriMaxDate:
Alabileceği max tarih MinDate:
Alabileceği min tarihCalendarForeColor:
Yazı rengiCalendarMonthBackground:
Takvim arkaplan rengiCalendarTitleBackColor:
Başlık arkaplan rengiCalendarTitleForeColor:
Başlık yazı rengiCalendarTrailingForeColor:
diğer ayın günleri yazı rengi
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
41ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
dateTimePicker örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
42ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
dateTimePicker
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
43ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
ListBox• Tekli yada çoklu seçim
yapılabilecek liste kutusudur.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
44ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
ListBox örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
45ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
RadioButton
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
46ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Uygulama
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
47ARŞ.GÖR. FEHİM KÖYLÜ27.02.2008
Ödev
• Doğum tarihi hesaplayan ve • gün sayısı• Yıl • Ay • sayısı olarak • gösteren program