ebook img

Adım Adım Visual C# 2008 PDF

696 Pages·2009·6.163 MB·696\696
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Adım Adım Visual C# 2008

Adım Adım Microsoft Visual C# 2008 ® ® John Sharp Çeviri: Ümit Tezcan arkadaþ YAYINEVÝ Yuva Mahallesi 3702. Sokak No: 4 Yenimahalle / Ankara Tel:+90-312 394 62 70 (pbx) Faks: +90-312 394 62 85 e-posta: [email protected] www.arkadas.com.tr Yayıncı Sertifika No: 12382 Orijinal Ýngilizce Baský: Microsoft Visual C# 2008 Step By Step, John Sharp © Copyright 2008, John Sharp ORÝJÝNAL YAYINCI Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 ile yapýlan anlaþma sonucu tüm haklarýyla yayýmlanmýþtýr. © Türkçe yayým haklarý arkadaþ yayýnevinindir. Yayýncýnýn yazýlý izni olmadan, hiçbir biçimde ve hiçbir yolla, bu kitabýn içeriðinin bir kýsmý ya da tümü yeniden üretilemez, çoðaltýlamaz ve daðýtýlamaz. ISBN 978-975-509-614-8 ANKARA, 2009 Çeviri : Ümit Tezcan Proje Editörü : M. Selim Tosun Yayına Hazırlık : Zeynep Kopuzlu Sayfa Düzeni : Emine Özyurt Baský : Ankamat Matbaacılık Microsoft, Microsoft Press, MSDN, SQL Server, Excel, Intellisense, Internet Explorer, Jscript, Silverlight, Visual Basic, Visual C#, Visual Studio, Win32, Windows, Windows Server ve Windows Vista Amerika Birleşik Devletleri ve/veya diğer ülkelerde Microsoft Corporation’ın kayıtlı ticari markaları ya da ticari markalarıdır. Kitapta geçen diğer ürün ve şirket adları sahiplerinin ticari markaları olabilir. Kitapta geçen örnek şirketler, kuruluşlar, ürünler, etki alanı adları, e-posta adresleri, logolar, kişiler, yerler ve olaylar tümüyle gerçekdışıdır. Herhangi bir gerçek şirket, kuruluş, ürün, etki alanı adı, e-posta adresi, logo, kişi, yer ve olayla bir ilişki kurulmamıştır ya da bu biçimde anlaşılmamalıdır. Bir Bakışta İçindekiler Kısım I Microsoft Visual C# ve Microsoft Visual Studio 2008’e Giriş 1 C#’a Hoşgeldiniz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Değişkenler, İşleçler ve Deyimlerle Çalışmak . . . . . . . . . . . . . . . 29 3 Yöntemler Yazmak ve Kapsam Uygulamak . . . . . . . . . . . . . . . . . 49 4 Karar İfadeleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5 Bileşik Atama ve Yineleme İfadeleri Kullanmak . . . . . . . . . . . . . 85 6 Hatalar ve Özel Durumları Yönetmek . . . . . . . . . . . . . . . . . . . . 103 Kısım II C# Dilini Anlamak 7 Sınıflar ve Nesneleri Yaratmak ve Yönetmek . . . . . . . . . . . . . . 123 8 Değerleri ve Başvuruları Anlamak . . . . . . . . . . . . . . . . . . . . . . . 145 9 Numaralandırma ve Yapılar ile Değer Türleri Yaratmak . . . . . 167 10 Dizileri ve Koleksiyonları Kullanmak . . . . . . . . . . . . . . . . . . . . . 185 11 Parametre Dizilerini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 12 Kalıtım ile Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 13 Arabirimler Yaratmak ve Soyut Sınıflar Tanımlamak . . . . . . . . 239 14 Çöp Toplama ve Kaynak Yönetimini Kullanmak . . . . . . . . . . . . 257 Kısım III Bileşenler Yaratmak 15 Alanlara Erişmek İçin Özellikler Uygulamak . . . . . . . . . . . . . . . 275 16 Dizinleyicileri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 17 Program Akışını Kesmek ve Olayları İşlemek . . . . . . . . . . . . . . 311 18 Generics’e Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 19 Koleksiyonları Numaralandırmak . . . . . . . . . . . . . . . . . . . . . . . 355 20 Sorgu Deyimlerini Kullanarak Bellekteki Veriyi Sorgulamak . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 21 İşleç Aşırı Yüklemesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 iii iv Bir Bakışta İçindekiler Kısım IV Windows Uygulamaları ile Çalışmak 22 Windows Presentation Foundation’a Giriş . . . . . . . . . . . . . . . . 415 23 Menüler ve İletişim Kutularıyla Çalışmak . . . . . . . . . . . . . . . . . 451 24 Doğrulamayı Gerçekleştirmek . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Kısım V Veriyi Yönetmek 25 Bir Veritabanında Bilgi Sorgulamak . . . . . . . . . . . . . . . . . . . . . . 499 26 Veri Bağlamayı Kullanarak Veriyi Görüntülemek ve Düzenlemek . . . . . . . . . . . . . . . . . . . . 529 Kısım VI Web Uygulamaları Oluşturmak 27 ASP .NET’e Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 28 Web Formları Doğrulama Denetimlerini Anlamak . . . . . . . . . 587 29 Bir Web Sitesinin Güvenliğini Sağlamak ve Web Formlarıyla Verilere Erişmek . . . . . . . . . . . . . . . . . . . . . . . 597 30 Bir Web Servisi Yaratmak ve Kullanmak . . . . . . . . . . . . . . . . . . 623 İçindekiler Teşekkürler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Kısım I Microsoft Visual C# ve Microsoft Visual Studio 2008’e Giriş 1 C#’a Hoşgeldiniz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Visual Studio 2008 Ortamını Kullanarak Programlamaya Başlamak . . . . . . . . . .3 İlk Programınızı Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Ad Alanlarını Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Grafiksel Uygulama Yaratmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Bölüm 1 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2 Değişkenler, İşleçler ve Deyimlerle Çalışmak . . . . . . . . . . . . . . . . 29 İfadeleri Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Tanımlayıcıları Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Anahtar Sözcükleri Tanımlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Değişkenleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Değişkenleri Adlandırmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Değişkenleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Temel Veri Türleri ile Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Temel Veri Türü Değerlerini Görüntülemek . . . . . . . . . . . . . . . . . . . . . . . . 34 Aritmetik İşleçleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 İşleçler ve Türler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Aritmetik İşleçleri İncelemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Önceliği Denetlemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 İşlemleri Gerçekleştirmek İçin Birleşim Özelliğini Kullanmak . . . . . . . . . . 44 Birleşim ve Atama İşleci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 v vi İçindekiler Değişkenleri Artırmak ve Azaltmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Önek ve Sonek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Kapalı Türde Yerel Değişkenleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Bölüm 2 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3 Yöntemler Yazmak ve Kapsam Uygulamak . . . . . . . . . . . . . . . . . 49 Yöntemleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Yöntem Bildirme Sözdizimini Belirlemek . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 return İfadeleri Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Yöntemleri Çağırmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Yöntemin Çağrılma Sözdizimini Belirlemek . . . . . . . . . . . . . . . . . . . . . . . . . 53 Kapsam Uygulamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Yerel Kapsamı Tanımlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Sınıf Kapsamını Tanımlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Yöntemleri Aşırı Yüklemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Yöntemler Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Bölüm 3 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4 Karar İfadeleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Boolean Değişkenleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Boolean İşleçlerini Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Eşitlik ve İlişkisel İşleçleri Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Koşullu Mantıksal İşleçleri Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 İşleç Önceliği ve Birleşim Özelliğini Özetlemek . . . . . . . . . . . . . . . . . . . . . 70 Karar Vermek için if İfadelerini Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 if İfadesinin Sözdizimini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 İfadeleri Gruplamak için Bloklar Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . 73 if İfadelerini Basamaklamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 switch İfadeleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 switch İfadelerinin Sözdizimini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 switch İfadesi Kurallarını İzlemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Bölüm 4 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5 Bileşik Atama ve Yineleme İfadeleri Kullanmak . . . . . . . . . . . . . 85 Bileşik Atama İşleçleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 while İfadeleri Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 for İfadeleri Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 for İfadesinin Kapsamını Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 İçindekiler vii do İfadeleri Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Bölüm 5 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6 Hatalar ve Özel Durumları Yönetmek . . . . . . . . . . . . . . . . . . . . . 103 Hatalarla Başa Çıkmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Kodu Denemek ve Özel Durumları Yakalamak . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Bir Özel Durumu İşlemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Birden Çok catch İşleyici Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Birden Çok Özel Durumu Yakalamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Denetimli ve Denetimsiz Tamsayı Aritmetiği Kullanmak . . . . . . . . . . . . . . . . . . 111 Denetlenmiş İfadeler Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Denetlenmiş Deyimler Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Özel Durumlar Oluşturmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Bir finally Bloğu Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Bölüm 6 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Kısım II C# Dilini Anlamak 7 Sınıflar ve Nesneleri Yaratmak ve Yönetmek . . . . . . . . . . . . . . . 123 Sınıflandırmayı Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Kapsüllemenin Amacı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Bir Sınıfı Tanımlamak ve Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Erişilebilirliği Denetlemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Kurucularla Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Kurucuları Aşırı Yüklemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 static Yöntemleri ve Verileri Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Paylaşılan Bir Alan Yaratmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 const Anahtar Sözcüğünü Kullanarak bir static Alan Yaratmak . . . . . . 137 Bölüm 7 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 8 Değerleri ve Başvuruları Anlamak . . . . . . . . . . . . . . . . . . . . . . . . 145 Veri Türü Değişkenleri ve Sınıfları Kopyalamak . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Null Değerleri ve Null Türlerini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Boş Olabilen Türleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Boş Olabilen Türlerin Özelliklerini Anlamak . . . . . . . . . . . . . . . . . . . . . . . 152 ref ve out Parametrelerini Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 ref Parametreleri Yaratmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 out Parametreleri Yaratmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 viii İçindekiler Bilgisayar Belleği Nasıl Düzenlenir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Yığın ve Öbek Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 System.Object Sınıfı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Kutulamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Kutulamayı Kaldırmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Verileri Güvenli Olarak Dönüştürmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 is İşleci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 as İşleci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Bölüm 8 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 9 Numaralandırma ve Yapılar ile Değer Türleri Yaratmak . . . . . . 167 Numaralandırmalarla Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Bir Numaralandırma Türü Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Numaralandırma Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Numaralandırma Kalıp Değerlerini Seçmek . . . . . . . . . . . . . . . . . . . . . . . 169 Bir Numaralandırmanın Arka Plandaki Türünü Belirlemek . . . . . . . . . . . 170 Yapılarla Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Bir Yapı Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174 Yapı ve Sınıf Farklarını Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Yapı Değişkenleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Yapı Başlatmayı Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Yapı Değişkenlerini Kopyalamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Bölüm 9 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 10 Dizileri ve Koleksiyonları Kullanmak . . . . . . . . . . . . . . . . . . . . . . 185 Dizi Nedir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Dizi Değişkenleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Bir Dizi Oluşumu Yaratmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Dizi Değişkenlerini Başlatmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Örtülü Yazılmış Dizi Yaratmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Dizi Öğelerine Tek Tek Erişmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Bir Dizi Boyunca Yineleme Yapmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Dizileri Kopyalamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Koleksiyon Sınıfları Nedir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 ArrayList Koleksiyon Sınıfı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Queue Koleksiyon Sınıfı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Stack Koleksiyon Sınıfı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Hashtable Koleksiyon Sınıfı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 SortedList Koleksiyon Sınıfı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 İçindekiler ix Koleksiyon Başlatıcılarını Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Dizileri ve Koleksiyonları Karşılaştırmak . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Kart Oyunu Oynamak İçin Koleksiyon Sınıflarını Kullanmak . . . . . . . . . 201 Bölüm 10 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 11 Parametre Dizilerini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Dizi Bağımsız Değişkenlerini Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Bir params Dizisi Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 params object[ ] Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Bir params Dizisi Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Bölüm 11 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 12 Kalıtım ile Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Kalıtım Nedir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Kalıtımı Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Temel Sınıflar ve Türetilmiş Sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Temel Sınıf Kurucularını Çağırmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Sınıflar Atamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 new Yöntemleri Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Virtual (Sanal) Yöntemler Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 override Yöntemler Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 protected Erişimi Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Uzantı Yöntemlerini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Bölüm 12 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 13 Arabirimler Yaratmak ve Soyut Sınıflar Tanımlamak . . . . . . . . . 239 Arabirimleri Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Arabirim Sözdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Arabirim Kısıtlamaları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Bir Arabirim Uygulamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Bir Sınıfa Arabirimi Üzerinden Başvurmak . . . . . . . . . . . . . . . . . . . . . . . . . 243 Çoklu Arabirimlerle Çalışmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Soyut Sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Soyut Yöntemler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Mühürlenmiş Sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Mühürlenmiş Yöntemler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Genişletilebilir Çerçeve Uygulamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Anahtar Sözcük Bileşimlerini Özetlemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Bölüm 13 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 x İçindekiler 14 Çöp Toplama ve Kaynak Yönetimini Kullanmak . . . . . . . . . . . . 257 Bir Nesnenin Ömrü ve Ömür Uzunluğu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Yıkıcılar Yazmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Neden Çöp Toplayıcı Kullanılır? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Çöp Toplayıcı Nasıl Çalışır? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Öneriler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Kaynak Yönetimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Yok Etme Yöntemleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Özel Durum-Güvenli Yok Etme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263 using İfadesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Bir Yıkıcıdan Dispose Yöntemini Çağırmak . . . . . . . . . . . . . . . . . . . . . . . . 266 Kodu Özel Durum-Güvenli Yapmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Bölüm 14 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Kısım III Bileşenler Yaratmak 15 Alanlara Erişmek İçin Özellikler Uygulamak . . . . . . . . . . . . . . . . 275 Yöntemleri Kullanarak Kapsülleme Uygulamak . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Özellikler Nelerdir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Özellikleri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Salt Okunur Özellikler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Salt Yazılır Özellikler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Özellik Erişebilirliği . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Özellik Kısıtlamalarını Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Arabirim Özelliklerini Bildirmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Özellikleri Bir Windows Uygulamasında Kullanmak . . . . . . . . . . . . . . . . . 285 Otomatik Özellikler Üretmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Özellikleri Kullanarak Nesneleri Başlatmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Bölüm 15 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 16 Dizinleyicileri Kullanmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Dizinleyici Nedir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Dizinleyici Kullanmayan Bir Örnek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Aynı Örneğin Dizinleyici Kullanan Biçimi . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Dizinleyici Erişimcilerini Anlamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Dizinleyicilerle Dizileri Karşılaştırmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Arabirimdeki Dizinleyiciler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Dizinleyicileri Bir Windows Uygulamasında Kullanmak . . . . . . . . . . . . . . . . . . . 303 Bölüm 16 Hızlı Başvuru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.