Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

İbrahim Olgaç 06104406 PROGRAMLAMA DİLLERİ SUNUMU C#

Benzer bir sunumlar


... konulu sunumlar: "İbrahim Olgaç 06104406 PROGRAMLAMA DİLLERİ SUNUMU C#"— Sunum transkripti:

1 İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#

2  C#,Java gibi derlenen değil yorumlanan bir dildir, yani C#.NET kodu ilk önce IL’ye (Intermediate Language-Aradil) derler, bu IL kodu çalıştırılmak istendiğinde CLR,JIT derleyicilerini kullanarak kodu makine diline çevirir.  C++ ta ise kod derlenerek makine diline çevrilir.  C# ta Tanımlama ve deklarasyon ayrımı yoktur,fonksiyonlar veya class lar tanımlandıkları yerde yazılırlar  C++ #include, C# using  Class lardan sonra ; yoktur  C# kodu link edilmez  C# ta garbage collector bulunur  Tüm objeler new operatörüyle oluşturulur ve herşey bir objedir!

3 C# ta veri tipleri, Sbyte, byte Short, Ushort int, Uint Long,Ulong float,double Char,string Decimal C++ veri tipleri Byte, signed, Short. Unsigned short int, unsigned int, Long float, double Char, string

4 C# ta bir değişken tanımlandığında ilk değeri 0 yada NULL olur Örn. int a; // a=0 dır. Dizi tanımlamaları: int [] array = { 1,0, 2 }; int [,] myArray2d; myArray2d = new int[2,2] { {1, 0}}; Yorumlarda C++ ta olduğu gibi tek satır için //, birden fazla satır için /* */ kullanılır C++ değişkenlerin ilk değerleri verilmediğinde junk değerler alırlar İnt a; // a nın değeri belli değil Dizi tanımlamaları: int array[3] = { 1,0, 2 }; int myArray2d[][2]= { {1, 0}, {3,4}};

5

6 The other difference is thatthere is no equivalentto the C++ delete operator in C#. Instead, with C#the.NET, garbage collector periodicallycomesin and scans through the referencesin your code in orderto identify which areas of the heap are currently in use by your program.

7  C# taki kontrol yapıları C++ takinin neredeyse aynısıdır  İf else yapısı, switch, yapısı C++ takiyle aynı syntax ta çalışır fakat if yapılarında C# ta İf ( a ) gibi bir ifade olamaz bu C++ ta a 1 ise anlamına gelir C# ta ise syntax hatasıdır ve if ( a==1 ) gibi yazılmalıdır. Döngüler yine c++ takinin aynısıdır. Fakat foreach gibi ayrı bir döngü yapısını barındırır, bu yapıda bir dizideki tüm elemanlara uygulanacak bir işlemin yapılmasını kolaylaştırır, Örn  int[] dizi={1,2,3,4,5};  int toplam = 0;  foreach ( int count in dizi)  Console.WriteLine(count);  Dizideki tüm elemanları ekrana yazar.

8  C# ta Global fonksiyon yoktur, tüm fonksiyonlar bir class içinde olmalıdır.  Fonksiyonların prototipleri ve tanımı tek bir dosyada olmalıdır  Const tipinde fonksiyonlar yoktur  Fonksiyon overloading vardır  Parametrelerin default değerleri yoktur  C# int MyFunc( int x=0 ){ // error Return x*x; }

9

10 C#'ta Pointer C# ta pointerlar yalnızca class lar içinde tanımlanabilir, ve başında unsafe öneki bulunmalıdır, fonksiyonlarda kullanmak için yine unsafe eki gereklidir, ve fonksiyonlarda pointer tanımlanamaz, ayrıca pointer bulunan bir kodu derlemek için VS da proje özelliklerinden Allow unsafe code blocks özelliğini açmak gerekir. class Sınıf { unsafe char *ptr; } unsafe int NormalMetot(int a, string str) { // pointer işlemleri }

11  For ve while döngüleri c++ takinin aynısıdır,  Yalnız while ( a ) yerine while ( a==1 ) yazılmalıdır yada while ( !a ) yerine while ( a!=0 )  For döngüsünde de aynı durum geçerlidir

12

13

14

15

16

17  I. Abstaract (soyut) sınıftan yeni bir sınıf türetilemez. Örneğimizde person sınıfı abstract sınıftır ve new anahtar sözcüğü kullanılarak yeni nesne oluşturulmaz.  II. Abstract metodların mutlaka içleri boş olarak yaratılır ve türetildikleri sınıflarda (en az bir sınıf türetilmek zorunda) mutlaka içleri override anahtar sözcüğü kullanılarak doldurulur. C# public abstract class Shape{ public abstract double Perimeter(); } C++ class Shape { public: virtual double Perimeter()=0; // Perimeter func };

18

19

20

21

22  C++ // Define a generic type generic class testList {... }; // Constrain a type parameter generic class testList {... }; // Create an object from a generic type testList list = gcnew testList ();

23

24 C# struct Yapi { public int x; char c; // default private public Yapi(int x, char c) { this.x = x; this.c = c; } C++ struct Yapi { int x; char c; // default public Yapi(int y, char d) { x = y; // this c = d; } };

25

26 static readonly elemanlar bulundukları sınıfın üye elemanları tarafından değiştirilebilir(!), fakat const olan üye elamanlar asla değiştirilemez ve derleme zamanı sabiti olarak ilk değerleri verilmelidir. static readonly üye elemanlarının değiştirilebilmesini, static readonly üyeyi içeren sınıf bu üyeyi aşağıdaki durumlarda değiştirebilir : - değişken ilk değer verilen durumda - static yapıcı metotlar içinde


"İbrahim Olgaç 06104406 PROGRAMLAMA DİLLERİ SUNUMU C#" indir ppt

Benzer bir sunumlar


Google Reklamları