C# ile nesne programlama



Benzer belgeler
1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 PROGRAMLAMAYA GİRİŞ

PROGRAMLAMA TEMELLERİ DERSİ

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Maltepe Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Nesneye Yönelik Programlama (BİL 202)

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

1 JAVASCRIPT NEDİR? 1

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

İÇİNDEKİLER VII İÇİNDEKİLER

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

I Java Veri Yapıları 1

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Döngüler. Tablo 15.1: Ruby de Başlıca Döngü Yapıları

Programlama Dilleri II

HSancak Nesne Tabanlı Programlama I Ders Notları

Java da Program Denetimi ve Operatörler

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

4. Bölüm Programlamaya Giriş

BMH-303 Nesneye Yönelik Programlama

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Aritmetik Operatörleri

// hataları işaret eden referans

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Java da İşleçler, Ders #3 (4 Kasım 2009)

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama

Dizi ( Array ) ve Dizgi ( String )

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

BLM 111 Algoritma ve Programlama I Güz 2018

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

Nesne Yönelimli Programlama

çindekiler 3 Python Programlarn Yürütme Kaynak Program... 24

BTEP243 Ders 3. class Yazım Kuralı:

YZM 2116 Veri Yapıları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Ç NDEK LER 1 MOB L DÜNYA 1 Girifl 1 Mobil Cihazlar 1 Mobil Cihazlar n Devrimi 5 iphone 6 Blackberry 6 Android flletim Sistemli Cihazlar 7 Windows

Nesne Yönelimli Programlama

BİL-142 Bilgisayar Programlama II

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

SCHAUM'S. outlines. Mühendisler için. Termodinamik. Thermodynamics for Engineers. Çeviri Editörü. Prof. Dr. Hüsamettin Bulut.

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

NESNE TABANLI PROGRAMLAMA

Internet Programming II

AVRASYA ÜNİVERSİTESİ

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER KARAR KONTROL DEYİMLERİ

Karşılaştırma İşlemleri ve Koşullu İfadeler

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

ALGORİTMA VE PROGRAMLAMA II

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

Akış Konrol Mekanizmaları

C Dersleri Bölüm 3 : Program akışı

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

YZM 2105 Nesneye Yönelik Programlama

Programlama Dilleri 3

Programlama Dilleri 3

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Ders 8: Metotlar. barisgokce.com

11- FONKSİYONLAR (FUNCTIONS)

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

kpss ezberbozan serisi MATEMATİK GEOMETRİ SORU BANKASI Eğitimde

HSancak Nesne Tabanlı Programlama I Ders Notları

Operator Aşırı Yükleme (Operator OverLoading)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

1 APACHE SERVER KURULUMU 1 Kurulum 1 Apache Ayarları (httpd.conf) 6 PHP Ayarlaları (php.ini) 7 PHP5.4 Yükseltme 8 phpmyadmin Yükseltme 10

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

HSancak Nesne Tabanlı Programlama I Ders Notları

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI Bahar Yarıyılı

7.1- Operatörler ve Giriş-Çıkış İşlemleri. M.İLKUÇAR - 1

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

AOSB 2017 EĞİTİM PROGRAMI

PASCAL PROGRAMLAMA DİLİ YAPISI

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

HSancak Nesne Tabanlı Programlama I Ders Notları

Temel Bilgisayar Programlama

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

YZM 2105 Nesneye Yönelik Programlama

Transkript:

Programlama bilmeyenler için C# ile nesne programlama aybar karaçay Elektrik ve Elektronik Mühendisi timur karaçay Başkent Üniversitesi Öğretim Üyesi ttm Ankara 2008 i

C# ile Nesne Programlama isbn : 978-605-4141-00-5 Aybar Karaçay Elektrik ve Elektronik Mühendisi Prof. Dr. Timur Karaçay Başkent Üniversitesi Öğretim Üyesi ttm Bilişim Eğitim Mühendislik Turizm Ticaret ve Sanayi Ltd. Şti. Kırım Caddesi, 34/5 Emek, 06511 Ankara 0532 795 64 46 http://etudio.biz etudiobiz@yahoo.com etudio@etudio.biz Yayın Sorumlusu Aybar Karaçay Dizgi ttm Baskı Ertem Basım Yayın Dağıtım San ve Tic. Ltd. Şti. 0312 284 18 14 Dağıtım Seçkin Yayıncılık A.Ş. Sağlık Sokak 19-21 Sıhhiye Ankara 0312 435 30 30 Bu kitabın bütün yayın hakları ttm Ltd. Şti.'ne aittir. Yazılı izin olmaksızın kısmen veya tamamen alıntı yapılamaz, kopya edilemez, herhangi bir yöntemle çoğaltılamaz, basılamaz. Birinci Basım : Ankara, 2008 ii a.karaçay t.karaçay : C# ile Nesne Programlama

