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Ü

Benzer belgeler