Sınıflar Uzun uzun sınıf mantığını anlatmayacağım. C++ ve Python serilerinden veya üçüncül kaynaklardan sınıflar ile ilgili teorik bilgileri alabilirsiniz. C#’ta sınıflar için varsayılan erişim internal , sınıf üyeleri için varsayılan erişim ise private ‘tır. Şu şekilde tanımlanırlar;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <erişim belirteci> class sinifismi { <erişim belirteci> <veri tipi> degisken1; <erişim belirteci> <veri tipi> degisken2; . . . <erişim belirteci> <veri tipi> degiskenN; <erişim belirteci> <döndüreceği değer tipi> metod1(parametre listesi) { } <erişim belirteci> <döndüreceği değer tipi> metod2(parametre listesi) { } ... <erişim belirteci> <döndüreceği değer tipi> metodN(parametre listesi) { } }
Şimdi yukarıdaki yazım kurallarına uyarak bir sınıf ve o sınıfa üye bir nesne oluşturup kullanalım. Basit örnek;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace siniflar { class Kutu { private decimal en; private decimal boy; private decimal yukseklik; public void enBelirle (decimal e ) { this .en = e; } public void boyBelirle (decimal b ) { this .boy = b; } public void yukseklikBelirle (decimal y ) { this .yukseklik = y; } public void enGoster () { Console.WriteLine("En: " + this .en); } public void boyGoster () { Console.WriteLine("Boy: " + this .boy); } public void yukseklikGoster () { Console.WriteLine("Yükseklik: " + this .yukseklik); } public decimal hacimHesapla () { return (this .en * this .boy * this .yukseklik); } } class Program { static void Main (string [] args ) { Kutu kutumuz = new Kutu(); kutumuz.enBelirle(5 ); kutumuz.boyBelirle(3 ); kutumuz.yukseklikBelirle(2 ); kutumuz.enGoster(); kutumuz.boyGoster(); kutumuz.yukseklikGoster(); Console.WriteLine("" ); Console.WriteLine("Hacim: " + kutumuz.hacimHesapla()); Console.ReadKey(); } } }
Sonraki Bölüm: Kalıtım, Çokbiçimlilik:Temel C# - 6. Gün: Kalıtım, Çokbiçimlilik