Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 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 Görsel Programlama - Ders01/ 2 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.) Görsel Programlama - Ders01/ 3 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. Görsel Programlama - Ders01/ 4 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. Görsel Programlama - Ders01/ 5 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. Görsel Programlama - Ders01/ 6 Nesne ve Sınıf SINIF = PASTA KALIBI NESNE = BU KALIP KULLANILARAK YAPILAN PASTA DIR. Aynı kalıbı kullanarak istediğimiz kadar pasta üretebiliriz. Görsel Programlama - Ders01/ 7 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. Görsel Programlama - Ders01/ 8 Nesne ve Sınıf Nesnenin değişkenlerine (Alanlar-Fields) denilir. Dış çevre : programcı / program Me Alanlar tot -2 ... Nesnenin metotları görüldüğü gibi o nesnenin çekirdeğini (alanlarını) dış çevreden korur. Metot-3 Metot-N Metot-1 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. Görsel Programlama - Ders01/ 9 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 A Firması Veritabanı Sınıfı +kullanıcıAdı +parola +baglan() ... B Firması Adres Defteri veritabanı +KayıtGir() +KayıtSil() Görsel Programlama - Ders01/ 10 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. Görsel Programlama - Ders01/ 11 Nesne ve Sınıf DOĞRU YÖNTEM A Firması Veritabanı Sınıfı -kullanıcıAdı -parola +baglan() +kullanıcıAdıAta( +kullanıcıAdıAl() +parolaAta() +parolaAl() ... B Firması Adres Defteri veritabanı +KayıtGir() +KayıtSil() A firması alan adını kulanıcıAdı yerine username yapsada B firması bu alanı kullanmamaktadır. KullanıcıAdıAta() metodunu kullanmaktadır. Görsel Programlama - Ders01/ 12 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. Görsel Programlama - Ders01/ 13 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. Görsel Programlama - Ders01/ 14 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. Görsel Programlama - Ders01/ 15 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. Görsel Programlama - Ders01/ 16 JAVA dosya .java .java Derleyici (javac) .class Yorumlayıcı (javac) Java kaynak kodu Derleyici BYTECODE JAVA API Java Runtime JVM İşletim Sistemi Donanım Görsel Programlama - Ders01/ 17 JAVA Sürümleri J2SE : Standart Sürüm J2ME: Mikro Sürüm (Mobil Cihazlar İçin) J2EE: Enterprise Sürüm (Tüm uygulama geliştirme amaçları için) Görsel Programlama - Ders01/ 18 JAVA İlk Program Örneği Dosya: İlkProgram.java class IlkProgram{ public static void main(String[] args){ System.out.println(“İlk Java Uygulaması”); } } Görsel Programlama - Ders01/ 19 JAVA Yazdığımız IlkProgram sınıfı IlkProgram.java ismiyle kaydedilir. Görsel Programlama - Ders01/ 20 JAVA Yazdığımız IlkProgram sınıfı IlkProgram.java ismiyle kaydedilir. Görsel Programlama - Ders01/ 21 JAVA J2SE nin kurulumunun sisteminize yapilmis olmasi gereklidir. Görsel Programlama - Ders01/ 22 JAVA Kurulum işleminden sonra bilgisayarınızda şu konumdadır : Görsel Programlama - Ders01/ 23 JAVA Sisteminizde Java derleyici ve yorumlayıcının tanınması için Sistem Değişkenlerini değiştirmeni gereklidir. Görsel Programlama - Ders01/ 24 JAVA Görsel Programlama - Ders01/ 25 JAVA Sisteminizde Java derleyici ve yorumlayıcının tanınması için Sistem Değişkenlerini değiştirmeni gereklidir. Görsel Programlama - Ders01/ 26 JAVA Görsel Programlama - Ders01/ 27 JAVA Derleme ve Calistirma Görsel Programlama - Ders01/ 28 JAVA Derleme ve Calistirma Görsel Programlama - Ders01/ 29 JAVA Derleme ve Calistirma Oluş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. Görsel Programlama - Ders01/ 30 JAVA Derleme ve Calistirma -cp parametresi ile yorumlayıcının sınıfı verilen klasör içinde araması sağlanabilir. Görsel Programlama - Ders01/ 31 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. Görsel Programlama - Ders01/ 32 JAVA Derleme ve Calistirma Bu şekilde çalıştırılabilir. Görsel Programlama - Ders01/ 33 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 34