You are on page 1of 34

Grsel Programlama

DERS 01

Grsel Programlama - Ders01/

Takdim Plan
Nesneye Dayal Programlama Kavram Nesne, Snf Kavram Java Programlama Dili Java Programlama Dili Temel zellikleri Java Srmleri Snf yeleri Temel Eriim Denetleme Sistemi

Grsel Programlama - Ders01/

Nesne
Nesne = evremizde incelediimiz herey bir nesnedir. (Pencere, kap, tahta, tebeir, lamba, sra, vb.) Tm grdmz nesnelerin temel iki karakteristikleri bulunmaktadr; -DURUM (STATE) -DAVRANI (BEHAVIOUR) rnek ; Bir BSKLET nesnesini ele alalm. DURUMLARI = (vites says, u anki vites deeri, hz, rengi, markas, tekerlek says) DAVRANILARI=(fren yapma, hzlanma, yavalama, vites deitirme, vb.)

Grsel Programlama - Ders01/

Nesne
Yazlmlarda kullanlan nesnelerde evremizdeki nesnelerin bilgisayarda modellenmesidir. Yazlm nesneleri evremizdeki nesnelerin durumlarn deilenler de saklar, davranlar ise metotlar ile gerekletirir. Metotlarda bildiimiz fonksiyon ve prosedrlerdir. Nesneleri temsil etmek iin yazlmda nesne snflar (class) oluturulur ve bu snflardan gerektiinde rnek (instance) nesneler oluturulur. lk nesneye ynelik programlama dili olan SMALLTALK n gelitiricisi nesneye ynelik programlama paradigmasn u be zellik ile tanmlamtr.

Grsel Programlama - Ders01/

Nesne
1. Herey bir nesnedir. 2. Bir program ne yaplmas gerektii hakknda birbirlerine mesajlar gnderen nesneler topluluudur. 3. Her nesne, temel veri yaplar ve dier nesnelerden oluabilen bir bilgi bankasna(deikenlere) sahiptir. 4. Her nesnenin ait olduu bir snf vardr. (Her nesne belirli bir snf temel alnarak oluturulur.) 5. Belirli bir snfa ait (ayn tipteki) nesneler ayn mesajlar alp, tepki verebilir.

Grsel Programlama - Ders01/

Nesne ve Snf
Nesne (object) yapsal bir deiken kmesidir ve ierisinde kendisine ait deikenleri ve kendi durumunu deitirmek iin kullanlan metotlar vardr. Snf (class) ise nesneler iin ayrntl taslak oluturan, programc tarafndan tanmlanm bir veri tipi dir. Snfn ierisinde nesneye ait olan deikenlerin ve metotlarn tanmlanmas yaplr. Her nesne belirli bir snfa aittir. Belirli bir snfa baklarak elde edilmi olan nesneye rnek(instance) denilir.

Grsel Programlama - Ders01/

Nesne ve Snf
SINIF = PASTA KALIBI NESNE = BU KALIP KULLANILARAK YAPILAN PASTA DIR.

Ayn kalb kullanarak istediimiz kadar pasta retebiliriz.

Grsel Programlama - Ders01/

Nesne ve Snf
Belirli bir snftan oluturulan tm nesneler ortak zelliklere sahiptir. rnein bir bisiklet snfndan olan tm nesnelerde (vites says, hz, rengi ) gibi zellikler ortak bulunacaktr. Bu zellikler hepsinde ortak bulunmasna ramen zelliklerin deerleri farkl olabilir. Da bisikletinin vites says=12 iken yar bisikletinin vites deeri vites sayy=24 olabilir. Bu deerler incelenen nesnenin zelliklerinin gzlem anndaki deerlerini gsterir. Bu ekildeki deikenlere yani nesnenin zelliklerine rnek deikenleri (instance-variables) denilir. Ayn ekilde rnek metotlarda olabilir. Bu metotlar nesnenin o anki durumunu deitiriyorsa rnek metotlar (instance methods ) denilir.
Grsel Programlama - Ders01/ 8

