예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello Object oriented");
            Product product1 = new Product();

            product1.Id          = 1;
            product1.CategoryId  = 2; //2Mobilya ya karşılık geliyor
            product1.ProductName = "Masa";
            product1.UnitPrice   = 500;
            product1.UnitInStock = 3;



            //Üsttekine alternatif kullanım şeklidir
            Product product2 = new Product {
                Id          = 2, CategoryId = 5,
                UnitInStock = 5, ProductName = "Kalem", UnitPrice = 35
            };



            ProductManager productManager = new ProductManager();

            //ProductManager productManager;    Alternatif kullanımdır
            // Usttek Pascal , üstteki camel case.

            productManager.Add(product1);
            Console.WriteLine(product1.ProductName);



            int sayi = 100;

            productManager.BirSeyYap(sayi);
            Console.WriteLine(sayi);



            productManager.Topla2(3, 6);
            // void ile int arasındaki fark void ile yaptığımızda  2 sayıyı toplar ama onu kullanmak istediğimizde
            // yani 6 yı kullanmak istediğimizde kullanamayız. Çünkü return edilmiyor , sadece ekrana yazdırıyor.
            // Gidip 2 le çarpmak istediğimde çarpamam. Çünkü console a sadece yazıyor.



            // Kredi geri dönüş oranı gibi düşün
            // Git hesapla sonra onun üzerinde çalış . Bu yüzden return kullanıyoruz.
            // O yüzden void yerine int kullanıldıi.ProductManger class ında
            int toplamSonucu = productManager.Topla(3, 6);

            Console.WriteLine(toplamSonucu * 2);
        }
예제 #2
0
        static void Main(string[] args)
        {
            //Classları; özellik barındıranlar ve operasyon barındıranlar olarak ikiye ayrılır.
            Product product1 = new Product();

            product1.Id           = 1;
            product1.CategoryId   = 2; //Mobilya olarak algıla
            product1.ProductName  = "Masa";
            product1.UnitPrice    = 500;
            product1.UnitsInStock = 3;

            //Bu şekilde de tanımlama yapılabilir.
            Product product2 = new Product {
                Id = 2, CategoryId = 5, UnitsInStock = 5, ProductName = "Kalem", UnitPrice = 35
            };                                                                                                                  //Kırtasiye olarak algıla
            // () işareti yokkk!!!
            // Angular kullanarak kullanıcıdan alıyor olacağız bu bilgileri!


            //case sensitive -- Büyük küçük harf duyarlı
            //PascalCase   //camelCase
            //ProductManager türündeki productManager değişkeni referans numarası almış yeni bir ProductManager'dir.
            ProductManager productManager = new ProductManager();

            productManager.Add(product1);
            // diziler, classlar, abstract class, interface ... gibi Referans tipler verileri heapte tutar.
            // Atamalar referans numaralarıyla yapılır, o numaraya yeni bir değer atandığı için değişir.



            int num = 100;

            productManager.BirSeyYap(num);
            Console.WriteLine(num);
            // primitive tipler yani değer tipler verileri stack'te tutar.
            // değerle ilgilenir adresle değil!
            // main(üsteki num=100) classtaki atamayla productManagerdeki classtaki atamanın bir bağlantısı yoktur!

            productManager.Sum2(3, 6); // Bu işlem sonucundaki sum'ı kullanmak istiyorsak return gerekir.
            int sumResult = productManager.Sum(3, 6);

            Console.WriteLine(sumResult * 2);



            //int,double,bool ... değer tip
            //diziler,class,abstract class, interface ... referans tip
        }