34
Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01

Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 1

Görsel Programlama

DERS 01

Page 2: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 2

Takdim Planı•Nesneye Dayalı Programlama Kavramı•Nesne, Sınıf Kavramı•Java Programlama Dili•Java Programlama Dili Temel Özellikleri•Java Sürümleri•Sınıf Üyeleri•Temel Erişim Denetleme Sistemi

Page 3: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 3

Nesne

Nesne = Çevremizde incelediğimiz herşey bir nesnedir.(Pencere, kapı, tahta, tebeşir, lamba, sıra, vb.)

•Tüm gördüğümüz nesnelerin temel iki karakteristikleri bulunmaktadır;-DURUM (STATE)-DAVRANIŞ (BEHAVIOUR)

Örnek ; Bir BİSİKLET nesnesini ele alalım.

DURUMLARI = (vites sayısı, şu anki vites değeri, hızı, rengi, markası, tekerlek sayısı)

DAVRANIŞLARI=(fren yapma, hızlanma, yavaşlama, vites değiştirme, vb.)

Page 4: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 4

Nesne

Yazılımlarda kullanılan nesnelerde çevremizdeki nesnelerin bilgisayarda modellenmesidir.

Yazılım nesneleri çevremizdeki nesnelerin durumlarını “değişlenler” de saklar,davranışları ise “metotlar” ile gerçekleştirir. Metotlarda bildiğimiz fonksiyon ve prosedürlerdir.

Nesneleri temsil etmek için yazılımda nesne sınıfları (class) oluşturulur ve bu sınıflardan gerektiğinde örnek (instance) nesneler oluşturulur.

İlk nesneye yönelik programlama dili olan SMALLTALK ‘ ın geliştiricisi nesneye yönelik programlama paradigmasını şu beş özellik ile tanımlamıştır.

Page 5: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 5

Nesne

1. Herşey bir nesnedir.2. Bir program ne yapılması gerektiği hakkında birbirlerine mesajlar gönderen

nesneler topluluğudur.3. Her nesne, temel veri yapıları ve diğer nesnelerden oluşabilen bir bilgi

bankasına(değişkenlere) sahiptir.4. Her nesnenin ait olduğu bir sınıf vardır. (Her nesne belirli bir sınıf temel

alınarak oluşturulur.)5. Belirli bir sınıfa ait (aynı tipteki) nesneler aynı mesajları alıp, tepki verebilir.

Page 6: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 6

Nesne ve Sınıf

Nesne (object) yapısal bir değişken kümesidir ve içerisinde kendisine ait değişkenleri ve kendi durumunu değiştirmek için kullanılan metotları vardır.

Sınıf (class) ise nesneler için ayrıntılı taslak oluşturan, programcı tarafından tanımlanmış bir veri tipi dir. Sınıfın içerisinde nesneye ait olan değişkenlerin ve metotların tanımlanması yapılır.

Her nesne belirli bir sınıfa aittir.

Belirli bir sınıfa bakılarak elde edilmiş olan nesneye örnek(instance) denilir.

Page 7: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 7

Nesne ve Sınıf

SINIF = PASTA KALIBI

NESNE = BU KALIP KULLANILARAK YAPILAN PASTA DIR.

Aynı kalıbı kullanarak istediğimiz kadar pasta üretebiliriz.

Page 8: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 8

Nesne ve Sınıf

Belirli bir sınıftan oluşturulan tüm nesneler ortak özelliklere sahiptir.

Örneğin bir bisiklet sınıfından olan tüm nesnelerde (vites sayısı, hızı, rengi ) gibi özellikler ortak bulunacaktır. Bu özellikler hepsinde ortak bulunmasına rağmen özelliklerin değerleri farklı olabilir. Dağ bisikletinin “vites sayısı=12” iken yarış bisikletinin vites değeri “vites sayıyı=24” olabilir.

Bu değerler incelenen nesnenin özelliklerinin gözlem anındaki değerlerini gösterir.

Bu şekildeki değişkenlere yani nesnenin özelliklerine örnek değişkenleri (instance-variables) denilir. Aynı şekilde örnek metotlarda olabilir. Bu metotlar nesnenin o anki durumunu değiştiriyorsa örnek metotları (instance methods ) denilir.