Nesne ve Snf
Nesnenin deikenlerine (Alanlar-Fields) denilir. Nesnenin metotlar grld gibi o nesnenin ekirdeini (alanlarn) d evreden korur.
tot -2

...

Metot-3

Alanlar Metot-N Metot-1

D evre : programc / program

Bu ileme nesneye ynelik programlama paradigmasnda KAPSLLEME (Encapsulation) denilir. Bu nesneyi kullanacak olan programc nesneyi kara kutu gibi grr. Bu nesnenin metotlarn kullanarak kod yazar ve bir yazlm gelitirir.
Grsel Programlama - Ders01/ 9

Me

Nesne ve Snf
Bu snflar ve nesneleri kullanan kiiler ile yazanlar farkl kiiler olabilir. Snf yazan kii kendi snfndaki alanlar deitirirse ya da metot ieriklerini deitirirse bu snf kullanan dier programclar ve uygulamalar etkilemez. rn; YANLI YNTEM
A Firmas Veritaban Snf +kullancAd +parola +baglan() ... B Firmas Adres Defteri veritaban +KaytGir() +KaytSil()

Grsel Programlama - Ders01/

10

Nesne ve Snf
B firmas, A firmasndan ald snf kullansn. Veritaban na balanmak iin kullancAd, parola deerini girip baglan() metodunu kullanarak veritaban ilemlerini yapacaktr. Eer A firmas kendi yazlmnda bir gncelleme yaparsa ve kullancAd alann username yaparsa B firmas kendi yazlmdaki tm kullancAd alanlarnn isimlerini deitirmeli ve yazlmn yeniden oluturmaldr.

Grsel Programlama - Ders01/

11

