bilgisayar grafikleri

advertisement
NESNEYE DAYALI
PROGRAMLAMA
2. HAFTA UYGULAMA DERSİ
Nesneye Dayalı Programlama
• Yardımcı öğretim elemanı: Arş. Gör. İsmail ÖZTEL
• İletişim: Salı 11:00-12:00 Salı 13:00- 14:00
Cuma 11:00-12:00 Cuma 13:00- 14:00
E-posta: [email protected]
1206 nolu oda
C# ’a genel bakış
• C# aile ağacı:
C
C++
Java
C#
C# ’a genel bakış
• C dili:
• 1960’larda yapısal programlama fikri ile ortaya çıkmaya başladı
• 1970 yılında Dennis Ritchie tarafından tanıtıldı
• 1980’lerde en yaygın kullanılan yapısal programlama dili
• Genel kabule göre 5000 satır koddan itibaren programların anlaşılması ve
sürdürülebilmesi zor
• Yeni bir arayış başladı…
C# ’a genel bakış
• C++ dili ve nesne yönelimli programlama metodolojisi:
• 1970’lerin sonlarında proje boyutlarının artmasıyla "Nesne Yönelimli
Programlama"(OOP – Object Oriented Programming) yöntemi ortaya çıktı
• Popüler olan C dilinin nesne yönelimli programlamayı desteklemesi için 1979’da "C with
Classes" ( Sınıflı C) icat edildi
• 1983’te C++ ismini aldı
• Programcıların yaygın olarak kullandıkları C’nin bu evrimi, kullanıcıları yeni bir dil
öğrenmekten kurtardı
C# ’a genel bakış
• Java:
• 1991’de Oak ismi ile doğdu
• Söz dizimi ve felsefesi C++’dan alınan bir dil
• Kod taşınabilirliği problemini ortadan kaldırmak için geliştirildi. C ve C++ da
geliştirilen kod işletim sistemine sıkı sıkıya bağlı
• Java kodu  bytecode –(JVM) çalışır program
C# ’a genel bakış
• C#:
• Javanın gelişimi ile taşınabilirlik sorunu çözülmüş fakat "diller arasında uyum içinde
çalışma (cross-language interoperability)" problemine değinilmemiştir
• Ayrıca java programları Windows ortamlarda çalışabilmelerine rağmen tam bir
entegrasyon mevcut değil
• Bu ihtiyaçlara cevap için 2000 yılında duyuruldu
• C# sözdizimini , anahtar sözcüklerin çoğunu ve operatörlerini C’den almıştır; C++’ın
nesne modeli üzerine kurulmuş ve modeli geliştirmiş
C# ’a genel bakış
• .NET Framework:
• Dağıtık ve bileşen yönelimli uygulamaların geliştirilmesini ve yürütülmesini destekleyen
bir ortam tanımlar : diller birlikte çalışabilir; güvenlik, taşınabilirlik ve ortak bir
programlama modeli kurar
• Common Language Runtime (CLR-ortak dil çalışma zamanı)’ı tanımlar: taşınabilirlik,
güvenlik, çoklu dillerde programlama
• .Net sınıf kütüphanesini tanımlar
C# ’a genel bakış
• CLR nasıl çalışır:
• C# programı derlendiğinde MSIL (+metadata)(Microsoft Intermediate Language) oluşur.
MSIL CPU’dan bağımsızdır.
• Bu ara kod CLR ile çalışabilir bir koda döner (JIT [just-in-time=tam zamanında] derleyici)
Nesne yönelimli programlama
• Programlama bilgisayarın icat edildiği yıllarda ikili makine kodları ile (bir/iki yüz
satır)
•
•
•
•
Programlar büyüyünce assembly dili,
Büyüme seviyesi arttıkça FORTRAN ve COBOL gibi yüksek seviyeli diller
Yetersiz kaldıkları noktada yapısal programlama yaklaşımı
Beklentiler arttıkça nesne yönelimli programlama yaklaşımı
Nesne yönelimli programlama
• Tüm nesne yönelimli diller üç ortak özelliğe sahiptir:
• Sarmalama (public, private, …) : istenmeyen etkilerden ve hatalı kullanımlardan koruma
• Çok biçimlilik
• Kalıtım
using System;
İlk program
class Program
{
static void Main()
{
Console.Write("Merhaba");
Console.ReadLine();
}
}
Programlamaya dair…
•
•
•
•
Değişkenler: harf/_ ile başlar, harf/rakam/_
Veri tipleri: int, float, double, …
Kontrol ifadeleri: if, for, while, …
Anahtar sözcükler:
Programlamaya dair…
Download