NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014)
//Class (Sınıf)
//
Sınıf (class) soyut veri tipidir.
//
Nesne (object) sınıfın somutlaşan bir cismidir.
//
static
: nesnesi oluşturulmaz.
//
non-static
: nesnesi oluşturulabilir.
//
static sınıf içerisinde sadece static metot bulunur
//
static olmayan sınıf içerisinde static veya static olmayan metot bulunabilir
//Sınıf Üyeleri:
//
Değişkenler
//
Özellikler
//
Metotlar
//
Olaylar
//
Delegeler
//Erişim İzinleri
: Herhangi bir sınıf veya sınıf üyesine erişim türü
//
public
: Genel erişim. Bütün sınıflar erişebilir.
//
private
: Özel erişim. Sadece tanımlandığı sınıf erişebilir.
//
protected
: Korumalı erişim. Tanımlandığı sınıf ve miras alan sınıflar erişebilir.
//
internal
: Aynı isim alanındaki diğer sınıflar erişebilir.
//
protected internal
: Aynı isim alanında olan sınıf veya miras alan sınıflar erişebilir.
static void Main(string[] args) //metot
{
//Sınıf1.Topla(5,2);
Sınıf1.Metot1();
Sınıf2.Metot2();
}
class Sınıf1
{
private static int Topla(int a, int b) { return a + b; }
public static int Çıkarma(int a, int b) { return a - b; }
protected static int Çarp(int a, int b) { return a * b; }
public static void Metot1()
{
Console.WriteLine(Topla(3,5));
}
class Sınıf2 : Sınıf1
{
public static void Metot2()
{
Console.WriteLine(Çarp(3,5));
}
}
//Öğrenci sınıfı oluşturulur
//Öğrencinin Adı, Doğum Yılı belirlenir
//Doğum Yılının sadece 1990 ile 2000 arasında değer olması sağlanır.
//
(varsayılan doğum yılı 1990 kabul edilir)
//Öğrencinin doğum yılına göre yaşını hesaplayan özellik oluşturulur
//Öğrencinin Adını ve Yaşını gösteren ToString metodunu oluşturulur
static void Main(string[] args)
{
Öğrenci öğr1 = new Öğrenci() { Ad = "ali", DogumYil = 1980 };
Öğrenci öğr2 = new Öğrenci() { Ad = "veli", DogumYil = 2005 };
Öğrenci öğr3 = new Öğrenci() { Ad = "selami", DogumYil = 1995 };
Console.WriteLine(öğr1);
Console.WriteLine(öğr2);
Console.WriteLine(öğr3);
}
class Öğrenci
{
int _dogumyil = 1990;
public string Ad { get; set; }
public int DogumYil
{
get
{
return _dogumyil;
}
set
{
if (value >= 1990 && value <= 2000) _dogumyil = value;
}
}
public int Yas
{
get
{
return DateTime.Now.Year - this.DogumYil;
}
}
public override string ToString()
{
return String.Format("{0} {1}", Ad, Yas);
}
}
//Özellikler
//
Değişken gibi değer alabilen, metotlar gibi kod yazılabilen sınıf üyeleridir
//
İsimlerinden sonra parantez yazılmaz
//
Sadece bir değer alır
//
Sadece bir değer geri döndürür
//
Atama işlemlerinde eşitliğin sağında veya solunda bulunabilirler
//
Özelliğin iki kısmı vardır.
//
get (almak)
: Özellik değerini elde etmek için kullanılır
//
set (kurmak)
: Özellik değerini değiştirmek için kullanılır
static void Main(string[] args)
{
X = 5;//set
int a = X;//get
Console.WriteLine(a);
Y = 8;
int b = Y;
Console.WriteLine(b);
}
//değişken gibi değer alabilen özellik
public static int X { get; set; }
//metot gibi kod yazılabilen özellik
static int _y=13;
public static int Y
{
get { return _y; }
set
{
if (value >= 1 && value <= 50)
_y = value;
}
}
//Metotlar:
//
Kod bloklarının tekrar kullanılmasını sağlayan sınıf üyeleridir
//
İsimlerinden sonra parantez yazılır
//
Birden fazla değer alabilir
//
Birden fazla değer döndürebilir
//
Atama işlemlerinde eşitliğin sol tarafında yer almaz
//
//
//
Metot() = 5; //hatalı kullanım
int a=Metot();
Metot içerisinde metot tanımlanamaz
//Metot Tanımlama:
//
Erişim_türü static? veri_türü metot_adı(parametreler){ ... }
//
Aynı metot isimleri birden fazla tanımlanabilir
//
Aynı isimdeki metotların parametre veri tipleri veya parametre sayıları farklı olmalıdır
static void Main(string[] args)
{
Yaz();
Yaz("veli");
Yaz("selami", 11);
Bekle(3);
Yaz("oya", 30, 15);
Yaz("ipek", 20, 5, 14);
Bekle();
}
public static void Bekle()
{
Console.Read();
}
static void Bekle(int saniye)
{
System.Threading.Thread.Sleep(saniye * 1000);
}
public static void Yaz()
{
Yaz("ali");
}
public static void Yaz(string s)
{
Console.WriteLine(s);
}
public static void Yaz(string s, int renk)
{
Renk(renk);
Yaz(s);
}
public static void Yaz(string s, int sol, int üst)
{
Git(sol, üst);
Yaz(s);
}
public static void Yaz(string s, int sol, int üst, int renk)
{
Renk(renk);
Git(sol, üst);
Yaz(s);
}
public static void Renk(int renk)
{
Console.ForegroundColor = (ConsoleColor)(renk % 16);
}
public static void Git(int sol, int üst)
{
Console.CursorLeft = sol;
Console.CursorTop = üst;
}
//Metotlardan değer döndürme
//İki sayının toplamını hesaplayan metot
static void Main(string[] args)
{
int x = Topla(4, 5);
Console.WriteLine(x);
Console.WriteLine(Topla(2, 6));
}
static void Metot() { /*...*/ return; }
static int Topla(int a, int b) { return a + b; }
//Metotlardan birden fazla değer elde etme
//out: metottan değer almak için kullanılır
//ref: metoda değer göndermek ve metottan değer almak için kullanılır
//İki sayının toplamını ve farkını hesaplayan metot
static void Main(string[] args)
{
int t = 9, f;
İşlem(6, 2, ref t, out f);
Console.WriteLine("Toplam:{0}, Fark:{1}", t, f);
}
static void İşlem(int a, int b, ref int toplam, out int fark)
{
toplam = a + b + toplam;
fark = a - b;
}
//Rastgele üretilen 100 sayının toplamını ve ortalamasını hesaplayan metot
static void Main(string[] args)
{
Random rnd = new Random();
int[] dizi = new int[100];
for (int i = 0; i < dizi.Length; i++)
dizi[i] = rnd.Next(1000);
int toplam;
double ortalama;
İstatistik(dizi, out toplam, out ortalama);
Console.WriteLine("Toplam:{0}, Ortalama:{1}", toplam, ortalama);
}
static void İstatistik(int[] dizi, out int toplam, out double ortalama)
{
toplam = 0;
foreach (var item in dizi)
toplam += item;
ortalama = (double)toplam / dizi.Length;
}
//Metotların farklı miktarlarda parametre alabilmesi
//topla(1,2)
//topla(1,2,3)
//topla(1,2,3,4)
//iki veya üç sayının toplamını bulan metot.
static void Main(string[] args)
{
Console.WriteLine(Topla(1, 2));
Console.WriteLine(Topla(1, 2, 3));
}
static int Topla(params int[] dizi )
{
int top = 0;
foreach (var item in dizi)
top += item;
return top;
}
//Kelimeleri birleştiren metot.
//Kelime aralarında istenen işaret olacak
//ali topu tut -> ali,topu,tut
static void Main(string[] args)
{
Console.WriteLine(Birleştir('-', "ali", "topu", "tut","sakın","bırakma"));
}
static string Birleştir(char ayraç, params string[] kelimeler)
{
string s = "";
foreach (var item in kelimeler)
s += item + ayraç.ToString();
s=s.TrimEnd(ayraç);
return s;
}
------------------------------------------ VİZE ----------------------------------
Download

NTP_DersUygulama