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

Slides:



Advertisements
Benzer bir sunumlar
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Advertisements

SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Polymorphism.  Bir işlem birden fazla tip üzerinde çalışabilir  Metot temel tip arayüzünü kullanır  İşlem çalışan metot tarafından yapılır.
OOP4 LAB.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
String Kütüphanesindeki Arama Fonksiyonları
Bölüm 10 Yapılar ve Birleşimler
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
DÖNGÜ İFADELERİ.
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
DİZİLER.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
DELEGATE OOP-UYG.
Erişim Denetimi, Fonksiyon
METODLAR.
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
Nesneye Yönelik Programlama
.Net teknolojisi ve C# Yasin Gedik Dokuz Eylül Üniversitesi (4. Sınıf) Microsoft Danışman Öğrenci
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
LINQ (Language Integrated Query)
Görsel C# Programlama Güz 2009 (6. Hafta).
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
Nesne Yönelimli Programlama Dersi
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
METOTLAR.
Önceki Dersi Hatırlama !!
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
NESNEYE YÖNELİK PROGRAMLAMA
Kalıtım , Sınıf Asli Ergün.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
JAVA’DA DİZİLER Dr.Galip AYDIN.
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
.NET Framework 2.0 Öğr. Gör. Dr. Mustafa Cem Kasapbaşı Hafta 1 Ref Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional İnternet Programlama Dilleri.
Ders İçeriği Liste Soyut veri yapısı (ADT)
VERİ TİPLERİ VE DEĞİŞKENLER
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
Değerler ve Değişkenler
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
BTP206– Görsel Programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Veri yapıları Hafta3 Dizi Yapıları.
BİLGİSAYAR programlama II
Temel Veri Yapıları Veri Yapıları 1. Bölüm 1. 2 Programlarımızda tanımladığımız nesneler ya tek parçadan ya da birden fazla parçadan oluşurlar. Tek parçadan.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
C’de Fonsiyonlar Aslı Ergün.
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
3- VERİ TİPLERİ - OPERATÖRLER Nesne Yönelimli Programlama - i
YAPISAL PROGRAMLAMA Hafta-6
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Karakter dizi fonksiyonları
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

İbrahim Olgaç 06104406 PROGRAMLAMA DİLLERİ SUNUMU C# C# vs. C++ İbrahim Olgaç 06104406 PROGRAMLAMA DİLLERİ SUNUMU C#

C# vs C++ Temel farklılıklar 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!

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

Değişken Tanımlamaları 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}}; 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

The other difference is that there is no equivalent to the C++ delete operator in C#. Instead, with C# the .NET, garbage collector periodically comes in and scans through the references in your code in order to identify which areas of the heap are currently in use by your program.

Kontrol Yapıları 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.

Fonksiyonlar 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; }

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 }

Döngüler 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

C# public abstract class Shape{          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 };

Generic Types C++ // Define a generic type generic <typename T> class testList { ... }; // Constrain a type parameter generic <typename T> class testList { ... }; // Create an object from a generic type testList<int> list = gcnew testList<int>();

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; } };

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