Example #1
0
        static void OutMain()
        {
            int a;
            int b;

            Ders7RefOut.OutDegistir(out a, out b);
            Console.WriteLine("{0} - {1}", a, b);
        }
Example #2
0
        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);
        }
Example #3
0
        static void RefMain()
        {
            int a = 10;
            int b = 20;

            Ders7RefOut.RefDegistir(ref a, ref b);
            Console.WriteLine("{0} - {1}", a, b);
        }
Example #4
0
        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();
        }