Sevgili annem, Sevgili eşim Nursel'e, Aybar Timur iii

iv a.karaçay t.karaçay : C# ile Nesne Programlama

İçindekiler Bölüm 01 Programlamanın Temelleri 1 C# Nedir? 2 Programlamanın Evreleri 3 Program Yazmaya Giriş 3 Kaynak Programın Biçemi 8 Programa Açıklama Ekleme 10 Girdi-Çıktı İşlemleri 10 Konsol Akım Yolları 12 Veri Tipleri, Değişkenler ve Metotlar 13 Atama deyimi 14 Parametre 15 Metot kavramı 16 Write(), WriteLine Metotları 18 Geçerlilik Bölgesi (scope) 22 Dizi (aray) 24 For döngüsü 25 Bilgisayarda bellek 26 Çöp Toplayıcı 27 Bölüm 02 Visual Studio Ortamı 31 Visual Studio Express Editions 31.NET Framework 32 Visual C# Arayüzü 33 Visual Studio Express Editions 42 Bölüm 03 Sınıflar ve Nesneler 45 Sınıf Nedir? 45 Sınıf Bildirimi 46 Sınıf ve Nesne 47 new operatörü ile Nesne Yaratmak 48 Nesnenin Öğelerine Erişim 50 Aşkın Operatör 52 Yer Tutucu Operatör 52 Genkurucu (default constructor) 54 this anahtarı 58 Bölüm 04 Kurucular ve Yokediciler (Constructors and Destructors) 63 Kurucu Nedir? 63 new operatörü 63 Statik ve Dinamik Öğelere Erişim 67 Kurucular 68 Parametreli Kurucular 71 Aşkın Kurucular 73 Statik Kurucular 75 Yokediciler 76 Bölüm 05 Veri Tipleri ve Değişkenler 81 Veri Tipi Kavramı 81 Değişken Kavramı 82 Değer tipleri, referans tipleri 83 v

Sayısal Değişkenler 84 char 86 String Veri Tipi 87 Boolean Veri Tipi 88 Veri tipleri arasında dönüşüm (casting) 89 Bölüm 06 Operatörler 93 Aritmetik Operatörler 93 ++ ve -- operatörleri 98 Atama Operatörleri 103 İlişkisel Operatörler 105 Mantıksal Operatörler 106 Bitsel Operatörler 109 Operatör Öncelikleri 110 Bölüm 07 Array Sınıfı 113 Array Nedir? 113 [] operatörü 114 Array'in Bileşenleri 115 Seçkili (random) Erişim 118 Array Türleri 121 Array Sınıfı 128 Bölüm 08 Program Akışının Denetimi 131 Blok 131 if deyimleri 132 if-else 134 else-if 135 switch 138 Bölüm 09 Döngüler 145 for döngüsü 145 break ve continue deyimleri 148 while döngüsü 151 do while döngüsü 152 foreach döngüsü 155 Bölüm 10 Statik ve Dinamik Öğeler 157 Statik ve Dinamik Öğeler 157 Neden Nesne Yönelimli Programlama 158 Statik Öğelere Erişim 159 Bölüm 11 Erişim Belirteçleri 167 Erişim Belirteci Nedir? 167 public, protected, internal, private, protected internal 168 Bölüm 12 Metotlar 175 Metot Nedir? 175 Parametreler ve yerel değişkenler 177 Main() Metodu 178 Hazır Metotlar 183 vi a.karaçay t.karaçay : C# ile Nesne Programlama

