Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU



Benzer belgeler
Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Temel Bilgisayar Programlama

B02.8 Bölüm Değerlendirmeleri ve Özet

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

HSancak Nesne Tabanlı Programlama I Ders Notları

K12NET Eğitim Yönetim Sistemi

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

13 Kasım İlgili Modül/ler : Satın Alma ve Teklif Yönetimi. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

PROGRAMLAMA TEMELLER. C Program Yap s

Q-BIZ VIEWER KULLANIM KILAVUZU

Builder Tasarım Şablonu KurumsalJava.com

OYUN GELİŞTİRME AŞAMALARI-I. Oyununuzun senaryosunu kısaca tanıtınız/ amacınıda belirtiniz:

B05.11 Faaliyet Alanı

BULUġ BĠLDĠRĠM FORMU/ GIDA

SİRKÜLER İstanbul, Sayı: 2016/01. Konu: E-DEFTER GÖRÜNTÜLEYİCİ PROGRAMI İLE SÖZ KONUSU PROGRAMA İLİŞKİN KULLANIM KILAVUZU YAYINLANMIŞTIR

KolayOfis Başlangıç Rehberi Kısa Mesaj Yönetimi

MARMARA ÜNĠVERSĠTESĠ YABANCI DĠL VE TÜRKÇE HAZIRLIK SINIFLARI EĞĠTĠM-ÖĞRETĠM ve SINAV YÖNERGESĠ Senato: 13 Ekim 2009 /

MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

Ders 8: Metotlar. barisgokce.com

ANALOG LABORATUARI İÇİN BAZI GEREKLİ BİLGİLER

M i m e d ö ğ r e n c i p r o j e l e r i y a r ı ş m a s ı soru ve cevapları

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

BULUŞ BİLDİRİM FORMU / APARAT

Olasılık ve İstatistik Dersinin Öğretiminde Deney ve Simülasyon

Uzem Eğitmen Girişi. Şekil 1. Sisteme girdikten sonra Şekil 2 deki ekran karşımıza çıkacak. Bu ekrandaki adımları kısaca tanıyalım.

BÖLÜM 7 BİLGİSAYAR UYGULAMALARI - 1

ETKİLEŞİMLİ TAHTA KORUMA SİSTEMİ KURULUM

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

T.C AĞRI İBRAHİM ÇEÇEN ÜNİVERSİTESİ SAĞLIK YÜKSEKOKULU HEMŞİRELİK BÖLÜMÜ DÖNEM İÇİ UYGULAMA YÖNERGESİ BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

II. Bölüm HİDROLİK SİSTEMLERİN TANITIMI

NOTERLERİN MÜNHAL NOTERLİKLERE ATAMA VE VAZGEÇME TALEPLERİNİN VATANDAŞ PORTALI ARACILIĞI İLE ALINMASINA İLİŞKİN AYRINTILI AÇIKLAMA

ELEKTRONĐK TĐCARETĐN DÜZENLENMESĐ KANUNU 1 MAYIS 2015 TE YÜRÜRLÜĞE GĐRDĐ

Yrd. Doç. Dr. Saygın ABDİKAN Yrd. Doç. Dr. Aycan M. MARANGOZ JDF329 Fotogrametri I Ders Notu Öğretim Yılı Güz Dönemi

BQ360 Modbus Dijital Giriş 24 Kanal. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

SMART Board EĞİTİMLERİ(sürüm:10) 2. Aşama

BİT ini Kullanarak Bilgiye Ulaşma ve Biçimlendirme (web tarayıcıları, eklentiler, arama motorları, ansiklopediler, çevrimiçi kütüphaneler ve sanal

BĐSĐKLET FREN SĐSTEMĐNDE KABLO BAĞLANTI AÇISININ MEKANĐK VERĐME ETKĐSĐNĐN ĐNCELENMESĐ

DİCLE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ STAJ UYGULAMA ESASLARI 1. GENEL HUSUSLAR

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Digifresh Kullanım Kılavuzu

MedDATA SAĞLIK NET KURULUMU

ÜNİTE 5 KESİKLİ RASSAL DEĞİŞKENLER VE OLASILIK DAĞILIMLARI

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

Koru1000. Koru1000. beklentilerinizin ötesinde!

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 22 Nisan Matematik Soruları ve Çözümleri

WEB SAP (ORION) STAJ BAŞVURU KULLANICI DÖKÜMANTASYONU. Süheyla GÜVEN

Destekli Proje İşletme Prosedürü

C Operatörler. Öğr. Gör. M. Ozan AKI. Rev 1.0

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK LABORATUVARI 1. BASINÇ, AKIŞ ve SEVİYE KONTROL DENEYLERİ

Endüstri Mühendisliğine Giriş. Jane M. Fraser. Bölüm 2. Sık sık duyacağınız büyük fikirler

Bilgisayar Uygulamaları PSİ105

a) Birim sorumluları: Merkez çalışmalarının programlanmasından ve uygulanmasından sorumlu öğretim elemanlarını,

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veri Toplama Yöntemleri. Prof.Dr.Besti Üstün