Page 9: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 9

Nesne ve Sınıf

Nesnenin değişkenlerine (Alanlar-Fields) denilir.

Metot-1

Met

ot-2

Metot-3...

Metot-N

Alanlar

Nesnenin metotları görüldüğü gibi o nesnenin çekirdeğini (alanlarını) dış çevreden korur.

Dış çevre : programcı / program

Bu işleme nesneye yönelik programlama paradigmasında KAPSÜLLEME (Encapsulation) denilir. Bu nesneyi kullanacak olan programcı nesneyi kara kutu gibi görür. Bu nesnenin metotlarını kullanarak kod yazar ve bir yazılım geliştirir.

Page 10: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 10

Nesne ve Sınıf

Bu sınıfları ve nesneleri kullanan kişiler ile yazanlar farklı kişiler olabilir.

Sınıfı yazan kişi kendi sınıfındaki alanları değiştirirse ya da metot içeriklerini değiştirirse bu sınıfı kullanan diğer programcıları ve uygulamaları etkilemez.

Örn; YANLIŞ YÖNTEM

Veritabanı Sınıfı+kullanıcıAdı+parola+baglan()...

Adres Defteri

veritabanı

+KayıtGir()+KayıtSil()

A Firması B Firması

Page 11: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 11

Nesne ve Sınıf

B firması, A firmasından aldığı sınıfı kullansın. Veritabanı na bağlanmak için kullanıcıAdı, parola değerini girip baglan() metodunu kullanarak veritabanı işlemlerini yapacaktır.

Eğer A firması kendi yazılımında bir güncelleme yaparsa ve kullanıcıAdı alanını “username” yaparsa B firması kendi yazılımdaki tüm kullanıcıAdı alanlarının isimlerini değiştirmeli ve yazılımını yeniden oluşturmalıdır.

Page 12: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 12

Nesne ve Sınıf

DOĞRU YÖNTEM

Adres Defteri

veritabanı

+KayıtGir()+KayıtSil()

Veritabanı Sınıfı-kullanıcıAdı-parola

