NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Advertisements

Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
Hazırlayan: Dr. Emine CABI
Zihinsel engellilerin sınıflandırılması
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
Öğretim Teknolojileri ve Materyal Geliştirme
1. Ders Bir, İki ve Üç Yazarlı Eserlerin Kataloglanması Prof. Dr. Bülent Yılmaz Arş. Gör. Tolga Çakmak.
İNSAN BİLGİSAYAR ETKİLEŞİMİ: BİLİŞSEL BOYUT III. İBE alanında etkileşimi anlamaya çalışan uzmanlar, özellikle şema ve zihinsel modeller üzerinde yoğunlaşırlar.
Öğretim  Öğrenci gelişimini amaçlayan, öğrenmenin başlatılması, sürdürülmesi ve gerçekleştirilmesi için düzenlenen planlı etkinliklerden oluşan bir süreçtir.
/ 91 Beyin Fırtınası Şifa Üniversitesi Sağlık Bilimleri Yüksekokulu Eğitici Eğitimi Kursu Eylül 2015.
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
ARAYÜZLER(INTERFACE) Öğr.Gör. Murat ASLANYÜREK. ARAYÜZ KAVRAMINA GİRİŞ  Arayüzler, soyut sınıflara benzer. Ancak yapı olarak bazı yönleriyle farklılıklar.
Öğretim İlke ve Yöntemleri: Öğrenme Stratejileri
Hedef-Kazanım Belli bir alanda eğitilecek bireylere kazandırılmak istenen özellikler ya da yeterliklerdir. Kazanımın eğitim yoluyla kazandırılabilecek.
İÇİNDEKİLER NEGATİF ÜS ÜSSÜ SAYILARIN ÖZELLİKLERİ
PROGRAMLI ÖĞRETİM Tanımı:
Sıklık Dağılımları Yrd. Doç. Dr. Emine Cabı.
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ ÜNİTE 3
T- Testİ: ORTALAMALAR ARASI FARKLARIN TEST EDİLMESİ
Deneme Modelleri Neden-sonuç ilişkilerinin sorgulandığı araştırma türleridir. Deneme ve tarama modelleri arasındaki fark nedir? Deneme modellerinde amaçlar.
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
Ünite 9: Korelasyon Öğr. Elemanı: Dr. M. Cumhur AKBULUT.
BİLİŞİM SİSTEMLERİ GÜVENLİĞİ (2016)
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
Karşılaştırmalı Eğitim
GELECEK PİYASASI İŞLEMLERİ
Sağlık Bilimleri Fakültesi
ZEE ZİHİN ENGELLİLERE BECERİ VE KAVRAM ÖĞRETİMİ
Nesneye Dayalı Kavramlar Uygulama 2
KÜMELER HAZIRLAYAN : SELİM ACAR
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
Yrd.doç.Dr. H. Deniz GüllerOĞlu
PARAMETRİK HİPOTEZ TESTLERİ
NİŞANTAŞI ÜNİVERSİTESİ
TEKNOLOJİ VE TASARIM DERSİ 7.D.1. Özgün Ürünümü Tasarlıyorum.
NİŞANTAŞI ÜNİVERSİTESİ
Evren-Örneklem, Örnekleme Yöntemleri 2
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
ÖLÇME-DEĞERLENDİRME 1.DERS
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Koşullu Durumlar.
Tezin Olası Bölümleri.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
YRD. DOÇ. DR. EDA ÖZDİLER KÜÇÜK
DAVRANIŞ BİLİMLERİNDE ARAŞTIRMA (YÜKSEK LİSANS)
DİL GELİŞİMİ KURAMLARI - II
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Evren-Örneklem, Örnekleme Yöntemleri 1
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Veri ve Türleri Araştırma amacına uygun gözlenen ve kaydedilen değişken ya da değişkenlere veri denir. Olgusal Veriler Yargısal Veriler.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Ders İçeriği Nicel araştırma adımları
TÜRKÇE EĞİTİMİNİN ÖNEMİ
Bilimsel Araştırma Yöntemleri
NİŞANTAŞI ÜNİVERSİTESİ
Bilimsel araştırma türleri (Deneysel Desenler)
Sunum transkripti:

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

İŞ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.

İŞ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.

İŞ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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

ÖRNEK-1

ÖRNEK-1

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.

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.

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.

Ö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.

ÖRNEK-2

ÖRNEK-2

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.

Ö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.

ÖRNEK-3

ÖRNEK-3

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ı