1 Aralık E-Beyanname Modülünde Yapılan İşlemler

Yandaki resimlerde Excel Pazartesi den başlayarak günleri otomatik olarak doldurmuştur.

in Kullanımı tamamlamış gerçekleştirmiş

4 ab sayısı 26 ile tam bölünebildiğine göre, kalanı 0 dır.

Tasarım Raporu. Grup İsmi. Yasemin ÇALIK, Fatih KAÇAK. Kısa Özet

int printf (const char *format [, argument,...]);

NORMAL TUĞLA VE PRES TUĞLA İLE DUVAR

TEOG ÖZEL OKULLAR MODELİ İLE ÖĞRENCİ ALACAK ÖZEL OKULLARIN KAYIT TAKVİMİ 2016

SENATO 2016/1-IV

Örgün Öğrenci Sistemi Anadolu Üniversitesinde öğretim elemanlarının verdikleri

Legends hesabı olan bütün sihirdarlar turnuvada yarışmak için uygundur.

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

ONLİNE KATALOG TARAMA (YORDAM KÜTÜPHANE OTOMASYON PROGRAMI)

POL KL K DEFTER WEB SERV S KULLANIM KLAVUZU zmir Sa k Müdürlü ü Poliklinik Defteri Web Servis Kullan m Bilgileri Sayfa 1

BMH-303 Nesneye Yönelik Programlama

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

AKSARAY ÜNİVERSİTESİ. Amaç, Kapsam, Dayanak ve Tanımlar

0 dan matematik. Bora Arslantürk. çalışma kitabı

BQTEK SMS Asistan. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Fizik I (Tek ve ki Boyutta Hareket) - Ders sorumlusu: Yrd.Doç.Dr.Hilmi Ku çu

DÖNER SERMAYE MALİ YÖNETİM SİSTEMİ

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

Hackerlar'ın Gözünden Flash Uygulamaları

İçinde x, y, z gibi değişkenler geçen önermelere açık önerme denir.

ıfırdan büyük olan rasyonel sayılara pozitif rasyonel sayılar, sıfırdan küçük rasyonel sayılar da negatif rasyonel sayılar denir.

KOCAELİ İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ EVRAK TAKİP SİSTEMİ

BIM BUILDING INFORMATION MODELING YAPI BİLGİ MODELİ

KAHRAMANMARAŞ SÜTÇÜ İMAM ÜNİVERSİTESİ BİLİMSEL DERGİLER YÖNERGESİ BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

T.C. NUH NACİ YAZGAN ÜNİVERSİTESİ YAZILIM KULÜBÜ TÜZÜĞÜ. BİRİNCİ BÖLÜM Kuruluş Gerekçesi, Amaç, Kapsam, Dayanak ve Tanımlar

Ö RENME FAAL YET 9 Ö RENME FAAL YET 9

TEMEL KAVRAMLAR MATEMAT K. 6. a ve b birer do al say r. a 2 b 2 = 19 oldu una göre, a + 2b toplam kaçt r? (YANIT: 28)

İTÜ GELİŞTİRME VAKFI ÖZEL Dr. NATUK BİRKAN İLKOKULU VE ORTAOKULU. OkulNET Kullanım Kılavuzu

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Öğrenci Web(Öğretim Üyesi) Verdiğim Dersler Not İşlemleri Danışmanlık İşlemleri Lisansüstü İşlemleri Bologna Süreci