+baglan()+kullanıcıAdıAta(+kullanıcıAdıAl()+parolaAta()+parolaAl()...

A Firması B Firması

A firması alan adını kulanıcıAdı yerine username yapsada B firması bu alanı kullanmamaktadır. KullanıcıAdıAta() metodunu kullanmaktadır.

Page 13: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 13

JAVA

Java, farklı çalışma ortamlarında dağınık ortamlarda(ağ üzerinde dağıtılmış) çalışması gerekli olan uygulamaların geliştirilmesindeki zorlukları yenmek için ortaya çıkmıştır.

Java çok çeşitli ağ araçları ve gömülü(embedded) sistemler için geliştirilmiş bir yazılım projesi sonucu ortaya çıkmıştır.

Amaç; küçük boyutlu, güvenilir, taşınabilir ve dağınık bir işletim sistemi geliştirmekti. Projenin başlangıcında C++ tercih edilmiştir. Proje ilerledikçe farklı sorunlar ile karşılaşılmıştır ve yeni bir dile ihtiyaç duyulmuştur. (Eiffel, Smalltalk, Objective C ve Mesa) dilleri temel alınarak JAVA dili geliştirilmiştir.

Green Project Oak = Java nın ilk adı

James Gosling tarafından geliştirilmiş ve 1991 ‘ de Java olarak Sun microsystems tarafından duyurulmuştur.

Page 14: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 14

JAVA

Java sadece bir programlama dili değildir. Java bir teknolojidir. Tek bir bilgisayarda çalışacak uygulamalar, web tarayıcılarda çalışacak appletler, sunucu tabanlı web uygulamaları (JSP,Servlet), enterprise uygulamar, mobil cihazlar için uygulamalar dahil çok çeşitli uygulamalar geliştirmek mümkündür.

Page 15: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 15

JAVA Temel Özellikleri• Platform bağımsızdır. Farklı donanım ve yazılım sistemlerinde kod üzerinde

değişiklik yapmadan çalışır.• Nesneye yönelik bir programlama dilidir.• Java dili içerisinde birçok amaç için tasarlanmış kütüphaneler ve sınıflar

bulunmaktadır. Bunlar kullanılarak daha hızlı ve güvenilir kodlar yazılabilir.• Söz dizimi C++ a benzemektedir.• İşaretçiler (Pointer) yoktur.• Kullanılmayan değişkenler otomatik olarak bellekten silinir. Bu işlemi çöp

toplayıcı (garbage collector) adındaki bir program yapar.• Java yorumlanan ve derlenen bir programlama dilidir.

Page 16: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 16

JAVA

Bir java programı herhangi bir editörde yazılır ve uzantısı “.java” olacak şekilde kaydedilir. Bu kod Java derleyicisi tarafından bytecode haline getirilir. Oluşturulan derlenmiş dosyanın uzantısı “.class” dır. Oluşturulan byte code lar Java Sanal Makinesi (JVM-Java Virtual Machine) tarafından yorumlanarak çalıştırılır.

Yazılan kod farklı sistemlerde değiştirilmeden çalışabilir.(Win98, 2000, Linux, Mac OS, Solaris, Unix, VMX, ...)

Derlenmiş olan kod (byte code) aynı olmasına rağmen bu kodu yorumlayan Java sanal makinesi farklı sistemlerde farklıdır ve çalıştığı sisteme özeldir.

Page 17: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 17

JAVAdosya.java

Derleyici (javac)

Yorumlayıcı (javac)

.java .class

Java kaynak kodu

Derleyici

BYTECODEJAVA API

Java RuntimeJVM

İşletim Sistemi

Donanım

Page 18: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 18

JAVA Sürümleri

J2SE : Standart SürümJ2ME: Mikro Sürüm (Mobil Cihazlar İçin)J2EE: Enterprise Sürüm (Tüm uygulama geliştirme amaçları için)

Page 19: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 19

JAVA İlk Program Örneği

Dosya: İlkProgram.java

class IlkProgram{public static void main(String[] args){

System.out.println(“İlk Java Uygulaması”);}

}

Page 20: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 20

JAVA

Yazdığımız IlkProgram sınıfı IlkProgram.java ismiyle kaydedilir.

Page 21: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 21

JAVA

Yazdığımız IlkProgram sınıfı IlkProgram.java ismiyle kaydedilir.

Page 22: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 22

JAVA

J2SE nin kurulumunun sisteminize yapilmis olmasi gereklidir.

Page 23: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 23

JAVA

Kurulum işleminden sonra bilgisayarınızda şu konumdadır :

Page 24: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 24

JAVA

Sisteminizde Java derleyici ve yorumlayıcının tanınması için Sistem Değişkenlerini değiştirmeni gereklidir.

Page 25: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 25

JAVA

Page 26: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 26

JAVASisteminizde Java derleyici ve yorumlayıcının tanınması için Sistem

Değişkenlerini değiştirmeni gereklidir.

Page 27: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 27

JAVA

Page 28: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 28

JAVA Derleme ve Calistirma

Page 29: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 29

JAVA Derleme ve Calistirma

Page 30: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 30

JAVA Derleme ve CalistirmaOluşan IlkProgram.class dosyası package ifadesi ile belirtilen klasör yapısında

olmalıdır.

Bu hatanın nedeni java yorumlayıcısının (java) sınıfı kendi sınıfları içinde görmemesinden kaynaklanmaktadır.

Page 31: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 31

JAVA Derleme ve Calistirma

-cp parametresi ile yorumlayıcının sınıfı verilen klasör içinde araması sağlanabilir.

Page 32: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 32

JAVA Derleme ve Calistirma

2. Yöntem olarak sistem özelliklerindeki CLASSPATH parametresine yeni sınıfınızın bulunduğu klasör eklenir ve sistem yeniden başlatılır.

Page 33: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 33

JAVA Derleme ve Calistirma

Bu şekilde çalıştırılabilir.

Page 34: Görsel Programlama - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya... · Görsel Programlama - Ders01/ 4 Nesne Yazılımlarda kullanılan

Görsel Programlama - Ders01/ 34

Görsel Programlama

DERS 01