static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");

            //int sayi1 = 10;
            //int sayi2 = 30;
            //sayi1 = sayi2;
            //sayi2 = 65;
            ////sayi1??? //int, decimal,float,enum,boolean yani sayısal değerler value types = DEĞER TİPLERİ

            //int[] sayilar1 = new int[] { 10, 20, 30 };
            //int[] sayilar2 = new int[] { 100, 200, 300 };
            //sayilar1 = sayilar2;
            //sayilar2[0] = 999;
            ////sayilar1?????
            ////array ler class lar interface ler REFERANS TİPLERİDİR = reference types sayilar1in adresi = sayilar2nin adresidir diyoruz.

            Person person1 = new Person();
            Person person2 = new Person();

            person1.FirstName = "Engin";

            person2           = person1; // Değer eşitlemesi değil, adres eşitlemesi yapıyoruz.
            person1.FirstName = "Müyesser";

            Console.WriteLine(person2.FirstName); // Müyesser yazacaktır.



            Customer customer = new Customer();

            customer.FirstName        = "Salih";
            customer.CreditCardNumber = "545455";

            Employee employee = new Employee();

            employee.FirstName = "Veli";

            Person person3 = customer; //

            customer.FirstName = "Ahmet";


            Console.WriteLine(person3.FirstName);
            //customer = employee; // çalışmaz. customer a employee ı atayamazsın farklı türler.
            //Console.WriteLine(((Customer)person3).CreditCardNumber);

            PersonManager personManager = new PersonManager();

            personManager.Add(customer);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            //int,decimal,float,enum,boolean value types
            int sayı1 = 10;
            int sayı2 = 30;

            sayı1 = sayı2;
            sayı2 = 65;
            //sayı1=30


            //arrays, class, interface.. reference types
            int[] sayılar1 = new int[] { 1, 2, 3 };
            int[] sayılar2 = new int[] { 10, 20, 30 };

            sayılar1    = sayılar2;
            sayılar2[0] = 1000;
            //sayilar1[0]=1000

            //-------------------------------------------//


            Person person1 = new Person();
            Person person2 = new Person();

            person1.FirstName = "Beyza";
            person2           = person1;
            person1.FirstName = "Derin";

            Console.WriteLine(person2.FirstName);


            Customer customer = new Customer();

            customer.FirstName        = "Merve";
            customer.CreditCardNumber = "3448992919";

            Employee employee = new Employee();

            employee.FirstName = "Gizem";

            Person person3 = customer;

            Console.WriteLine(person3.FirstName);

            Console.WriteLine(((Customer)person3).CreditCardNumber);

            PersonManager personManager = new PersonManager();

            personManager.Add(employee);
        }
Exemple #3
0
        static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");

           // int sayi1 = 10;
           // int sayi2 = 30;
           // sayi1 = sayi2;
           // sayi2 = 65;
            //sayi1= ? 30 olur

           // int[] sayilar1 = new int[] { 10, 20, 30 };
           // int[] sayilar2 = new int[] { 100, 200, 300 };
            //sayilar1 = sayilar2;
            //sayilar2[0] = 999;
            //sayilar1[0]= ? 999  olur.

            //int,decimali float doun-ble bool= değer tip sadece değeri kopyalar ve ilişki biter olay değer ile ilgilidir.
            //array , class, interface -> referans tiptir.

            //stack değer tip olanlar burda gerçekleşir            //heap 
            //sayi1 =30 sayi1 değeri 30 dur diye okunur .

            //stack                                                            //heap
            // 101/sayilar1 tanımlanır  new dediğn zamna heapte yer açılır   ---------->         101/ [10,20,30]
            // 102/sayilar2                                                  -------------->     102/[100,200,300]         

                //ikisi de referans tip olduğu için adrsi kopyalar yani adres atar 
               // 102 n referans numarasını 101  referansı yerine atanır.
               // ve artık sayilar1 adresi referansi 102dir ve 101 referanslı arrrayı kimse tutmuyor ve garbage collection ile silinir bellekten.
        //Console.WriteLine('Sayilar[0]='+sayilar1[0]);

            Person person1=new Person();
            Person person2=new Person();
            person1.FirstName="Emine";
            person2=person1;
            person1.FirstName="Zeynep";
            //Console.WriteLine(person2.FirstName);

            Customer customer=new Customer();
            customer.FirstName="ümit";
            customer.CreditCardNumber="1234567890";
            Employee employee=new Employee();
            employee.FirstName="ela";
            Person person3=customer;
            customer.FirstName="tuğba";
          //  Console.Writeline(((Customer)person3).CreditCardNumber);

            PersonManager.Add(employee);

        }