Anonim Verilerin Lenovo ile Paylaşılması. İçindekiler. Harmony

Danışma Kurulu Tüzüğü

T.C ATAŞEHİR ADIGÜZEL MESLEK YÜKSEKOKULU

KADİR HAS ÜNİVERSİTESİ ÖNLİSANS VE LİSANS PROGRAMLARI YATAY GEÇİŞ YÖNERGESİ

Sensörler Veri İletişimi. Yrd.Doç.Dr. İlker ÜNAL

İMKB DE İŞLEM SIRALARI KAPATILAN ŞİRKET HİSSE SENETLERİNİN ALIŞ/SATIŞINA İLİŞKİN ESASLAR BÖLÜM I KAMUYU AYDINLATMA BİLGİ FORMLARI

EPKAS (ELEKTRONİK PROJE KONTROL ARŞİVLEME SİSTEMİ) WEB KULLANIM KILAVUZU

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

DENEY 1 Direnç Ölçümü

DEVRELER VE ELEKTRONİK LABORATUVARI

Transkript:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

13/11/2009 devam Dokümantasyon & Aç klamalar Üç türlü yöntem vard r: // Bu i aret sat r sonuna kadar olan tüm ifadeyi aç klama olarak belirler. /* ve */ aretleri aras nda kalan tüm ifadeler sat r sonu gözetmeksizin aç klama olrak kabul edilir. /** * Bu sentaks biçimi Javadoc aç klamalar için kullan r, * HTML biçimlendirme özelliklerini sunar. */ 31

Bilginizi s nay n te problem: Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU int ivar = 10; float fvar = 23.26f; // derleme zaman hatas verir ivar = ivar * fvar Hangi çözüm en iyi çal r? 1 ivar = (int) (ivar * fvar) 3 4 ivar = ivar * (int) fvar ivar = (int) ((float) ivar * fvar) 230 232 232 2 ivar = (int) ivar * fvar Ayn derleme hatas

Bir Java s n anatomisi Package Import(s) Comments(aç klamalar) Declaration(bildirim) Fields(alanlar) Constructors(yap lar) Methods(metotlar) 33

Metotlar Bir metot isimlendirilmi bir dizi komutlardan olu ur ve bir nesnenin istedi iniz bir i lemi yapmak için gerçekle tirmesi gereken faaliyettir. Metotlar n bir imzas /signature vard r:bu imza bir isim ve s r veya daha fazla say da parametreden olu ur Metotlar geri döndürdükleri bir veri yap tan mlarlar(primitive veya object veya void) 34

Metotlar Genelde mümkün oldu unca k sa tutulur Yap lar/constructors nesnenin ilk olu um durumunda alaca de erleri belirleyen metottur. Yap lar ve di er metotlar a yüklenebilir. overloaded Yap lar ve di er metotlar eri im özelli i belirtebilirler(accessibility modifiers) 35

Java Metodlar hem prosedürler hem de fonksiyonlar için tek bir yap : fonksiyon tan mlamas yap ld zaman geri dönü de erinin türü belirtilmesi gerekir. public float average (float num1, float num2, float num3) { float answer; answer = (num1 + num2 + num3)/ 3; return (answer); } // of average

Java kural : Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU Metod Yaz --Her metod bir nesneye aittir ya da bir s fa. --Bir metod ça ld zaman hangi s fa ya da nesneye ait oldu u kesin belli olmal r. --Bir uygulamay çal rabilmek için program n ayn ad nda bir s f ve bu n içinde de main metodu bulunmal r. Komut sat parametreleri için Herkese aç k Geri dönü de eri yok public static void main (String[ ] argv) f metodu oldu unu belirtir, üye metodu de il Metod ad

