 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (7. Hafta)

Slides:



Advertisements
Benzer bir sunumlar
el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Advertisements

Yrd. Doç. Dr. Mustafa Akkol
Oktay ERBEY CRM & B2B Ürün Satış Hizmet Yöneticisi
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
Değişkenler ve bellek Değişkenler
DOĞAL SAYILAR.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
KİŞİSEL KAMP MALZEMEN Kamp malzemelerini şu ana başlıklar altında düşünebilirsin. Uyku malzemesi Yemek malzemesi Temizlik malzemesi Zorluklara karşı hazır.
Nesneye Yönelik Programlama
Nesneye Dayalı Programlama
Atlayarak Sayalım Birer sayalım
ÇÖZÜM SÜRECİNE TOPLUMSAL BAKIŞ
BEIER CÜMLE TAMAMLAMA TESTİ
Diferansiyel Denklemler
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
BEIER CÜMLE TAMAMLAMA TESTİ
ALIŞVERİŞ ALIŞKANLIKLARI ARAŞTIRMASI ÖZET SONUÇLARI Haziran 2001.
İZMİR EKONOMİ ÜNİVERSİTESİ TEKNİK ve İDARİ İŞLER MÜDÜRLÜĞÜ (T.İ.İ.M) “HİZMET MEMNUNİYETİ ÇALIŞMASI” Temmuz, 2010.
Algoritmalar DERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Sıvı Ölçüleri Değerlendirme.
HİSTOGRAM OLUŞTURMA VE YORUMLAMA
Soruya geri dön
Prof. Dr. Leyla Küçükahmet
MÜRŞİT BEKTAŞ 1-A SINIFI
CAN Özel Güvenlik Eğt. Hizmetleri canozelguvenlik.com.tr.
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
Sınıflar, Nesneler ve Metodlar
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
HİKMET SIRMA (ARİFİYE/SAKARYA) 1-A SINIFI 1 Mehmet YÜCEDAĞ.
TÜRKİYE KAMU HASTANELERİ KURUMU
1 YASED BAROMETRE 18 MART 2008 İSTANBUL.
İL KOORDİNASYON KURULU I.NCİ DÖNEM TOPLANTISI
İmalat Yöntemleri Teyfik Demir
Matematik 2 Örüntü Alıştırmaları.
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar
Tam sayılarda bölme ve çarpma işlemi
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
Görsel C# Programlama Güz 2009 (6. Hafta).
HABTEKUS' HABTEKUS'08 3.
4 X x X X X
Mukavemet II Strength of Materials II
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Nesne.
Chapter 6: Using Arrays.
Yard. Doç. Dr. Mustafa Akkol
Önceki Dersi Hatırlama !!
Strateji Geliştirme Başkanlığı 1 DÜNYA EKONOMİSİ REEL SEKTÖR.
Bir bölme işleminde bölen 8,Bölüm 7, kalan 1ise bölünen Kaçtır?
ANA BABA TUTUMU ENVANTERİ
1 DEĞİŞMEYİN !!!
1 2 3 GÜVENLİK İÇİN ÖNCELİKLE RİSKİ YOK EDİLMELİDİR. RİSKİ YOK EDEMIYORSANIZ KORUNUN KKD; SİZİ KAZALARDAN KORUMAZ, SADECE KAZANIN ŞİDDETİNİ AZALTIR.
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
HAYAT BİLGİSİ SORULARI.
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
Bölüm 9 –Nesneye-Dayalı Programlama: Miras (Inheritance)
Proje Konuları.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
ECHİNODERMATA Kambriyen – Güncel tümüyle denizel Filum
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
Sınıflar, Nesneler ve Metodlar
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (2. Hafta)
Görsel C# ile Windows Programlama
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
Sakarya Üniversitesi Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Prof. Dr. Ümit Kocabıçak Prof. Dr. Cemil Öz Doç. Dr. Ahmet Turan.
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Sunum transkripti:

 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (7. Hafta)

 2006 Pearson Education, Inc. All rights reserved. 2 Kompozisyon (Composition) Bir sınıf, üye değişkeni olarak başka sınıfların nesnelerini kullanıyorsa bu durum bir kompozisyondur. Kompozisyonlar çoğu zaman has-a-relationship olarak da nitelendirilirler.

 2006 Pearson Education, Inc. All rights reserved. 3 Date.cs (1 of 5)

 2006 Pearson Education, Inc. All rights reserved. 4 Date.cs (2 of 5)

 2006 Pearson Education, Inc. All rights reserved. 5 Date.cs (3 of 5) Validates month value

 2006 Pearson Education, Inc. All rights reserved. 6 Date.cs (4 of 5) Validates day value

 2006 Pearson Education, Inc. All rights reserved. 7 Date.cs (5 of 5)

 2006 Pearson Education, Inc. All rights reserved. 8 Employee.cs Employee contains references to two Date objects Implicit calls to hireDate and birthDate ’s ToString methods

 2006 Pearson Education, Inc. All rights reserved. 9 EmployeeTest.cs Create an Employee object Display the Employee object

 2006 Pearson Education, Inc. All rights reserved. 10 Garbage Collection ve Yıkıcılar (Destructors) Garbage Collection otomatik olarak belleği kontrol eden ve artık kullanımda olmayan nesnelerin işgal ettiği bellek alanlarının yeniden kullanılabilmesini sağlayan bir mekanizmadır. Nesneler bir daha ihtiyaç duyulmadıklarında yok edilirler. Bu işlemi yıkıcılar yani destructor lar dediğimiz yapılar garbage collector tarafından çağrılarak gerçekleştirirler. Yıkıcılar da yapıcılar (constructor) gibi sınıfın adıyla aynı olurlar. Yapıcılardan tek farkları sınıf adının önüne getirilen ~ işaretidir.

 2006 Pearson Education, Inc. All rights reserved. 11 Hatırlatma Bir sınıf kullandığı herhangi bir sistem kaynağını (diskten okuyup islem yaptığı bir dosya gibi) işi bittiği zaman serbest bırakmalıdır. Birçok FCL sınıfı bu amaçla Close veya Dispose metodlarını kullanır.

 2006 Pearson Education, Inc. All rights reserved. 12 static Üye Değişkenler static üye değişkenler bir sınıfın bütün nesnelerinin ortak kullandığı değişkenlerdir. static olmayan üye değişkenler hatırlanacağı üzere herbir nesne için farklı değerlere sahip olabiliyorlardı. static üye değişkenlere deklare edildiklerinde muhakkak bir ilk değer ataması yapılmalıdır. Aksi takdirde derleyicinin kendisi bir ilk değer ataması yapar. (Örneğin static bir int değişkenine sıfır değerini atar derleyici.)

 2006 Pearson Education, Inc. All rights reserved. 13 Employee.cs (1 of 3) Declare a static field Increment static field

 2006 Pearson Education, Inc. All rights reserved. 14 Employee.cs (2 of 3) Declare a destructor

 2006 Pearson Education, Inc. All rights reserved. 15 Employee.cs (3 of 3) Declare static property Count to get static field count

 2006 Pearson Education, Inc. All rights reserved. 16 EmployeeTest.cs (1 of 3) Create new Employee objects Call static property Count using class name Employee

 2006 Pearson Education, Inc. All rights reserved. 17 EmployeeTest.cs (2 of 3) Remove references to objects, CLR will mark them for garbage collection Call static method Collect of class GC to indicate that garbage collection should be attempted Call static property Count using class name Employee

 2006 Pearson Education, Inc. All rights reserved. 18 EmployeeTest.cs (3 of 3)

 2006 Pearson Education, Inc. All rights reserved. 19 readonly Üye Değişkenler readonly üye değişkenlerin değerleri sonradan değiştirilemez. Bu değişkenlere ya deklare edildiklerinde bir ilk değer ataması yapılır ya da atama işlemi bir constructor içerisinde gerçekleştirilir.

 2006 Pearson Education, Inc. All rights reserved. 20 Increment.cs Declare readonly instance variable Initialize readonly instance variable inside a constructor

 2006 Pearson Education, Inc. All rights reserved. 21 IncrementTest.cs Create an Increment object Call method AddIncrementToTotal

 2006 Pearson Education, Inc. All rights reserved. 22 Hatırlatma.... readonly tanımlanan üye değişkenleri sınıfın bütün nesnelerinde farklı kopya değerleri ile temsil edilirler. Eğer bütün nesneler için aynı sabit değere sahip bir üye değişken isteniyorsa bu durumda const kullanılmalıdır. const sanki dolaylı olarak tanımlanmış sabit bir statik değişken gibi değerlendirilir.

 2006 Pearson Education, Inc. All rights reserved. 23 Class View ve Object Browser Two features of Visual Studio to facilitate object-oriented applications – Class View Window (Fig. 9.21) Display the fields and methods for all classes in project When a class is selected, the class’s members are shown on the lower half of the window – Object Browser (Fig. 9.22) Lists all classes in the C# library (left frame) - Learn the functionality provided by specific classes Methods provided on the upper-right frame Description of members appears in the lower-right frame

 2006 Pearson Education, Inc. All rights reserved. 24 Fig | Class View of class Time1 (Fig. 9.1) and class TimeTest (Fig. 9.2).

 2006 Pearson Education, Inc. All rights reserved. 25 Fig | Object Browser for class Math.

 2006 Pearson Education, Inc. All rights reserved. 26 Kalıtım (inheritance) bir yazılımın tekrar tekrar kullanılabilmesine ve mevcut sınıflardan (base class) yeni sınıflar (derived class) oluşturulabilmesine imkan verir. Bu sayede yeni oluşan sınıf eski sınıfın üye değişkenleri ve metodlarını kullanabilmenin yanında kendisinin belirleyeceği yeni veya ek özellikleri de programına eklemiş olur. Kalıtım (Inheritance)

 2006 Pearson Education, Inc. All rights reserved. 27 Kalıtım Örnekleri

 2006 Pearson Education, Inc. All rights reserved. 28 Kalıtım Hiyerarşisi

 2006 Pearson Education, Inc. All rights reserved. 29 protected erişim public ile private arasında bir yerde bulunur. protected üye değişkenleri hem base class ve hem de derived class tarafından erişilebilir. derived class ın nesneleri base class ın private olarak tanımlanmış üye değişkenlerine erişemezler. Derived class ın nesneleri bu tür üye değişkenlere sadece public tanımlanmış base class metodları ile ulaşabilirler. protected Erişim

 2006 Pearson Education, Inc. All rights reserved. 30 CommissionEmployee First name, last name, SSN, commission rate, gross sale amount BasePlusCommissionEmployee First name, last name, SSN, commission rate, gross sale amount Base salary base Class-derived Class İlişkisi

 2006 Pearson Education, Inc. All rights reserved. 31 C#’ta bütün sınıflar System.Object sınıfından türetilmiştir. Dolayısıyla bütün sınıflar System.Object sınıfının tüm metodlarını kullanabilirler. Bir sınıfın dolaylı olarak belirtilmese bile ima yoluyla System.Object sınıfından türetildiği bilinmelidir. Bir base class ın bir metodunun işlevi aynı metod adıyla derived class içerisinde değiştirilmek isteniyorsa metod override anahtar kelimesiyle tanımlanmalıdır. Derived class içerisinde override edilmesi muhtemel metodlar base class içerisinde virtual anahtar kelimesiyle tanımlanmalıdırlar. Yapıcılar kalıtım kapsamına girmezler. Derived class ların yapıcıları ilk iş olarak base class ın yapıcısını çağırırlar. class CommissionEmployee

 2006 Pearson Education, Inc. All rights reserved. 32 CommissionEmployee.cs (1 of 4) Class CommissionEmployee extends class object Implicit call to object constructor Initialize instance variables Declare private instance variables Invoke properties GrossSales and CommissionRate to validate data

 2006 Pearson Education, Inc. All rights reserved. 33 CommissionEmployee.cs (2 of 4)

 2006 Pearson Education, Inc. All rights reserved. 34 CommissionEmployee.cs (3 of 4)

 2006 Pearson Education, Inc. All rights reserved. 35 CommissionEmployee.cs (4 of 4) Calculate earningsOverride method ToString of class object

 2006 Pearson Education, Inc. All rights reserved. 36 CommissionEmployee Test.cs (1 of 2) Instantiate CommissionEmployee object Use CommissionEmployee ’s properties to retrieve and change the object’s instance variable values

 2006 Pearson Education, Inc. All rights reserved. 37 CommissionEmployee Test.cs (2 of 2) Implicitly call the object’s ToString method

 2006 Pearson Education, Inc. All rights reserved. 38 CommissionEmployee sınıfını tanımlarken kullanılan programa çok benzer. Farklı olarak sadece baseSalary adında private bir üye değişkeni ve BaseSalary adında bir üye metodu eklenmiştir. class BasePlusCommissionEmployee

 2006 Pearson Education, Inc. All rights reserved. 39 BasePlusCommission Employee.cs (1 of 5) Add instance variable baseSalary Use property BaseSalary to validate data

 2006 Pearson Education, Inc. All rights reserved. 40 BasePlusCommission Employee.cs (2 of 5)

 2006 Pearson Education, Inc. All rights reserved. 41 BasePlusCommission Employee.cs (3 of 5)

 2006 Pearson Education, Inc. All rights reserved. 42 BasePlusCommission Employee.cs (4 of 5) Validates data and sets instance variable baseSalary Update method Earnings to calculate the earnings of a base-salaried commission employee

 2006 Pearson Education, Inc. All rights reserved. 43 BasePlusCommission Employee.cs (5 of 5) Update method ToString to display base salary

 2006 Pearson Education, Inc. All rights reserved. 44 BasePlusCommission EmployeeTest.cs (1 of 2) Instantiate BasePlusCommissionEmployee objectUse BasePluCommissionEmployee ’s properties to retrieve and change the object’s instance variable values

 2006 Pearson Education, Inc. All rights reserved. 45 BasePlusCommission EmployeeTest.cs (2 of 2) Implicitly call the object’s ToString method

 2006 Pearson Education, Inc. All rights reserved. 46 Hatırlatma Bir sınıftan kod parçası kopyalayıp başka bir sınıfı oluşturmak muhtemel hataları da beraberinde kopyalamak demektir. Böyle bir yaklaşım yerine (kopyala ve yapıştır) kalıtım kullanmak daha doğrudur.

 2006 Pearson Education, Inc. All rights reserved. 47 BasePlusCommission Employee2.cs (1 of 2) Class BasePluCommissionEmployee2 is a derived class of CommissionEmployee Invoke the base class constructor using the base class constructor call syntax

 2006 Pearson Education, Inc. All rights reserved. 48 BasePlusCommission Employee2.cs (2 of 2) Compiler generates errors because base class’s instance variable are private

 2006 Pearson Education, Inc. All rights reserved. 49 Commission Employee2.cs (1 of 4) Declare protected instance variables

 2006 Pearson Education, Inc. All rights reserved. 50 Commission Employee2.cs (2 of 4)

 2006 Pearson Education, Inc. All rights reserved. 51 Commission Employee2.cs (3 of 4)

 2006 Pearson Education, Inc. All rights reserved. 52 Commission Employee2.cs (4 of 4) Mark Earnings as virtual so the derived class can override the method

 2006 Pearson Education, Inc. All rights reserved. 53 BasePlusCommission Employee3.cs (1 of 2) Must call base class’s constructor

 2006 Pearson Education, Inc. All rights reserved. 54 BasePlusCommission Employee3.cs (2 of 2) Overrides base class’s Earnings method Directly access base class’s protected instance variables

 2006 Pearson Education, Inc. All rights reserved. 55 BasePlusCommission EmployeeTest3.cs (1 of 2) Instantiate BasePlusCommissionEmployee3 object Use BasePluCommissionEmployee3 ’s properties to retrieve and change the object’s instance variable values

 2006 Pearson Education, Inc. All rights reserved. 56 BasePlusCommission EmployeeTest3.cs (2 of 2) Implicitly call the object’s ToString method

 2006 Pearson Education, Inc. All rights reserved. 57 Equals Finalize GetHashCode GetType MemberwiseClone ReferenceEquals ToString System.Object Sınıfının Metodları

 2006 Pearson Education, Inc. All rights reserved. 58

 2006 Pearson Education, Inc. All rights reserved. 59