Nesne ve Snf
DORU YNTEM
A Firmas Veritaban Snf -kullancAd -parola +baglan() +kullancAdAta( +kullancAdAl() +parolaAta() +parolaAl() ... B Firmas Adres Defteri veritaban +KaytGir() +KaytSil()

A firmas alan adn kulancAd yerine username yapsada B firmas bu alan kullanmamaktadr. KullancAdAta() metodunu kullanmaktadr.

Grsel Programlama - Ders01/

12

JAVA
Java, farkl alma ortamlarnda dank ortamlarda(a zerinde datlm) almas gerekli olan uygulamalarn gelitirilmesindeki zorluklar yenmek iin ortaya kmtr. Java ok eitli a aralar ve gml(embedded) sistemler iin gelitirilmi bir yazlm projesi sonucu ortaya kmtr. Ama; kk boyutlu, gvenilir, tanabilir ve dank bir iletim sistemi gelitirmekti. Projenin balangcnda C++ tercih edilmitir. Proje ilerledike farkl sorunlar ile karlalmtr ve yeni bir dile ihtiya duyulmutur. (Eiffel, Smalltalk, Objective C ve Mesa) dilleri temel alnarak JAVA dili gelitirilmitir. Green Project Oak = Java nn ilk ad

James Gosling tarafndan gelitirilmi ve 1991 de Java olarak Sun microsystems tarafndan duyurulmutur.
Grsel Programlama - Ders01/ 13

JAVA
Java sadece bir programlama dili deildir. Java bir teknolojidir. Tek bir bilgisayarda alacak uygulamalar, web tarayclarda alacak appletler, sunucu tabanl web uygulamalar (JSP,Servlet), enterprise uygulamar, mobil cihazlar iin uygulamalar dahil ok eitli uygulamalar gelitirmek mmkndr.

Grsel Programlama - Ders01/

14

JAVA Temel zellikleri


Platform bamszdr. Farkl donanm ve yazlm sistemlerinde kod zerinde deiiklik yapmadan alr. Nesneye ynelik bir programlama dilidir. Java dili ierisinde birok ama iin tasarlanm ktphaneler ve snflar bulunmaktadr. Bunlar kullanlarak daha hzl ve gvenilir kodlar yazlabilir. Sz dizimi C++ a benzemektedir. aretiler (Pointer) yoktur. Kullanlmayan deikenler otomatik olarak bellekten silinir. Bu ilemi p toplayc (garbage collector) adndaki bir program yapar. Java yorumlanan ve derlenen bir programlama dilidir.

Grsel Programlama - Ders01/

15

JAVA
Bir java program herhangi bir editrde yazlr ve uzants .java olacak ekilde kaydedilir. Bu kod Java derleyicisi tarafndan bytecode haline getirilir. Oluturulan derlenmi dosyann uzants .class dr. Oluturulan byte code lar Java Sanal Makinesi (JVM-Java Virtual Machine) tarafndan yorumlanarak altrlr. Yazlan kod farkl sistemlerde deitirilmeden alabilir.(Win98, 2000, Linux, Mac OS, Solaris, Unix, VMX, ...) Derlenmi olan kod (byte code) ayn olmasna ramen bu kodu yorumlayan Java sanal makinesi farkl sistemlerde farkldr ve alt sisteme zeldir.

Grsel Programlama - Ders01/

16

JAVA
dosya .java .java Derleyici (javac) .class Yorumlayc (javac)

Java kaynak kodu Derleyici BYTECODE JAVA API

Java Runtime JVM letim Sistemi Donanm


Grsel Programlama - Ders01/ 17

JAVA Srmleri
J2SE : Standart Srm J2ME: Mikro Srm (Mobil Cihazlar in) J2EE: Enterprise Srm (Tm uygulama gelitirme amalar iin)

Grsel Programlama - Ders01/

18

JAVA lk Program rnei


Dosya: lkProgram.java

class IlkProgram{ public static void main(String[] args){ System.out.println(lk Java Uygulamas); } }

Grsel Programlama - Ders01/

19

JAVA
Yazdmz IlkProgram snf IlkProgram.java ismiyle kaydedilir.

Grsel Programlama - Ders01/

20

JAVA
Yazdmz IlkProgram snf IlkProgram.java ismiyle kaydedilir.

Grsel Programlama - Ders01/

21

JAVA
J2SE nin kurulumunun sisteminize yapilmis olmasi gereklidir.

Grsel Programlama - Ders01/

22

JAVA
Kurulum ileminden sonra bilgisayarnzda u konumdadr :

Grsel Programlama - Ders01/

23

JAVA
Sisteminizde Java derleyici ve yorumlaycnn tannmas iin Sistem Deikenlerini deitirmeni gereklidir.

Grsel Programlama - Ders01/

24

JAVA

Grsel Programlama - Ders01/

25

JAVA
Sisteminizde Java derleyici ve yorumlaycnn tannmas iin Sistem Deikenlerini deitirmeni gereklidir.

Grsel Programlama - Ders01/

26

JAVA

Grsel Programlama - Ders01/

27

JAVA Derleme ve Calistirma

Grsel Programlama - Ders01/

28

JAVA Derleme ve Calistirma

Grsel Programlama - Ders01/

29

JAVA Derleme ve Calistirma


Oluan IlkProgram.class dosyas package ifadesi ile belirtilen klasr yapsnda olmaldr.

Bu hatann nedeni java yorumlaycsnn (java) snf kendi snflar iinde grmemesinden kaynaklanmaktadr.
Grsel Programlama - Ders01/ 30

JAVA Derleme ve Calistirma

-cp parametresi ile yorumlaycnn snf verilen klasr iinde aramas salanabilir.

Grsel Programlama - Ders01/

31

JAVA Derleme ve Calistirma

2. Yntem olarak sistem zelliklerindeki CLASSPATH parametresine yeni snfnzn bulunduu klasr eklenir ve sistem yeniden balatlr.
Grsel Programlama - Ders01/ 32

JAVA Derleme ve Calistirma

Bu ekilde altrlabilir.

Grsel Programlama - Ders01/

33

Grsel Programlama

DERS 01

Grsel Programlama - Ders01/

34

You might also like