Temel C# 5. Gün: Sınıflar

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
{
// üye değişkenler
<erişim belirteci> <veri tipi> degisken1;
<erişim belirteci> <veri tipi> degisken2;
.
.
.
<erişim belirteci> <veri tipi> degiskenN;

// üye metodlar
<erişim belirteci> <döndüreceği değer tipi> metod1(parametre listesi)
{
// metod içeriği
}
<erişim belirteci> <döndüreceği değer tipi> metod2(parametre listesi)
{
// metod içeriği
}
...
<erişim belirteci> <döndüreceği değer tipi> metodN(parametre listesi)
{
// metod içeriği
}
}

Ş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
{
// üye değişkenlerimiz.
private decimal en;
private decimal boy;
private decimal yukseklik;

// üye fonksiyonlarımız.
public void enBelirle(decimal e)
{
// this anahtar kelimesi o an üzerinde çalışılan
// nesneye erişimi sağlar.
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)
{
// kutumuz isimli Kutu sınıfına üye bir nesne oluşturuyoruz.
Kutu kutumuz = new Kutu();

// oluşturduğumuz nesnenin özelliklerini
// belirliyoruz.
kutumuz.enBelirle(5);
kutumuz.boyBelirle(3);
kutumuz.yukseklikBelirle(2);

// girdiğimiz değerlerin doğruluğunu ekrana
// yazdırarak test ediyoruz.
kutumuz.enGoster();
kutumuz.boyGoster();
kutumuz.yukseklikGoster();

// nesnemizin hacimHesapla fonksiyonunu çağırıyoruz.
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