Exemple #4
0
        static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");

            //int sayi1 = 10;
            //int sayi2 = 30;
            //sayi1 = sayi2;
            //sayi2 = 65;
            //Console.WriteLine(sayi1); //30

            //int[] sayilar1 = new int[] { 10, 20, 30 };
            //int[] sayilar2 = new int[] { 100, 200, 300 };
            //sayilar1 = sayilar2;
            //sayilar2[0] = 999;
            //Console.WriteLine("Sayılar1[0] = "+sayilar1[0]); //999

            //Değer tipler: int,decimal,float,double,bool
            //Referans tipler: array,class,interface

            Person person1 = new Person();
            Person person2 = new Person();

            person1.FirstName = "Engin";

            person2           = person1;
            person1.FirstName = "Derin";

            Console.WriteLine(person2.FirstName);

            Customer customer = new Customer();

            customer.FirstName        = "Salih";
            customer.CreditCardNumber = "1234567890";
            Employee employee = new Employee();

            employee.FirstName = "Veli";

            Person person3 = customer;

            customer.FirstName = "Ahmet";

            Console.WriteLine(person3.FirstName);

            //Console.WriteLine(((Customer)person3).CreditCardNumber);

            PersonManager personManager = new PersonManager();

            personManager.Add(employee);
        }
        static void Main(string[] args)
        {
            int sayi1 = 10;
            int sayi2 = 30;

            sayi1 = sayi2;
            sayi2 = 65;
            //sayi1 nedir? 30
            //int decimal float double bool değertip
            Console.WriteLine(sayi1);

            int[] sayilar1 = new int[] { 10, 20, 30 };
            int[] sayilar2 = new int[] { 15, 25, 35 };
            sayilar1    = sayilar2;
            sayilar1[0] = 99;
            //sayilar1[0] elemanı nedir? 99 referans olduğundan
            //array,class, interface ler referans tiplerdir.
            Console.WriteLine(sayilar1[0]);

            Console.WriteLine("------------------");

            Person person1 = new Person();
            Person person2 = new Person();

            person1.FirstName = "Helen";
            person2           = person1;
            person1.FirstName = "Ayten";
            Console.WriteLine(person2.FirstName);
            person2.FirstName = "Derin";
            Console.WriteLine(person1.FirstName);

            Customer customer = new Customer();

            customer.FirstName        = "Arzu";
            customer.CreditCardNumber = "12345";

            Employee employee = new Employee();

            employee.FirstName = "Eda";

            Person person3 = customer;

            Console.WriteLine(person3.FirstName);
            Console.WriteLine(((Customer)person3).CreditCardNumber);

            PersonManager personManager = new PersonManager();

            personManager.Add(employee);
        }
Exemple #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            int sayi1 = 10;
            int sayi2 = 65;

            sayi1 = sayi2;
            sayi2 = 65;
            // sayi1 kaç ? 30

            int[] sayilar1 = new int[] { 10, 20, 30 };
            int[] sayilar2 = new int[] { 100, 200, 300 };
            sayilar1    = sayilar2;
            sayilar2[0] = 999;
            // sayilar[0] ? 999

            // int, string, double,float,bool -> değer tip
            // array, class, interface -> referans tip


            Person person1 = new Person();
            Person person2 = new Person();

            person1.FirstName = "Engin";
            person2           = person1;
            person1.FirstName = "Seda";

            Customer customer = new Customer();

            customer.FirstName = "Salih";
            Employee employee = new Employee();

            Person person3 = customer;

            //person3. dediğimizde creditcarta erişemiyoruz
            ///çünkü person classı içerisinde öyle bir değerimiz yok.
            ///creditcardnumber değerine eişmek için Customer class'ına boxing yapıyoruz.
            Console.WriteLine(((Customer)person3).CreditCardNumber);


            PersonManager personManager = new PersonManager();

            personManager.Add(employee);
        }
