static void OutMain() { int a; int b; Ders7RefOut.OutDegistir(out a, out b); Console.WriteLine("{0} - {1}", a, b); }
static void DefMain() { int a = 10; int b = 20; Ders7RefOut.DefDegistir(a, b); // İfade Bunun Gibidir===> Ders7RefOut.DefDegistir(10,20); Console.WriteLine("{0} - {1}", a, b); }
static void RefMain() { int a = 10; int b = 20; Ders7RefOut.RefDegistir(ref a, ref b); Console.WriteLine("{0} - {1}", a, b); }
static void Main(string[] args) { #region 1-Ders Sınıf Tasarımı Console.WriteLine("1-Ders Sınıf Tasarımı"); Ders1Ogrenci ogr1 = new Ders1Ogrenci(); ogr1.Ad = "emre"; ogr1.yas = 18; ogr1.Yazdir(); #endregion Console.WriteLine("-----------------------"); #region 2-Ders Referans, This Operatörü, Namespace Console.WriteLine("2-Ders Referans, This Operatörü, Namespace"); Ders2Ogrenci ogr2 = new Ders2Ogrenci(); ogr2.VeriGir(18, 4); #endregion Console.WriteLine("-----------------------"); #region 3-Ders Metoddların Aşırı Yüklenmesi Console.WriteLine("3-Ders Metodların Aşırı Yüklenmesi"); Ders3Ogrenci ogr3 = new Ders3Ogrenci(); ogr3.VeriGir(20); ogr3.VeriGir(18, 4); int intsonuc = Ders3MathExaples.UstAl(2, 5); double doublesonuc = Ders3MathExaples.UstAl(2.4, 5); Console.WriteLine("2' üzeri 5 : " + intsonuc.ToString()); Console.WriteLine("2.4' üzeri 5 : " + doublesonuc.ToString()); #endregion Console.WriteLine("-----------------------"); #region 4-Ders Erişim Berlileyiciler Console.WriteLine("4-Ders Erişim Belirleyiciler"); Ders4ErisimBelirleyiciler Eb = new Ders4ErisimBelirleyiciler(); Eb.publicVariables1 = 1; Eb.internalVariables3 = 3; Eb.protectedInternalVariables5 = 5; Console.WriteLine(" " + Eb.publicVariables1 + " " + Eb.internalVariables3 + " " + Eb.protectedInternalVariables5); #endregion Console.WriteLine("-----------------------"); #region 5-Ders Constructors (Yapıcı Metodlar) Console.WriteLine("5-Ders Constructors Yapıcı Metodlar"); Ders5Ucret maas = new Ders5Ucret(2); decimal AlinacakUcret = maas.UcretiHesapla(); Console.WriteLine(AlinacakUcret); #endregion Console.WriteLine("-----------------------"); #region 6-Ders Static Metodlar Console.WriteLine("6-Ders Static Metodlar"); Ders6StaticMetod.motor = 20; Console.WriteLine("Static Metoda Direk Erişim " + Ders6StaticMetod.motor); int ValueForm = Ders6StaticMetod.Otobüs(); Console.WriteLine("Metod Dönüşü " + ValueForm); Ders6StaticMetod st = new Ders6StaticMetod(); st.Otomobil(); #endregion Console.WriteLine("-----------------------"); #region 7-Ders Ref Out Referans Console.WriteLine("7-Ders Ref Out Anahtar Kelimeler"); int[] array = { 0, 15, 25, 40, 88 }; int index = 0; int enBuyuk = Ders7RefOut.Ders7RefoutEnBuyugunuBul(array, ref index); Console.WriteLine("En Büyük Sayi : " + enBuyuk + " , " + " İndex Numarası " + index); #endregion Console.WriteLine("-----------------------"); #region Ders8Encapsulation Console.WriteLine("8-Ders Encapsulation"); Ders8Encapsulation Encapsulation = new Ders8Encapsulation(); Console.WriteLine("Boyut değişkenin Get Metodu İle Oku " + Encapsulation.Boyut); Encapsulation.Boyut = 20; Console.WriteLine("Kare'nin Alanı : " + Encapsulation.Alan); #endregion Console.WriteLine("-----------------------"); #region 1-Exaples Sıralama Algoritması Console.WriteLine("Sıralama Algoritması"); string[,] a = new string[3, 3]; int X = 3; int T = 3; int O = 3; Random rastgele = new Random(); int controller = 0; List <ListItem> listeElemani = new List <ListItem>(); listeElemani.Add(new ListItem("X", X)); listeElemani.Add(new ListItem("X", T)); listeElemani.Add(new ListItem("X", O)); listeElemani.Add(new ListItem("T", X)); listeElemani.Add(new ListItem("T", T)); listeElemani.Add(new ListItem("T", O)); listeElemani.Add(new ListItem("O", X)); listeElemani.Add(new ListItem("O", T)); listeElemani.Add(new ListItem("O", O)); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { controller = rastgele.Next(listeElemani.Count); a[i, j] = (listeElemani[controller].name); listeElemani.RemoveAt(controller); } } SortingAlgorithm.ArrayWrite(a); #endregion Console.WriteLine("-----------------------"); #region Ders9Inharitance Console.WriteLine("Inharitance - Miras Alma"); Ders9Exaples2Kare kare = new Ders9Exaples2Kare(); kare.X = 10; kare.Y = 20; kare.AlaniYaz(); Ders9Exaples2Dikdortgen dortgen = new Ders9Exaples2Dikdortgen(); dortgen.X = 10; dortgen.Y = 30; dortgen.AlaniYaz(); Console.WriteLine("----"); Ders9Exaples2Kare kareOne = new Ders9Exaples2Kare(); Ders9Exaples2Kare kareTwo = new Ders9Exaples2Kare(22, 33); #endregion Console.WriteLine("-----------------------"); #region 2-Exaples Rastsal Sayi 6 Console.WriteLine("Rastgele Sayı Üretme 6 Adet" + ""); Random rastgeleDeger = new Random(); for (int i = 0; i < 6; i++) { int sayi = rastgele.Next(1, 50); Console.WriteLine(sayi.ToString()); } #endregion Console.WriteLine("-----------------------"); #region Ders10UpcastDownCast Console.WriteLine("10-Ders Upcast & DownCast"); Ders10FotografMakinesi d10SFotoMakina1 = new Ders10FotografMakinesi(); Ders10DslFotografMakinası d10DslrFotoMakina1 = new Ders10DslFotografMakinası(); d10SFotoMakina1.FotografCek(); d10DslrFotoMakina1.FotografCek(); d10DslrFotoMakina1.UzunPozlamaFotografCek(); //Upcasting //Upcasting "Ders10DslFotografMakinası" -Sınıfı- Normal "Ders10FotografMakinesi" Üzerinden -Türeyen- Bir sınıf Buda Demek oluyor ki "Ders10DslFotografMakinası" doğal olarak bir "Ders10FotografMakinesi"'dır. //Burada bir sınırlama karşımıza çıkmaktadır. "Ders10DslFotografMakinası" normal bir "Ders10FotografMakinesi" atadığımız için, bu nesne sadece "Ders10FotografMakinesi" yapabildiği işlemleri yapacaktır. Ders10FotografMakinesi d10Kullanilan1 = d10DslrFotoMakina1; d10Kullanilan1.FotografCek(); //İkinci Kullanım //Ders10FotografMakinesi d10Kullanilan2 = new Ders10DslFotografMakinası(); //d10Kullanilan2.FotografCek(); //DownCast //Ders10DslFotografMakinası d10Kullanilan2 = d10Kullanilan1; Hata Alırız //Çünkü Base Class tipindeki bir değişkeni kendisini türeten bir yapıya nasıl atanır bilemeyecektir. //Bizim bu değişkenin hangi alt class'tan olduğunu belirtmemiz gerekiyor. Ders10DslFotografMakinası d10Kullanilan2 = (Ders10DslFotografMakinası)d10Kullanilan1; d10Kullanilan2.UzunPozlamaFotografCek(); //Özet //Base'den Child'a doğru gidilen sınıf yapısında Base olan sınıflar Child olan sınıfların ne iş yaptığını bilemez. //Base sınıfları özel tarzda bir değişkene atadığımız zaman buna DownCasting denir. //Tersi duruma, yani child'dan Base Sınıfa doğru çıkılan durumlarda upcasting denir. #endregion Console.WriteLine("-----------------------"); Console.WriteLine("-----------------------"); Console.WriteLine("-----------------------"); Console.WriteLine("-----------------------"); Console.WriteLine("-----------------------"); Console.ReadKey(); }