2. Proglama Nedir
• Kahve Makinesi Problemi
• Önce su kaynatılır
• Sonra boş bir bardak hazneye yerleştirilir
• Sonra bir miktar kahve tozu bardağa boşaltılır
• Sonra bir miktar şeker bardağa boşaltılır
• Sonra bir miktar süt tozu bardağa boşaltılır
• Sonra su bardağa boşaltılır
• Son olarak hazne kapağı açılır
’’ Bilgisayar sistemin anlayacağı şekilde, başlangıç ve bitiş
noktası belirlenmiş işlerin yerine getirilerek istenen hedefe
ulaşılmasını sağlayan işlemler bütünüdür’’
COPYRIGHT @ 2011
3. Yapısal Proglama (Structured Programming)
• Program akış sırasının önemi
• Akışlardaki adımların alt program olması
• Go-to yapıları
• Akışın kendisini oluşturan her işin kodlanması
• Akışın uzunluğuna bağlı olarak karmaşıklığın artması
• Kod okumanın zorluğu
• Akışların doğasındaki hiyerarşik ve nesnel yapıyı
karşılayamama
• C C++ Java
• Yapısal (Functional) Programlama Nesne Yönelimli
(Object Oriented) Programlama
COPYRIGHT @ 2011
4. Nesne Yönelimli (Object-Oriented) Yaklaşım
• Yapılacaklar listesinin nesneler tarafından
gerçekleştirilmesi (gerçek hayatta da olduğu gibi !)
• Yapısal programlama ile çok fazla benzerlik
• Analiz (Ayrıştırma ve Çözümleme) ‘i destekleme
• Benzeşim : Her kelime tek başına bir anlam taşımasına
rağmen; her cümlenin anlamı kelimelerin biraya
getirilme şekline göre değişir!
• Nesne dünyasının kurulması programcının elindedir; bu
nedenle iyi-kötü, hızlı-yavaş, karmaşık-basit ...vs
dengelerinin (trade-off) tek sorumlusudur.
COPYRIGHT @ 2011
5. Yaklaşım
• Gerçek hayattaki probleme uygun nesne yapıları seçilir
• Attribute (özellik) nesnelerin taşıdığı bilgi; Method
(Yöntem) nesnelerin yetenekleri olarak belirtilir
• Akış Şeması (Flow Chart) ve Sınıf Diagramı (Class
Diagram)
• Örnek : Taksit Hesaplama Aracı
Tutar ve Taksit Sayısı Taksit Tutarı Taksit Sağlaması
belirle Hesapla Yap
HAYIR Kalanı Son Taksite
OK ?
Yansıt
EVET Taksit Bilgilerini
Görüntüle
COPYRIGHT @ 2011
11. Derleyici (compiler) tarafından kullanılan sözcükler (keywords)
abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const* float native super while
* not used
** added in 1.2
*** added in 1.4
**** added in 5.0
COPYRIGHT @ 2011