Exemple #7
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            int sayi1 = 10;
            int sayi2 = 30;

            sayi1 = sayi2;
            sayi2 = 65;
            //sayi1?? 30

            int[] sayilar1 = new int[] { 10, 20, 30 };
            int[] sayilar2 = new int[] { 100, 200, 300 };
            sayilar1    = sayilar2;
            sayilar2[0] = 999;
            //sayilar1[0]=? 999


            //değer tipleri: int, decimal, flood, double, bool(0,1 tutar)...
            //sayılsal görüntüler.

            //referans tip: array, class, interface

            //bellekte stack ve heap bölümleri var
            //değer tipleri stackte gerçekleşir. sayi1=10 dediğinde orada gerceklesir
            //sayi1 in değeri 10 diye okuruz
            //sayi1 in değeri sayi2nin değeridir. sayi2'nin kendisiyle alakası yokk
            //sadece değeriyle alakası var

            //peki referans tipler
            //new demek belleğin heap bölümünde bir adres(refrans no) oluştur
            //örneğin 17 ve 18. satıda sayilar1'in referans nosu 101, sayılar2nin 102
            //sayılar1'in referans numarası sayılar2'nin referans numarasına eşittir
            //sayilar1'in yeni referans nosu 102
            //c gibi dillerde pointer olarak karsımıza cıkar
            //peki 101. adrese ne oldu. - silindi!
            //deneme 1234


            //////////////////////////////////////////////////////////

            Person personel1 = new Person();
            Person personel2 = new Person();

            personel1.Name = "A";
            personel2      = personel1;                                  //personel2'nin referans numrasını(adresi) personel1 ile aynı

            Console.WriteLine("Personel 2'nin ismi: " + personel2.Name); //Cıktı : A


            Customer customer = new Customer();

            customer.Name = "XYZ";

            Person person3 = customer;

            // Customer = Employee; bunları hop atayamazsınız. int ile string gibi
            //peki az önce Customer = Employee'yi birbirine atayamıyorken neden person3 = customer atayabildim ? Cevap: Customer Persondan miras almıstır. Person miras verdiği için referans alabilir.
            //Base sınıfına(Personel), yavru sınıflardan(Alt sınıf, kalıtım yoluyla atanan sınıf vs) referans atayabilirsiniz
            Console.WriteLine(person3.Name);

            //person class'i miras alan sınıfların adresini tutabilir. ---- asagıdaki personmanager class'indan görebilirsiniz
            Employee employee1 = new Employee();

            employee1.Name = "Erhan";
            PersonManager personManager = new PersonManager();

            personManager.Add(employee1); //Parametresi Person olan metoda employee sınıfından nesne gönderdik.
        }
Exemple #8
0
        static void Main(string[] args)
        {
            int sayi1 = 10;               // sayi1 in DEĞERİ 10
            int sayi2 = 30;               // sayi2 in DEĞERİ 30

            sayi1 = sayi2;                // sayi1 in değeri = sayi2 nin değeri => yani sadece değeri. sayi2 ile bir alakamız yok. yani sayi1 kendi değerini kendi değiştirebilir.

            sayi2 = 65;                   // sayi1, sayi2 nin o anki değerine eşitlendi(yukarıda). sayi1 bu işlemden etkilenmez.

            // sayi1 = 30


            int[] sayilar1 = new int[] { 10, 20, 30 };
            int[] sayilar2 = new int[] { 100, 200, 300 };
            int[] sayilar3 = new int[0];                          // sıfır elemanlı bir array tanımlamış oldum
            int[] sayilar4;                                       // referans numarası tutmayan sadece stack kısmında oluşturulmuş  bir array, new lemek veya referansını tutabileceği  bir değere eşitlenmelidir.


            sayilar1    = sayilar2;              // sayi1, sayi2 nin adres bilgisini alıyor. ve böylelikle sayi1 için eski adresi silinir tabi adrste tutulan bilgilerle beraber => {10 ,20, 30}
            sayilar2[0] = 999;

            // sayilar1[0] = 999               // aynı adres bilgilerini almalarından dolayı değişikler sayi1 ve sayi2 içinde aynı gerçekleşir.
            // sayilar2[1] = 200



            // int, decimal, float, double, bool = değer tip = anlık olarak eşitleme gerçekleşiyor. => STACK

            // array(dizi), class, interpace = referans tip = adresleme gerçekleşiyor. yani adresler eşitleniyor. => HEAP



            Person person1 = new Person();
            Person person2 = new Person();

            person1.FirtName = "Yiğit";

            person2          = person1;               // referance tip. person2 ninde FirstName i Yiğit olur. person2 artık person1 in adres bilgisini tutuyor.
            person1.FirtName = "Derin";               // person1 ve person2 içinde FirstName değeri Derin olarak değişir.(adreslemeden dolayı)

            Console.WriteLine(person2.FirtName);



            Customer customer = new Customer();

            customer.FirtName         = "Pınar";
            customer.CreditCardNumber = "1234567890";

            Employee employee = new Employee();

            employee.FirtName = "Veli";


            // customer = employee              aynı türde olmayan ifadeleri birbirine eşitleyemezsin int = string yapamadığın gibi

            Person person3 = customer;          // burda problem çıkmadı. çünkü  aşağıda Costumer aynı zamanda bir Person demiştik. adres eşitlemesi yaptık.

            Console.WriteLine(person3.FirtName);


            // Boxing

            Console.WriteLine(((Customer)person3).CreditCardNumber);           // person3 üzerinden kart bilgisine ulaşmamın sağladı. Belirtilen tip(Customer) çerçevesinde boxing yapıldı.


            PersonManager personManager = new PersonManager();

            // add fonksiyonuna üç tipte veriyi gönderebiliyorum.
            personManager.Add(person3);
            personManager.Add(customer);
            personManager.Add(employee);
        }