System:math Sınıfı 183 Özyineli (recursive) metotlar 186 Kullanıcının Tanımladığı Metotlar 189 Bölüm 13 Yapılar 197 Yapı nedir? 197 Yapı Bildirimi 198 new operatörü ile Yapı nesnesi Yaratma 198 Sınıf İçinde Yapı Bildirimi 199 new Operatörü Kullanmadan Yapı Nesnesi Yaratma 200 İç-içe Yapılar 202 Yapılar İçinde Metotlar 202 Yapının Statik Değişkenleri 203 Yapılar ve Kurucular 204 Struct ve Kalıtım 205 Bölüm 14 Özgenler (properties) 207 Erişimciler (accessors) 207 Bölüm 15 String Sınıfı 211 string sınıfının özgenleri 212 string'in değişmezliği 213 string metotları 213 Bölüm 16 Char Yapısı 233 Bilgisayarlar Alfabe Bilmez 233 ASCII ve Unicode Sistemleri 234 Char yapısının metotları 238 Bölüm 17 Kalıtım 243 Kalıtım Kavramı 243 Mesaj İletme 244 Polimorfizm 247 Bölüm 18 Kapsülleme (Encapsulation) 251 Kapsülleme kavramı 251 Özgenlerle kapsülleme 252 Yalnız-okunur Özgen 253 Yalnız-yazılır Özgen 254 Bölüm 19 Arayüzler (interfaces) 255 Arayüz Nedir? 255 Arayüz bildirimi 256 Arayüz Türetme 261 Bölüm 20 Koleksiyonlar (Collections) 263 Koleksiyon Sınıfları 263 Ön-tanımlı Koleksiyonlar 264 Bölüm 21 vii

Delegeler 275 Aracısız Metot Çağırma 275 Delege Bildirimi 276 Delege İle Statik Metot Çağırma 277 Delege İle Dinamik Metot Çağırma 278 Bölüm 22 Kutulama (Boxing) 283 Değer tipinden Referans Tipine Dönüşüm 283 Referans Tipinden Değer Tipine Dönüşüm 284 Kutudan Başka Tip Çıkar mı? 288 Kutuyu Örtüsüz Dönüşümle Açma (Explicit Casting) 289 Bölüm 23 Sıralama ve Arama 291 Sıralama ve Arama kavramı 291 Sıralama örnekleri 292 Arama Algoritmaları 296 Bölüm 24 İndeksci 299 İndeksci Nedir? 299 İndeksleme Örnekleri 300 Aşkın İndeksçi 303 Bölüm 25 Numaratör (enumerator) 307 Numaratör Nedir? 307 Numaralama Örnekleri 308 Bölüm 26 Çıktıyı Biçemli Yazdırma 311 Neden Biçemleme 311 Sayıların Biçemlenmesi 312 String Biçemleme 312 Sola/sağa yanaşık yazma 313 {} Yer Tutucu Operatörü 314 Sayısal Biçem Belirtgenleri 315 Simgesel Biçemler 317 ToString() Metodu 321 Bölüm 27 String 'den Sayıya Dönüşüm 327 Convert Sınıfı 328 Parse() Metotları 330 Biçemli String 'e Dönüşen Sayıların Ters Dönüşümü 331 Sayı Stilleri 336 Kültürler ve Bölgeler 337 Thread Sınıfı 338 Bölüm 28 Tarih İşleme ve Yazdırma Biçemleri 339 DateTime Yapısı 340 DateTime 'ın Öğeleri 340 Yöresellik (Locale) 342 Tarih Biçemleme Metotları 343 Dizin 253 viii a.karaçay t.karaçay : C# ile Nesne Programlama

Sunuş Bu kitap, hiç programlama bilmeyip işe Nesne Yönelimli Programlama'dan başlamak isteyenler için yazılmıştır. Esas olarak, üniversite ve yüksek okullarda programlamaya giriş düzeyinde verilen derslerin kapsamındadır. Serinin birincisi olan bu kitap, programlamanın temel konularını bir sömestrede işlenecek biçimde sunmaktadır. Programlamanın temellerini öğrenmek için kullanılan dilin çok önemi yoktur; çünkü o temeller üst düzey grubundaki Pascal, C, C++, C# ve java gibi herhangi bir dille öğrenilebilir. Bu kitap, C grubunun en gelişmişi olan tamamen nesne yönelimli C# dilini seçmiştir. İkinci kitap, C# 'ın yaratılış nedeni olan görsel programlamayı ele alacaktır. Sınıfta işleniyormuş gibi pedagojik bir yaklaşımla ele alınan konular en basitten başlanarak aralıklı tekrarlamalarla ve örneklerle pekiştirilmiş, her tekrarda konunun derinliği biraz artırılmıştır. 28 bölümden oluşan bu kitabın her bölümü bir derste işlenebilecektir. Böylece, haftada iki ders işlendiğinde 14 haftalık bir sömestrede biten bu kitabı, isteyenler iki hafta içinde okuyup öğrenebilirler. Hiç programlama bilmeden başlayanlar, bu kitabı okuyup bitirdiklerinde, nesne yönelimli programlamayı nasıl kolay öğrendiklerine şaşıracaklardır. a.karaçay t.karaçay Ankara, Eylül 2008 ix

x a.karaçay t.karaçay : C# ile Nesne Programlama