Professional Documents
Culture Documents
C
# dili ile kendi uygulamalar›n›z› yaz›yorsunuz... da sayi = 6 olacakt›r. Bu s›-
De¤iflken ve fonksiyonlarla aran›z iyi... S›n›flar ya- n›fta iki tane de olay›m›z
rat›yorsunuz, s›n›flar›n›za yerel ve global de¤ifl- olacak: twoDigits ve thre-
kenler (Property) ve fonksiyonlar (Method) eDigits. Sayi de¤iflkenine iki
katarak hayat› daha kolay bir hale getiriyorsunuz... basamakl› bir say› atand›¤›
Ya olaylar? Bu yaz›da, olay yönelimli programlaman›n temel- anda twoDigits, üç basa-
lerini ele alaca¤›z. makl› bir say› atand›¤› anda
ise threeDigits olay› ortaya
Olay nedir? ç›kacak.
Tahminimce bu yaz›y› okuyan herkes, görsel programc›l›kla .Net platformunda olay
az çok ilgilenmifltir... Visual Studio ile formlar yaratt›n›z, form- yaratman›n 4 temel ad›m›
fiekil 2: Örne¤imizde bir form,
lar›n üzerine dü¤meler yerlefltirdiniz ve yazd›¤›n›z program›n, vard›r: bir de sayaç s›n›f› yer alacak
kullan›c› dü¤meye t›klad›¤›nda baz› ifller yapmas›n› sa¤lad›- System.EventArgs tipin-
n›z... Tüm bunlar› yapt›¤›n›za göre, kendinizi olay yönelimli de bir özellik s›n›f› yaratmak. Bu s›n›f, ortaya ç›kacak olayla-
programlamaya do¤ru ilk ad›m› atm›fl sayabilirsiniz; zira kul- ra ait özellikleri ve de¤iflkenleri tafl›yacakt›r. Bu s›n›f içerisinde,
lan›c›n›n dü¤meye t›klamas›, programc›n›n gözünde bir ihtiyaca göre istedi¤imiz de¤iflkenleri tan›mlamakta özgürüz.
“olay”d›r. Örne¤imizde, yarataca¤›m›z s›n›fa basamakAtlama ad›n› ve-
Olay yönelimli programlaman›n özünde, hiyerarflinin da- rece¤iz. info de¤iflkeninde ise, basamak say›s›na dair bir me-
ha alt seviyesinde yer alan (Child) s›n›flar›n belli bir durum tin yer alacak.
ortaya ç›kt›¤›nda üst seviyedeki s›n›flar› (Parent) uyarmas›, ve delegate void türünde bir fonksiyon modeli tan›mlamak.
üst seviyedeki s›n›flarda sadece bu durum ortaya ç›kt›¤›nda ça- Örne¤imizde, twoDigits ve threeDigits olaylar›n›n temelini tefl-
l›flacak kodlar›n yaz›labilmesi yer al›r. kil edecek olan digitEvent adl› bir model tan›mlayaca¤›z.
Az önceki örne¤imizde dü¤me, düflük seviyeli bir s›n›f ve Az önce de gördü¤ümüz gibi, örne¤imizde twoDigits ve
(dü¤meyi içermekte olan) form ise yüksek seviyeli bir s›n›ft›r. threeDigits adl› iki olay olacak.
Herhangi bir dü¤me nesnesinde “Fare ile t›klama” olay› orta- ‹stedi¤imiz koflullar bir araya gelince (say›n›n iki veya üç
ya ç›kt›¤›nda dü¤me, ait oldu¤u formu uyaracakt›r. Form ise, basamakl› olmas›), söz konusu olaya ait özellik s›n›f›n› (basa-
bizim söz konusu olaya atad›¤›m›z kodu çal›flt›racakt›r. Bu makAtlama) yaratacak ve olay› (twoDigits, threeDigist) etkin-
kod, büyük ihtimalle Form1 bünyesinde “Button1_Click()” gi- lefltirece¤iz.
bi bir ada sahip bir fonksiyon içerisinde yer alacakt›r. Kar›fl›k m› gözüküyor? Panik yok! Sayac s›n›f›na ait kodla-
Gördü¤ünüz gibi, olaylar› nas›l kullanaca¤›m›z› hepimiz za- r› inceledikten sonra her fley aç›kl›¤a kavuflacak...
ten biliyoruz. Bu yaz›n›n sonuna geldi¤imizde, kendi olayla- public class basamakAtlama: System.EventArgs
r›n›z› nas›l yarataca¤›n›z› da ö¤renmifl olacaks›n›z. {
public string info;
Kendi olaylar›m›z› yaratal›m!
Kendi olaylar›m›z› nas›l yarataca¤›m›z› public basamakAtlama()
bir örnek çerçevesinde ö¤renece¤iz. Ör- KEREM {
ne¤imizde bir adet form, ve formun arka- KÖSEO⁄LU }
Windows & .NET
s›nda çal›flacak bir sayaç s›n›f› Magazine'in katk›da }
haz›rlayaca¤›z. bulunan
yazarlar›ndand›r. public class Sayac
Sayaç s›n›f› Çözümevi firmas›nda {
e-business çözümleri
Sayaç s›n›f›m›z, olaylar›n nas›l yarat›laca- public int sayi;
yöneticisi olarak
¤›n› görece¤imiz s›n›f olacak. Bu basit s›- çal›flmaktad›r.
n›f›n çal›flma mant›¤›, temelde sayi Kendisine keremk@ public delegate void digitEvent(object sender, ba-
de¤iflkenin de¤erinin arttir() fonksiyonu winnetmag.com.tr samakAtlama e);
ile artt›r›lmas›na dayan›yor. Yani; sayi = adresinden public event digitEvent twoDigits; //
ulaflabilirsiniz.
5 ise, arttir() fonksiyonunu ça¤›rd›¤›m›z- Olay: Say›m›z 2 basamakl›