class A { } class B { } public static void main(... public static void main(... Öyleyse, her s f kendi main metoduna sahip olabilir. Bunlardan hangisinin çal aca na siz karar vereceksiniz. class C { } public static void main(...

Metod mzalar Metod imzas, metod ad, parametre say ve türleridnen olu ur. Herhangi bir s f ayn imzaya sahip iki metod tan mlayamaz, yoksa derleme zaman hatas olu ur. Ayn isme sahip metodlar farkl varyasyonlarda parametrelere sahip olurlarsa Method overloading meydana gelir. public int getcube(int num){ return num*num*num; } public int getcube(float num){ return (int)(num*num*num); } public int getcube(double num){ return (int) (num*num*num); } Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU

Metodlarda yap lan genel hatalar public float average (float num1, float num2, float num3); { float answer; answer = (num1 + num2 + num3)/ 3; return (answer); } // average ; Noktal virgül hakk nda -- E er yukar daki gibi bir kullan m söz konusu olursa metod abstract metod gibi görünebilir. -- Çözümlenmesi zor bir hata mesaj ile kar la labilir. -- Çok kolay yap lan hatalardan biridir.

Veri ve metodlar birlikte bir s fa aittir. u anda sadece, de kenlerin ve metodlar n s flara ait oldu unu bilmeniz yeterli. Daha sonra, bu özelli i kullanarak durumlar (de ken), davran larla (behaviour) nas l sarmalan r görece iz...

Yap lar Yap lar s fa ait yeni nesneler s f tan ndaki kal p kullan larak üretilirken ba vurulan mekanizmalard r. Yap n amac yeni nesneye ilk de erlerini atamakt r. Yap lar metotlara benzer ancak Her zaman isimleri s f ismiyle ayn olmak zorundad r Hiçbir zaman d ar ya bir de er döndürmezler 42

Yap lar Bir yap metot ça rmak için new lemi kullan r ve gerekli parametreler verilir. Her s f varsay lan bir yap ya sahiptir: public ClassName() {} bu yap n parametresi yoktur ve herhangi bir ilk de er atamaz. 43

Yap lar er siz bir tane tan mlamazsan z, Java sizin için parametresi olmayan varsay lan bir yap otomatik olarak olu turur. er siz parametreli veya parametresiz bir yap metot yazarsan z, Java sizin ne yapt n fark nda oldu unuzu varsayarak herhangi bir yap tan mlamaz. 44

Yap lar: Ba ucu kurallar Hat rlatma: Bir yap n amac yeni üretilmi bir nesneyi bilinen bir ilk duruma getirmektir. Yap lar çok fazla i lem yapmamal r Nesneye ilk de er atama i lemi ile nesnenin davran lar kesinlikle birbirinden ay rmak gerekir. 45

Nesneler Bir nesne de kenler ve ili kili metotlar yaz m paketidir. - Java Tutorial Her ey ya temel bir veri yap ya da bir nesnedir. Nesneler: Gerçek dünyadaki fiziksel elemanlar n modeli (Ö renci gibi) veya Soyut elemanlar olabilir (Dersler, Seçimler, Finansal lemler gibi) 46

Nesneler Java da temel bir veri bildirimi yap lmas yla bellekte o veri için uygun yer ayr r Ancak bir nesne bildirimi yap nca bellekte o nesneye (veya o nesneden türetilen bir tipe) eri imi sa layacak referansa (reference) de keni için yer ayr r. 47

Nesneler Nesneyi tutacak de ken bildirimi yapmakla nesne üretilmi olmaz. Nesne örne i için bellekte yer ayr lmas dinamik olarak new operatorü kullan larak gerçekle ir. Nesne tipleri istenilen ekilde olu turulur. 48

49

50

51

52

53

54

55

56

De ken(alanlar) / Variable (Fields) Yerel De kenler/local Variables Bir metot veya küçük bir blok kodu içerisinde bildirimi yap lan ve sadece o alanda kullan lan de kenlerdir. Örnek/nesne de keni/instance variables yi bir Java s nda hemen hemen bütün de kenlerin örnek veya yerel de ken olmas gerekir. Her nesne(instance) alanlar n kendine ait bir kopyas na sahiptir. 57

De ken(alanlar) f de kenleri/class variables Bir alan ad veya de keni static anahtar kelimesiyle nitelenirse bu de ken bir s f de keni olur: Bu s ftan kaç tane nesne üretilirse üretilsin bu tür de kenlerden sadece bir tanesi için yer ay r. Bütün nesneler bu s f de kenini payla rlar. 58

f De kenlerini Kullanma Java da s f de keni bildirimi yapmak için iki iyi sebep vard r: static final bir sabit olarak kullanmak private static de ken olarak nesneler aras nda bilgi payla sa layan özel bilgi eleman olarak kullanmak 59

Problem Tan CS Student Kay t modeli: renci isimlerinin komut sat ndan girilmesine izin verilecek renci çiftleri lab için e lenecek. Tek say da renci olmas durumunda bir ki i e siz kalacak. renciler ve varsa labdaki arkada kay t ras n tersi olacak ekilde listelenecek 60

flar, Alanlar, Metotlar ve Nesneler 61

Eri im Bir Java s yaz rken, programc metotlara ve de kenlere ar dan nesnelerin ne ekilde müdahale edebilece ini kontrol etmek için baz eri im niteleyicileri belirtebilir. C++ dan farkl olarak, her bir metot veya alan için ayr eri im niteleyicisi kullan labilir. 62

Eri im public Bütün d nesneler public metotlar ça rabilir. Bütün d nesneler public alanlar de tirebilir. private Metotlar sadece o s f içindeki metotlar taraf ndan ça labilir- alt s flar da bunlar kullanamaz. Alanlar sadece o s f içindeki metotlar taraf ndan kullan labilir- alt s flar da bunlar kullanamaz. 63

Eri im protected Metotlar sadece o s f içindeki metotlar ve alt s f metotlar taraf ndan ça labilir. Alanlar sadece o s f içindeki metotlar ve alt s f metotlar taraf ndan kullan labilir. "Package eri im Ba ka bir eri im niteleyicisi kullan lmazsa varsay lan niteleyicidir: Ayn paket içerisinde bulunan s flara ait nesneler bu metotlar ça rabilir. Ayn paket içerisinde bulunan s flara ait nesneler bu alanlar kullanabilir. 64

65 Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU

Temel veri türlerinden Diziler Anafikir: Daha önce ö rendiklerinize benzer Yaz mda baz farkl klar vard r Java da dizi bildirimi: Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU <VeriTürü>[ ] <DiziAd > = new <VeriTürü>[<boyut>]; örnek: 10 adet tamsay türündeki notu tutmak için tamsay türünden 10 elemanl bir dizi olu tural m: int[ ] notdizisi = new int[10]; Dizi bildirim hatas : kö eli parantez yerine normal parantez kullanmak: int[ ] igradearray = new int(10);

Detaylar Sentaks biraz garip gelebilir çünkü diziler de birer nesnedir. Nesneleri anlatmaya ba lay nca detayl olarak inceleyece iz... int[ ] igradearray = new int[10]; int igradearray[ ] = new int[10];

Diziler Örnek: 10 adet tamsay türündeki notu tutmak için tamsay türünden inotdizisi ad nda 10 elemanl bir dizi olu tural m dizinin bütün de erlerine 0 de erini atayal m int[ ] inotdizisi = new int[10]; int i; /* dizi i lemlerinde indis yani kontrol de keni olarak i,j,k gibi geleneksel olarak herkes taraf ndan kullan lan ve tan nan de iken isimleri kullan n. */ for (i=0; i < inotdizisi.length; i++) { inotdizisi[i] = 0; } // for döngüsü Güzel dü ünce! Dizinin boyutunu de tirdi inizde, sadece for imza yap n içini de tirmeniz yeterli. Not: Diziler kendi uzunluklar bilirler length bir özelliktir, metod de il Dizi uzunluklar sabittir, bildirim yap ld ktan sonra bir daha de tirilemez. Bütün diziler nesnedir, bu nedenle bir referans de keni bi ldirimi yapmal, nesneyi olu turmal ve ilk de erini atamal z(declare a reference, instantiate, initialize)

Notlar: Dizi indisi her zaman 0 dan ba lar 1 den de il Öyleyse, length yani dizi uzunluk de eri indisin maksimum alaca de erden say sal olarak 1 fazlad r Bu nedenle, e er a daki gibi yaparsan z hata yapars z: Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU Diziler int[ ] igradearray = new int[10]; int i; for (i=1; i <= igradearray.length; i++) { igradearray[i] = 0; } // for loop Yukar daki program kodunda dizinin 1 den 10 a kadar olan elemanlar na eri ilmeye çal yor Ancak dizinin indis numaralar 0..9 aral ndad r Öyleyse: dizini ilk eleman olan 0 indis olan kaç yor ve dizinin 10 indis numaral eleman na eri meye çal yorki ne böyle bir indis mevcut ne de diziye ait böyle bir alan.