static void Main(string[] args) { //int,decimal,float,enum,boolean values types //int sayi1 = 10; //int sayi2 = 20; //sayi1 = sayi2; //sayi2 = 100; //Console.WriteLine("Sayı1 : " +sayi1); //// arrays,claas,inteface referance types //int[] sayilar1 = new int[] {1, 2, 3}; //int[] sayilar2 = new int[] {10, 20, 30}; //sayilar1 = sayilar2; //sayilar2[0] = 1000; //Console.WriteLine("Sayılar1[0] : " + sayilar1[0]); Person person1 = new Person(); Person person2 = new Person(); person1.FirstName = "Galip"; person2 = person1; // buarada artık referance type olduğundan person2 person1 referansını alır(Yani bellekteki adresini gösterir) person1.FirstName = "Derin"; // person1 ve person2 bellekteki adresleri aynı olduğundan person2 nin de adı değişmiş oldu Console.WriteLine(person2.FirstName); Customer customer = new Customer(); customer.FirstName = "Salih"; customer.CreditNumber = "123456667"; Employee employee = new Employee(); employee.FirstName = "Veli"; Person person3 = customer;// bu şekilde yapilmemizin nedeni Customer Person(inheritance) barındırdığından person3.FirstName = "Ahmet"; //Console.WriteLine(((Customer)person3).CreditNumber); //Base class dan türetilmiş olanları tekrardan add içinde kullanabiliriz. //Referans aldığından her işlemi ayrı ayrı gerçekleştirip farklı proje ve veritabanlarında kullanabilmemize olanak sağlar. PersonManager personManager = new PersonManager(); personManager.Add(person1); personManager.Add(employee); personManager.Add(customer); }
static void Main(string[] args) { int sayi1 = 10; int sayi2 = 20; sayi1 = sayi2; sayi2 = 100; Console.WriteLine("Sayı 1 : " + sayi1); int[] sayilar1 = new int[] { 1, 2, 3 }; int[] sayilar2 = new int[] { 10, 20, 30 }; sayilar1 = sayilar2; sayilar2[0] = 1000; //Console.WriteLine("Sayilar1[0] =" + sayilar1[0]); 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 = "furkan"; Person person3 = customer; customer.FirstName = "ahmet"; //Console.WriteLine(((Customer)person3).CreditCardNumber); PersonManager personManager = new PersonManager(); personManager.Add(employee); }
static void Main(string[] args) { //// int,desimal,floaat,enum,boolean value types değer tipler belleğin stack bölümünde yer alır. //int sayi1 = 10; //int sayi2 = 20; //sayi1 = sayi2; //sayi2 = 100; //Console.WriteLine("sayı1 : "+ sayi1); //// arrays,class,interface... referance types //int[] sayilar1 = new int[] { 1, 2, 3 }; //int[] sayilar2 = new int[] { 10, 20, 30 }; //// sayilar1'in adresine sayilar2'nin adresi atanır. sayilar1 artık sayılar2 dizisinin adresinden sorumludur. //sayilar1 = sayilar2; //sayilar2[0] = 1000; //Console.WriteLine("Sayılar1 : " +sayilar1[0]); 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 = "123456789"; Employee employee = new Employee(); employee.FirstName = "Veli"; Person person3 = customer; customer.FirstName = "Ahmet"; // Console.WriteLine(((Customer)person3).CreditCardNumber); PersonManager personManager = new PersonManager(); personManager.Add(employee); }
static void Main(string[] args) { ////int,decimal,float,enum,boolean -- value types //int sayi1 = 10; //int sayi2 = 20; //sayi1 = sayi2; //sayi2 = 100; //Console.WriteLine("Sayı 1 : " + sayi1); ////arrays,class,interface... -referance types //int[] sayilar1 = new int[] { 1, 2, 3 }; //int[] sayilar2 = new int[] { 10, 20, 30 }; //sayilar1 = sayilar2; //sayilar2[0] = 1000; //Console.WriteLine(sayilar1[0]); Person person1 = new Person(); Person person2 = new Person(); person1.FirstName = "Enes"; person2 = person1; person1.FirstName = "Derin"; //Console.WriteLine(person2.FirstName); Customer customer = new Customer(); customer.FirstName = "Salih"; Employee employee = new Employee(); employee.FirstName = "Veli"; Person person3 = customer; customer.FirstName = "Ahmet"; customer.CreditCardNumber = 123456789; //Console.WriteLine(((Customer)person3).CreditCardNumber); PersonManager personManager = new PersonManager(); personManager.Add(person3); }
static void Main(string[] args) { //int,double,decimal,boolen,enum value types //değer tipin bulunduğu yer bellekte stack int sayi1 = 10; int sayi2 = 20; sayi1 = sayi2; sayi2 = 100; Console.WriteLine("sayi1: " + sayi1); Console.WriteLine("-------------------------------"); //array,class,interface reference types heapte tutuluyor int[] sayilar1 = new int[] { 1, 2, 3, 4 }; int[] sayilar2 = new int[] { 9, 8, 7, 6 }; sayilar1 = sayilar2; sayilar2[0] = 1000; Console.WriteLine(sayilar1[0]); Console.WriteLine("-------------------------------"); Person person1 = new Person(); Person person2 = new Person(); person1.FirstName = "İbrahim"; person2 = person1; person1.FirstName = "Efe"; Console.WriteLine(person2.FirstName); Customer customer = new Customer(); customer.FirstName = "Salih"; Person person3 = customer; Console.WriteLine(person3.FirstName); customer.CreditCardNumber = "123456789"; //Console.WriteLine(person3.credit);//CreditCardNumber çıkmıyor Console.WriteLine(((Customer)person3).CreditCardNumber); Employee employee = new Employee(); Console.WriteLine("-------------------------------"); PersonManager personManager = new PersonManager(); personManager.Add(employee); //aynı kodu farklı nesneler için çalıştırabiliyorum. //Buraya customer,person123 hepsi gelir }
static void Main(string[] args) { int sayi1 = 10; int sayi2 = 20; sayi1 = sayi2; sayi2 = 100; Console.WriteLine("Sayi 1: " + sayi1); int[] sayilar1 = new int[] { 1, 2, 3 }; int[] sayilar2 = new int[] { 10, 20, 30 }; sayilar1 = sayilar2; sayilar2[0] = 1000; Console.WriteLine("Sayılar 1in 0.elemanı " + sayilar1[0]); Person person1 = new Person(); Person person2 = new Person(); person1.FirsName = "Engin"; person2 = person1; person1.FirsName = "Derin"; Console.WriteLine(person2.FirsName); Custumer custumer = new Custumer(); custumer.FirsName = "Salih"; custumer.CreditCardNumber = "123456789"; Employee employee = new Employee(); employee.FirsName = "Aysel"; Person person3 = custumer; custumer.FirsName = "Ahmet"; Console.WriteLine(person3.FirsName); Console.WriteLine(((Custumer)person3).CreditCardNumber); Console.WriteLine("---------------------------------------"); PersonManager personManager = new PersonManager(); personManager.Add(person3); personManager.Add(custumer); personManager.Add(employee); }
static void Main(string[] args) { //int sayi1 = 10; //int sayi2 = 20; //sayi1 = sayi2; //sayi2 = 100; //Console.WriteLine("Sayı 1 = " + sayi1); //int[] sayilar1 = new int[] { 1, 2, 3, }; //int[] sayilar2 = new int[] { 10, 20, 30 }; //sayilar1 = sayilar2; //sayilar2[0] = 1000; //Console.WriteLine("Sayılar 1' in ilk elemanı = " + sayilar1[0]); Person Person1 = new Person(); Person Person2 = new Person(); Person1.FirstName = "Eren"; Person1 = Person2; Person1.FirstName = "Engin"; Console.WriteLine("müşteri ismi : " + Person1.FirstName); Customer customer = new Customer(); customer.FirstName = "Ahmet"; customer.CreditNumber = 5157557012462171; Employee employee = new Employee(); Person Person3 = customer; customer.FirstName = "Salih"; Console.WriteLine(((Customer)Person3).CreditNumber); PersonManager personManager = new PersonManager(); personManager.Add(employee); }
static void Main(string[] args) { Person person1 = new Person(); Person person2 = new Person(); person1.FirstName = "Baran"; person2 = person1; /* yukarıdaki işlemle referans adreslerini eşitlemiş olduk, artık p1 ve p2 değişkenlerinin tutulduğu yer aynı * o sebepe p1 e soyisim verdiğimizde, p2 ye soyisim vermemize gerek yok, çünkü adres ataması yaptık... */ person1.FirstName = "Derin"; Console.WriteLine(person2.FirstName); Customer customer = new Customer(); customer.FirstName = "Memduh"; customer.CreditCardNumber = "123123123"; //burada kredi kartı numarası person'a da tanımlanmış olacaktır Employee employee = new Employee(); employee.FirstName = "Veli"; //base class person olduğu için customer ataması olabilir, ancak customer dan employee ataması olmaz... Person person3 = customer; customer.FirstName = "Ahmet"; // artık p3 ün de adı ahmet //aynı şekilde yine persona kredi kartı numarası da tanımlamış olduk.... Console.WriteLine(person3.FirstName); Console.WriteLine(((Customer)person3).CreditCardNumber); //burada personda da kredi kartı numarasını görmüş olduk //peki neden customera person diyelim? çünkü farklı classlara tek metod kullanmak için gerekebilir PersonManager personManager = new PersonManager(); //tek classla bütün fonksiyonları kullandık //her bir farklı class için farklı metod yazmadık personManager.Add(person3); personManager.Add(customer); personManager.Add(employee); }
static void Main(string[] args) { Customer customer = new Customer(); customer.FirstName = "Salih"; customer.CreditCardNumber = "12345678"; Employee employee = new Employee(); employee.FirstName = "Veli"; Person person3 = customer; customer.FirstName = "Ahmet"; PersonManager personManager = new PersonManager(); personManager.Add(customer); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); Person person1 = new Person(); Person person2 = new Person(); person1.FirstName = "Engin"; person1 = person2; person1.FirstName = "Derin"; Console.WriteLine(person2.FirstName); Customer customer = new Customer(); customer.FirstName = "Salih"; customer.CreditCardNumber = "1234567890"; Employee employee = new Employee(); employee.FirstName = "Veli"; //customer=employee //farklı tipte oldukları için birbirine atanamazlar. int e string atanamaz gibi Person person3 = customer; customer.FirstName = "Ahmet"; Console.WriteLine(person3.FirstName); Console.WriteLine(((Customer)person3).CreditCardNumber); //person3 e Customer baxing'i yaptık. PersonManager personManager = new PersonManager(); personManager.Add(person1); personManager.Add(customer); personManager.Add(employee); }
static void Main(string[] args) { //stack int sayi1 = 10; int sayi2 = 20; sayi1 = sayi2; sayi2 = 100; /* * sayi1 ne olur? * sayı1 20 olur.Bunun sebebi value type(değer tip) olmasıdır.Stack'te yer alır. (int, double, float, bool vs.) * stackteki değişkenler o değişkene verilen değerleri tutar. * Değer tiplerde atama bir başka değer ataması ise önceki değer yerine yeni değer geçer. Anlık değer ile ilgilenir ve yukarıdan aşağıya ilerlediği için * bu örnekte sayı 2 ye yapılan değişiklik sayı1 = sayı2 satırında değişiklik olmaz. */ Console.WriteLine("Sayı 1: " + sayi1); //Heap int[] sayilar1 = new int[] { 1, 2, 3 }; int[] sayilar2 = new int[] { 10, 20, 30 }; sayilar1 = sayilar2; sayilar2[0] = 1000; /* * sayilar1[0] değeri ne olur * Heap'te durumlar stacke göre farklıdır. heap'te değerin kendisi değil, o değerin tutulduğu bellek adresi kayıtlıdır. * yukarıdaki işlmede sayilar1 = sayilar2 atamasında sayılar1'in tuttuğu adres değişir. Bu durumda sayilar2[0]=1000 ataması sayilar2'nin adresindeki verileri * değiştieceğinden otomatik olarak sayilar2'deki veriler de değişir. Sonuç olarak aşağıdaki çıktının cevabı 1000 olur. * heap grubuna array,class interface vs. dahildir. * //Veri eşitlemesi değil adres eşitlemesi yapılıyor. */ Console.WriteLine("Sayılar1[0] değeri: " + sayilar1[0]); //Class Heap örneği 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 = "Cem"; customer.CreditCardNumber = "1234567890"; Employee employee = new Employee(); employee.FirstName = "Mehmet"; //customer kalıtım olarak parent'ı person olduğu için teknik olarak customer da bir person'dur. custumer'ın person'dan sadece Credit Card Number 'ı vardır. //customerlar child olduğu id, firtname ve lastname özellikleini görür ama parent child'ın özelliklerini göremez. Person person3 = customer; Console.WriteLine(person3.FirstName); //boxing -- person3 'ü customer gibi gör Console.WriteLine(((Customer)person3).CreditCardNumber); //Person istese bile employee da bir person olduğu için customer ve employee de gönderilebilir. PersonManager personManager = new PersonManager(); personManager.Add(employee); }
static void Main(string[] args) { //4.gunOdev1 //int,decimal,float,enum,boolean.. value types int sayi1 = 10; int sayi2 = 20; sayi1 = sayi2; sayi2 = 100; Console.WriteLine("sayı 1 : " + sayi1); //array,class,interface.. reference types int[] sayilar1 = new int[] { 1, 2, 3 }; int[] sayilar2 = new int[] { 10, 20, 30 }; sayilar1 = sayilar2; sayilar2[0] = 1000; Console.WriteLine("sayilar1[0] : " + sayilar1[0]); //foreach (int sayi in sayilar1) //{ // Console.WriteLine(sayi); //} Person person1 = new Person(); Person person2 = new Person(); person1.FirstName = "Engin"; person2 = person1; Console.WriteLine(person2.FirstName); person2.FirstName = "Derin"; Console.WriteLine(person1.FirstName); Console.WriteLine(person2.FirstName); Customer customer = new Customer(); customer.FirstName = "Salih"; Person person3 = customer; customer.FirstName = "Ahmet"; Console.WriteLine(customer.FirstName); customer.CreditCardNumnber = "2433434"; Console.WriteLine(customer.CreditCardNumnber); //boxing Console.WriteLine(((Customer)person3).CreditCardNumnber); Employee employee = new Employee(); employee.FirstName = "Veli"; PersonManager personManager = new PersonManager(); personManager.Add(employee); personManager.Add(person1); personManager.Add(person2); personManager.Add(person3); personManager.Add(customer); }