Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
NİŞANTAŞI ÜNİVERSİTESİ
NESNEye yönelİk PROGRAMLAMA TEMEL KAVRAMLAR, SINIF YAZIMI, YAPICI YÖNTEMLER NİŞANTAŞI ÜNİVERSİTESİ © İktisadi, İdari ve Sosyal Bilimler Fakültesi iisbf.nisantasi.edu.tr
2
İŞLEME YÖNELİK TASARIM
Bir program tasarlanırken, gereksinimleri programın gerçekleştireceği işlemler açısından incelemek en alışılmış yaklaşımdır. Bu yaklaşımda, programın yapması gereken işlemler üzerinde yoğunlaşılır.
3
İŞLEME YÖNELİK TASARIM
Örneğin; bir öğrenci bilgi sisteminde işlemlere göre gereksinimler aşağıdaki şekilde belirlenebilir: Belirli bir dönem için açılan derslerin ekranda listelenmesi, Bir öğrencinin kayıt olacağı ders kodunun girilmesi, Öğrencinin derse kaydının onaylanması / reddedilmesi.
4
İŞLEME YÖNELİK TASARIM
Bu gereksinimlere göre ayrıştırılan bir yazılımda oluşan birimler arasında veri paylaşımı yoğunluktadır. Yazılımın gerçekleştireceği işlemlere göre ayrıştırma başlangıçta kolaylık sağlasa da, veri paylaşımının çok olması gereksinimlerdeki küçük değişikliklerin bile yazılımda kapsamlı değişiklikler yapılmasını gerektirir. Bu durum ise hem sistemin geliştirilmesi hem de bakımı aşamalarında sorun yaratabilir.
5
NESNEYE YÖNELİK TASARIM
Nesneye yönelik yaklaşımda bir problem, nesneler ve nesnelerin sorumlulukları açısından incelenir, örneğin; bir öğrenci bilgi sisteminde öğrenci, ders ve öğretim üyesi nesneler, derse kayıt olma ve ders verme gibi işlemler ise nesnelerin sorumluluklarıdır. Bu yaklaşımda tasarım yapılması gereken işlemler yerine, işlemlerin üzerinde çalışacağı nesneler üzerinde yoğunlaşır. Böylece, yapısı daha güçlü ve değişikliklere daha uygun yazılımlar oluşturulması amaçlanmaktadır. Bu yaklaşımın önceki yaklaşımdan temel farkı, tasarımın odak noktasının işlemlerden nesnelere yani veriye değiştirilmesidir.
6
NESNEYE YÖNELİK PROGRAMLAMA
Büyük programların oluşturulması için gerekli iki kavram modülerlik ve soyutlamadır. Nesneye yönelik programlamada modülerlik birimi, soyut bir veri tipi gerçekleştirimidir. Nesneye yönelik programlama ve "geleneksel" programlama arasındaki önemli bir fark, geleneksel programlamanın önceden tanımlanmış soyutlamalarla sınırlanmış olması, nesneye yönelik programlamada ise kullanıcı tanımlı soyutlamaların yer alabilmesidir.
7
NESNEYE YÖNELİK PROGRAMLAMA
Nesneye yönelik programlamada sınıflar, soyut veri tipleri tanımlamak için kullanılabilir. Buna ek olarak, varolan sınıflara ekler yapılarak, yeni nesne sınıfları tanımlanabilir. Nesneye yönelik programlama, soyut veri tipi kavramına önemli fikirler de eklemektedir.
8
TEMEL KAVRAMLAR Nesne: Veriler ve işlemler topluluğu
Sınıf: Bir dizi nesne kümesinin tarifi. Altsınıf: Bir sınıfın ek özellikler de içerebilen altkümesi. Metod: Bir sınıfın işlemlerini gerçekleştiren kod. Mesaj: Bir metodun çalıştırılmasını istemek için bir çağrım Kalıtım: Bir sınıftan yeni bir sınıf türetilmesi. Çokyapılılık: Dinamik bağlama ile aynı mesajın farklı sınıflara ilişkin nesneler tarafından yanıtlanabilmesi ve farklı davranışlar gösterebilmesi.
9
TEMEL KAVRAMLAR Nesneye yönelik programlama, kalıtım ve çokyapılılık özellikleriyle yazılım geliştirmede yeniden kullanımı da destekler.
10
SINIFLAR VE NESNELER Nesne:
Nesneye yönelik programlamada bir program, verileri ve ilgili işlemleri içeren nesneler üzerinde kurulur. Bir nesne, üzerinde işlemlerin gerçekleştirilebileceği verilerle bir bütündür. Örneğin, yiğit bir nesne, yığıtın içerikleri de yiğit nesnesinin verileridir. Yığıtın metodları, yığıta veri eklenmesi, yığıttan veri çıkarılması gibi yığıt nesnesinin sorumluluklarıdır.
11
SINIFLAR VE NESNELER Sınıf:
Nesneye yönelik programlamada sınıflar, soyut veri tipleridir. Sınıflar, özellikleri ve metodları açısından tanımlanır. Özellikler, sınıfın verilerini, metodlar ise sınıfın sorumluluklarını gösterir. Nesneler ise sınıfların (kullanıcı tanımlı tiplerin) örnekleridir. Bu bağlamda, bir programda bir sınıf tanımını yeni bir tip tanımı, bir nesneyi de bir sınıf tipinde bir değişken tanımlanması olarak düşünebiliriz.
12
SINIF YAZIMI Java’da yazılan sınıfların büyük çoğunluğu, başka sınıflar tarafından kullanılmak için yazılır ve bir main yöntemleri olmaz. Bir sınıfın üye değişkenleri (members variables) herhangi bir yöntemin dışında ancak sınıfın içinde tanımlanan değişkenlerdir ve o sınıfın bütün nesnelerinde bulunurlar.
13
SINIF YAZIMI Nokta kullanarak bir nesnenin içinde bulunan bir değişkene eriştiğimiz zaman, artık onu kendi tipinden herhangi bir değişken gibi kullanabiliriz.
14
SINIF YAZIMI Bir nakliye şirketi için uygulama geliştireceğimizi düşünelim. Kutu kavramını soyutlayarak, kutuları programımızda temsil eden bir sınıf yazalım. Bir kutu için 3 adet temel veriye sahibiz: En, Boy, Yükseklik. Ayrıca kırılacak eşya olup olmadığı ve eğer bir zorunluluk varsa hangi yüzeyin tabana geleceği.
15
ÖRNEK-1
16
ÖRNEK-1
17
YAPICILAR Bir nesnedeki bir üye değişkeninin değerine belli bir değer atamadan önce kendimizin seçtiği bir varsayılan değeri olmasını istiyorsak ne yapmalıyız? Bir sınıfa ait yapıcı (constructor) , o sınıfa ait bir nesne oluşturulurken otomatik olarak çağrılır. Çağrıldığında içindeki atamaları yapar. Bir sınıfın yapıcısı, aslında adı sınıfın adı ile aynı olan bir yöntemdir.
18
YAPICILAR Programda bir sınıfa ait nesneler yaratılınca, her nesneye ait değişkenler birbirinden farklıdır. Ancak bunların nesnenin içindeki adları aynı olduğu için, değişik nesnelerdeki aynı adlı değişkenleri ayırt ederken, nesne adını da içeren noktalı yazım biçimi gerekli olur. Bununla birlikte, bir yapıcı çağrıldığında, hangi nesne için çağrıldığını bilir.
19
YAPICILAR Bu yüzden, yapıcı yazılırken, noktalı yazım biçimi kullanılmaz, değişken adları doğrudan kullanılır.
20
ÖRNEK-2 Bir önceki örnekteki kutu sınıfına nesnelerinin ilk yaratıldıkları zaman varsayılan değer olarak en=5, boy=5, yükseklik=5, kırılacak eşya bulunmadığı ve taban yüzeyinin önemli olmadığı şeklinde atama yapacak yapıcıyı ekleyiniz.
21
ÖRNEK-2
22
ÖRNEK-2
23
YAPICILAR Bir yapıcı parametre alabilir.
Parametreleri farklı olduğu sürece, bir sınıfa istendiği kadar çok sayıda yapıcı yazılabilir. Parametre almayan yapıcılara varsayılan yapıcı (default constructor) adı verilir.
24
ÖRNEK-3 Önceki örneklerdeki kutu sınıfına nesnelerinin ilk yaratılmalarında en, boy, yükseklik, kırılacak eşya olup olmadığı ve taban yüzeyi bilgilerini parametre olarak vermeye yarayan yapıcıyı ekleyiniz.
25
ÖRNEK-3
26
ÖRNEK-3
27
KayNAKlar Bora Güngören, Java ile Temel Programlama, Seçkin Yayıncılık, 2003 Kendinize Güvenerek Java, Musa Çavuş, Seçkin Yayıncılık, 2011 Yrd. Doç. Dr. Hilmi Küçük, Nesneye Yönelik Programlama, JAVA, Ders Notları
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.