izmir escort escort izmir porno porno izle
Java dersi - IRCForumları - IRC ve mIRC Yardım ve Destek Platformu
User Tag List

Standart Java dersi #1
Üyelik Tarihi: 24 Şubat 2015
Mesajlar: 54
Aldığı Beğeni: 0
Beğendikleri: 0
23 Mart 2015 , 14:59
Alıntı ile Cevapla
Merhaba arkadaşlar;

Günümüzde kullanılan programlama dilleri arasında, şahsi fikrime göre Java en iyi dil. Gerçek anlamda platform bağımsızlığı, zekice hazırlanmış yapısı, hemen hemen herşeyin desteklendiği kütüphaneleri ve yakında açık kaynak koda dönüşecek olmasıyla bundan daha iyi bir dil olduğuna inanmıyorum. Bu yüzden Java'yı, bu dile yakışır şekilde, olabildiğince sade ve bir o kadar da açıklayıcı anlatmaya çalışacağım. Kodlamaya girmeden önce, Java'da kod yazabilmek için gerekli herşeyin adım adım nasıl yapılacağını öğreneceksiniz. Compiler nasıl yüklenir; Java IDE'lerinden Eclipse nasıl kurulur, nasıl kullanılır sorularına bu yazıda cevap bulacaksınız.

Öyleyse başlayalım:

Java'nın çalışma prensibi...
Java alışılageldik programlar gibi çalışmaz. Yazmış olduğunuz Java kodu derlendikten sonra, Bytecode'a çevrilir. Bytecode daha sonra JRE (Java Runtime Environment - Java Çalışma Ortamı) tarafından sunulan JVM (Java Virtual Machine - Java Sanal Makinesi) ile, hangi bilgisayarda kullanıyorsanız o yapıya uygun hale dönüştürülüp çalıştırılır. İşte bu sayede Java'nın platform bağımsızlığı sağlanmış olur. Yani temelde yazdığınız kodlar, direkt olarak makinede değil. Makine üzerinde kurulu olan sanal bir makine (JVM) tarafından çalıştırılır.

Yeri gelmişken Java'nın fotokopisi C# için de birşeyler söyleyeyim. C# da platform bağımsızdır. Ama kullanmanız gereken platform 'de facto' Microsoft Windows'tur. C#'ta yazıp derlediğiniz kodu, Linux gibi bir platforma taşırsanız bu program çalışmayacaktır. Çünkü Microsoft Linux'a destek vermemektedir ve ürünlerinin hiçbirini de bu platformda çalıştırmamaktadır. Gerçi Novell'in önderliği ile Mono ve GNU'nun önderliği ile yürüyen DotGNU, C# programlarınızı Linux'ta da çalıştırmanızı sağlamaktadır. Ancak bahsetmiş olduğum gibi bu Microsoft'un desteklediği birşey değildir. Umarım bu söylediklerimden sonra, C#'ın Java'dan üstün olduğunu söyleyip, üzerime saldıranlar olmaz.

C# son derece güzel bir başka dil olmasına rağmen, Java kadar uygun hâle gelebilmesi için yaygınlaşması gerekiyor. Sitemizin sonraki aşamalarında C# ile programlamaya da değineceğiz. Ama bu bazı gerçekleri değiştirmiyor. Neyse, devam edelim...

Java'nın çalışma yapısını yukarda anlattım. Java ile yazılmış bir programı çalıştırmanız için Java Çalıştırma Ortamına gereksinim duyarsınız. Bu nedenle herşeyin başında, JRE (Java Runtime Environment) yüklemenizi öneririm. İkinci aşamada kuracağımız J2EE içersinde kendi JRE olmasına rağmen, tamamen bağımsız bir JRE kurmanız daha yerinde olacaktır. Çünkü test aşamalarında, standart bir JRE kullanmanız daha doğru sonuçlara neden oluyor. En azından kendi yaşadıklarımı düşününce, atladığım bazı noktaları tekrar yakalamamı sağladığını söyleyebilirim.

JRE Kurulumu
JRE (Java Runtime Environment) kurmak için Java Downloads for All Operating Systems adresine girin. Buradan işletim sisteminize uygun, versiyonu seçip indirmeye başlayabilirsiniz. JRE yüklemek için iki opsiyonunuz vardır. Birisi kullandığınız tarayıcı üzerinden yüklemeyle olurken, diğeri setup dosyasını indirip kurmanız şeklinde oluyor. Verdiğim linkteyse setup dosyasını inidirip kuruyorsunuz. Sonraki kurulumlarda kullanmak açısından, böyle daha iyi olacaktır. JRE'yi yükledikten sonra, Windows için command prompt'u, Linux için shell'i açarak 'java -version' yazın. Eğer karşınıza versiyon bilgileri gelmişse, JRE'yi sorunsuz yüklediniz demektir.

JDK Tipleri
Şimdi gelelim Compiler kısmına... Yukarda anlattığım kısım, sadece Java programlarını çalıştırmak içindi. Yazdığınız kodun derlenmesi içinse, bir compiler'a (derleyiciye) ihtiyaç vardır. Java desteklediği özelliklere göre SDK'larını (Software Development Kit) üçe ayırmıştır. Çok kısaca -belki de üstün körü demek daha doğru olur- bahsedecek olursam:

J2ME(Java 2 Micro Edition): Mobil uygulamaları geliştirebileceğiniz bir ortam sunar. Kullanabileceğiniz fonksiyonlar ve özellikleri çalışacağı ortama göre (cep telefonu vb.) sınırlandırılmıştır.

J2SE(Java 2 Standart Edition): Standart uygulamalar geliştirmek içindir.

J2EE(Java 2 Enterprise Edition): Aklınıza gelebilecek hemen herşeyi kapsayan, çok katmanlı yapıda proje geliştirmenizi sağlamak için kullanılır. Servlet, JSP vb. birçok şeyi kapsadığı gibi, J2SE'nin da her özelliğini kapsar. Kısacası en üst düzey bu oluyor.

Şimdi gelelim hangisini yükleyeceğimize... Ben yaptığım işlerde Servlet kullandığımdan dolayı J2EE'yi tercih ediyorum. Ama Servlet kullanmasaydım da onu tercih ederdim. Çünkü yarın öbür gün kullanmak isteyebileceğim şeyleri de içermektedir. Belki bu biraz bir boy büyük alalım, seneye de giyer mantığından kaynaklanıyor olabilir. Ona karar veremiyorum

J2EE'yi Yüklemek
J2EE'yi yüklemek için:

J2EE v1.4 Downloads adresine girin. ( Yazıyı okuduğunuz tarihte daha üst sürümler çıkabilir. Bu nedenle verdiğim linkler geçerliliğini yitirmiş olabilir. Böyle bir durumla karşılaşırsanız, Oracle Technology Network for Java Developers adresinden, J2EE'nin en güncel versiyonunu zorluk çekmeden bulabilirsiniz. ) Vermiş olduğum adreste parça parça yükleme imkanı bulunmaktadır. Bence hiç uğraşmayın ve All-In-One Bundle seçeniğini yükleyin.

Eğer Windows işletim sistemi kullanıyorsanız ve kurulum esnasında bir sıkıntı yaşarsanız (örneğin, kurulumun %10'da takılması gibi), panik yapmayın. Çözüm Linkine basın. Burada yazanları uygularsanız, sorun kalmayacaktır. Genelde bu Windows\System32 içersindeki productregistry dosyasından kaynaklanan bir hata oluyor. Verdiğim çözüm linkine basarsanız, çok daha güzel bir yönlendirmeyle sorununuzu çözebilirsiniz.

Eclipse Kurulumu
Yükleme bittikten sonra, artık Java programlarını da derleyebilir hale geleceksiniz. Ancak metin belgesinde yazıp, programı derlemeyeceğimize göre, bize bir IDE (Integrated Development Environment - Geliştirme Ortamı) gerekmektedir. Java'da kod geliştirmek için birçok geliştirme ortamı mevcuttur. Şu ana kadar ona yakın geliştirme ortamı kullanmış biri olarak, gözü kapalı Eclipse'i öneririm. Eclipse IBM firması kanalından çıkmış ve tamamen ücretsiz olan gördüğüm en iyi Java geliştirme ortamıdır. Open Source dünyasından inanılmaz bir destek görmektedir. Hemen hemen her konuda plugin bulabileceğiniz adresler mevcuttur. ( Örneğin, New and Updated Solutions | Eclipse Plugins, Bundles and Products - Eclipse Marketplace )

Lafı çok uzatmadan bu güzel geliştirme ortamının nasıl yüklenip kurulacağına gelelim. Eclipse kurulmaz Eclipse direkt indirilir, sıkıştırılmış olduğu dosyadan açılır ve çalışmaya hazırdır.

Önce Eclipse - The Eclipse Foundation open source community website. adresine girin. Burada yukardaki Download kısmından Eclipse'i indirebilirsiniz. İşletim sisteminize uygun versiyonu belirleyin. (Gerçi sistem uygun versiyonu belirleyip, direkt onu yüklemenizi önerecektir.) Sonra verilen linke tıklayıp, s��kıştırılmış boyutta olan programı indirin. Aşağı yukarı 100 MB olan sıkıştırılmış dosyayı indirip açıktan sonra, hemen kullanmaya başlayabilirsiniz. Extract ettiğiniz klasörde Windows için eclipse.exe diye bir çalıştırılabilir dosya göreceksiniz. Buna tıklarsanız Eclipse'i başlatırsınız. İlk başlatmada, size çalışma ortamınızı sorar. Çalışma ortamı (workspace) projelerinizin kaydedileceği ve yürüteleceği temel yerdir. Burayı istediğiniz şekilde belirtebilirsiniz.

Bundan sonra karşınıza Eclipse'in karşılama ekranı çıkacaktır:


Herşeyden önce Eclipse'te bazı ayarlar yapmamız gerekiyor. Üst menülerde bulunan Window'a basın. Açılan menüden en altta bulunan Preferences'a basın. Burada Eclipse'e ait hemen hemen bütün yapılandırmaya dair bilgi bulunmaktadır. Bizim yapmamız gereken ilk şeyse, Java Çalışma Ortamını tanıtmaktır. Bunun için yandaki ağaç yapısından Java'ya tıklayın. Çıkan alt menüden Installed JREs kısmına gelin.
Bu resim yeniden boyutlandırılmıştır, tam halini görmek için tıklayınız.

Ekranda gördüğünüz gibi Add kısmına basın.


Karşınıza yeni bir ekran gelecektir. Bu ekranda JRE Name kısmına J2EE veya herhangi bir isim verebilirsiniz. JRE Home Directory kısmındaysa Browse'a basın. Diyelim ki J2EE'yi daha önce C:\Sun klasörü altına kurdunuz. O halde Browse'dan, önce Sun daha sonra jdk'yi seçmeniz gerekmektedir. Tamam'a bastığınızda, aşağıda jar paketleri oluşur. Başarılı bir ekran görüntüsü aşağıdaki gibi olacaktır:


Bundan sonra tamam'a basıp bir önceki menüye dönüyoruz. Burada, J2EE adını verdiğimiz çalışma ortamının yanında ki tiki işaretliyoruz. OK'e basıp gerekli yapılandırmayı tamamlıyoruz. Artık proje geliştirmeye başlayabiliriz.

Şu an en başa, karşılama ekranına döndük. Yeni bir projeye başlayabilmek için üst menüden File->New Project yolunu takip ediyoruz. Karşımıza gelen ekranda projemize bir isim veriyoruz. İleri dediğimiz anda projemiz oluşmuştur. Eğer direkt olarak çalışma alanına yönlendirilmediyseniz, Karşılama ekranını kapatmanız gerekebilir.

Yanda olan proje menüsünde, proje adınızın görünüyor olması gerekir. Bunun üzerine sağ fare tuşu ile tıklayarak, New-> Class derseniz, yeni bir sınıf yaratabilirsiniz.

Örnek bir uygulama için şöyle bir yol izleyelim. Projenizi gösteren klasör üzerine sağ tuşla tıklayın ve New-> Class kısmına basın. Oluşturacağımız sınıfa HelloWorld diyelim. Sonra oluşturduğumuz sınıfa aşağıdaki kodu yazalım:

public class HelloWorld
{
public static **** main( String args[ ] )
{
System.out.println("Hello World!");
}
}

Kodu çalıştırmaya gelince... Yukarda play tuşuna benzer bir simge göreceksiniz. Ona tıklayın. Run As'e gelin. Ve Java Application'i seçin. Aşağıdaki resimde görebilirsiniz:


Daha basit bir yöntem için önce Alt + Shift + X tuşlarına basın. Sonra bunları bırakın ve J'ye basın. (Alt + Shift + X, J) . Yukarda yaptığımız işin kısayol tuşlarıya çalıştırılması da kısacası bu şekildedir.

------------------------------------
ers 1 - Programlamaya Giriş


Bu yazıda sizleri Java programlamaya yeni başlamış Eclipse(kodları yazacağımız IDE)’ini yeni yüklemiş Eclipse simgesine tıklamış ama ne yapabileceğini nereye kod yazacağını bilmeyen biri olarak görerekten bende sizinle beraber eclipse’imi açıyorum ve Öğrenmeye başlıyoruz.

Burada size javaya giriş kapsamında bir kaç örnek kod yazıcam.Öcelikle Eclipse’i açıyoruz.Solda bulunan Package explorer sütunumuz var.Burda paketlerimiz tutuluyor.Bunu daha sonra ayrıntılı olarak söyleyeceğiz zaten. Şimdilik elimiz alışsın diye bir program yazmamız gerek.Evet package axplorer sutununa sağ tıklıyoruz New>New project diyoruz.Daha sonrada projemize bir isim veriyoruz.”BenimDünyam” ismini verelim mesela.Sonra OK’liyoruz.Artık Package Explorer sutunumuzda bir projemiz var.şimdi bu paketin içinde sınıf(Class)ımızı oluşturalım.Bunu oluşturmak için BenimDünyam projesine sağ tıklayıp New>Class’ ı seçiyoruz.Bunun ismini de ne koyalım? “Merhaba Dünyam” koyalım.Ayrı yazdım ve kabul etmedi.Bunu da öğrenmiş olduk.Sınıfa isim verirken birleşik bir kelime kullanmalıyız.Class yani sınıf( artık yabancı terim kullanmaya alışalım) adımızı koyduktan sonra enterlıyoruz ve artık sınıfımız oluşuyor.Farkında bile olmadan program yazmaya başladık bile.Şimdi aşağıdaki resimde aslında programlama bilenler için basit gelsede.Yeni başlayanlar çok şey öğrenicek.Bu kadar ayrıntıya girmem bilenler için komik geliyor olabilir ama temeli sağlam atmaları gerekiyor yeni başlayanların.




Resimde kafamıza takılan yerleri anlattım.Sınıf adını da dosya adıyla aynı hale getirdikten sonra programımız çalışır hale gelicektir.Ben bu programı nasıl çalıştırcam diyorsunuz duyar gbiyim. Ctrl+f11 kısayolu ile çalıştırabilirsiniz.Ya da üst kısımdaki “run” kısmından halledebilirsiniz.
Şimdi kafamıza “ya bu public ne static ne **** ne?” diye soru işaretleri olabilir.Olması da çok güzel birşey körü körüne öğrenmemiş olursunuz.Kısaca bunlardan söz edicem ilerde daha açık bir şekilde öğrenicez.

public static **** main(String[]args
{
}



Bu bizim main method(ana metod) umuz.Her programda bu main metot bulunmak zorunda.
System.out.println(“”);
Bu ise java dilinde çıktı vermek için kullanılır eğer ekrana bişeyler yazdırmak istiyorsak bu satırı kullanmak zorundayız.

Yani biz ne yapacaksak bu main metot içinde mi yapmak zorundayız diye bir soru işareti oluşabilir tabiki de hayır.Başka bir sınıf daha oluştururuz ve bunun içinden diğer sınıftan bir yordam çağırabiliriz.Örnek üzerinde görsek daha iyi olucak.

public class JavaDunyam
{
public static **** main(String[] args)
{
System.out.println("Java Dunayasina ilk adimimi attim galiba...");
}
public **** Deneme()
{
System.out.println("JavaDunyam içinden bir ses ver bana...");
}
}




Bu bizim JavaDunyam sınıfımız diyelim.Bunun çıktısı ne olur.Tabiki de main metodun içini okur program.Main metodun içinde ne var?
System.out.println("Java Dunayasina ilk adimimi attim galiba...");
Sadece bu var.Ee alttaki Deneme isimli metodumuzu niye yazdık?tabiki de başka bir sınıftan bunu okumam için.Şimdi ayrı bir sınıf daha oluşturuyoruz.Sınıf olusturmayı öğrenmiştik bir projede yüzlerce sınıf olabilir.O yüzden yeni bir sınıf oluşturun ve ismini “Dıger” koyun.Ya da başka bi şey adı size kalmış.

public class Diger
{
public static **** main(String[] args)
{
JavaDunyam jd=new JavaDunyam();
jd.Deneme();
}
}




Bakın ne yaptım? Diğer isimli bir sınıf oluşturdum.hemen ardından bir main metot tanımladım.

JavaDunyam jd=new JavaDunyam();

Bu da neyin nesi diyebilirsiniz.Burda ben bir nesne oluşturdum.Bu kod diyor ki: Buralarda biryerlerde JavaDunyam isimli bir sınıf var ve ben o sınıfın içindeki metotları kullanabilirim demek.Yani artık JavaDunyam sınıfının içine erişebilirim. Bu JavaDunyam nesnesinin ismini jd yaptık.Şimdi önceden yazdığımız Deneme(); isimli kodu kullanabiliriz.Çünkü Deneme isimli metotun içinde bulunduğu sınıfı tanımladık artık tanıyoruz. Jd.Deneme(); satırı bizi jd nesnesinin Deneme(); metoduna gönderiyor.

Sanırım açıklık getirdim bu duruma.Elimden geldiğince basit anlatmaya çalıştım Kafanız biraz karışmış olabilir.Farklı farklı çıktılar verip elinizi alıştırın.Bir çok kez sınıf oluşturun hepsinin içinde metotlar yazın basit basit ve çıktı alın.


Bu arada kimse de sormuyor “;” bunu biz niye koyuyoruz diye.Dil bilgisi dersinde görmüşüzdür.Biten cümlenin sonuna ne sonra gelir? Nokta. Bizde de böyle yani biz javacılar her satırın sonuna “;” koyarız.Bazen koymayız ama şimdilik koymucağımız durumları bilmiyoruz.Öğrendiğimizde zaten koymamamız gereken yerleri göreceğiz.

Unuttuğum yerler inşallah yoktur.Biz de insanız sonuçta bütün herşey aklımıza gelmeyebiliyor.
Umarım javacılar bütün bu dediklerimi uygular ve en önemli adımı atmış olurlar.
Hadi kolay gelsin.







Ders 2 - Herşey Kod Değildir!!



Bu konuda Class mantığını anlatıcam yeni başlayan arkadaşlara.Class lara başlamadan önce Bilmemiz gerek bir kaç şey var. Java dilinin nasıl bir dil olduğu..Java dili bilindiği gibi OOP yani object oriented programming türkçe haliyle nesneye yönelik programlamadili.Nedir bu nesneye yönelik programlama dili.Düşünenler düşünüyor “ nesneye yönelik nesneye yönelik hani nesne? Yoksa nesne de mi bir bilgisayar terimi” Tabiki de hayır.Bu programlar yazılırken tamamen insan çevresi ihtiyac duyduğu araçlar yani insan ihtiyaçları düşünülmüş.Nesne dediğimiz ise biziz.Yani çevremizdeki herşey yaşadığımız alan. Ben size bunu uzun uzun anlatmak yerine mükemmel şekilde anlatmış bir hocamın yazısından alıntı yaparak bu bilgileri size sunmak istiyorum.Unutmayın ki iyi bir programcı da bu bizim geçtiğimiz yollardan geçti. Şimdi size o kısa yazıyı sunuyorum..








Java'nın Tadı Sınıflarda Saklı
Pazar sabahları ne yaparsınız? Peki bir bilgisayar programcısı olsanız ne yaparsınız? Muhtemelen, cumartesi gecesinin sabaha kadar süren çalışmalarından başınızı kaldıramadığınız için, bütün gün uyumak isteyebilirsiniz. Ben çoğunlukla ve düzenli olarak, İstanbul Bostancı sahilinde çok erken saatlerde yürüyüş yaparım. Sabah 6 ile 7 arası inanılmaz bir huzur bulurum burada. Bir yandan denizden gelen tertemiz iyotlu hava, diğer yandan sessizlik, martı seslerinin ahengi ve göz kamaştırıcı güzelliği ile İstanbul boğazının Marmara denizi ile kucaklaşması. Matematikçi olmamın bana verdiği kazanımlardan birisi, etrafta olup bitenleri son derece felsefik inceleyebilme yeteneği. Sizde bilirsiniz ki tarihin en ünlü matematikçileri mantık, sosyoloji, felsefe, psikoloji gibi bilimlerle hep yakından ilgilenmişlerdir. Onlardan birisi olmayı çok isterdim gerçekten.


Herşeyden önce bir programcı pek çok zorlukla, hayatta karşılaştığından çok, programlarını yazarken karşılaşır. O nedenle, sağlıklı ve ruhsal açıdan huzurlu bir beden, onun bu zorlukları aşmasında en büyük yardımcıdır. Ben bu yürüyüşleri çoğunlukla kafamı boşaltmak, kendi dünyamda huzur bulmak ve gözümden kaçan ayrıntıları daha sağlıklı inceleyebilmek amacıyla yaparım. İşte bu sabahta o amaçla yapılan bir yürüyüşteyim.

Adımlarımı attıkça, ciğerlerime dolan nefis iyotlu deniz havası daha sağlıklı düşünmemide sağlıyor. Etrafıma baktığımda, her türden nesneyi daha berrak sezinleyebiliyorum. Nesne! O o! Bu lafı bana kim söyletti? Nesne...Nesne...Gerçekten de şöyle bir durdum ve etrafıma bakındım. Her yerim , ben de dahil olmak üzere nesnelerden oluşmaktaydı. Evrenin sahip olduğu gizemi ve mükemmelliği kimse inkar etmez. Çağımız boyunca ve gelecektede pek çok teknolojik, endüstüriyel, matematik yaklaşıma ilham kaynağı olmuş sistematikler içerir. Bu düşünceler ile tekrar yürümeye başladığımda, nasıl olduysa bir anda kendimi bilgisayar dillerinin gelişimini düşünürken buluverdim. Basic, pascal, C, Fortran vesaire... Sonra tekrar durdum. Aklıma C++,Java,C# gelivermişti birden bire. Hepside nesneler ile uğraşan, nesneler üzerine kurulu yapılara sahipti. Hepside Nesneye Dayalı Programlama dillerindendi.

Nesne kavramını, günümüz modern programlama dillerine kim yerleştirmiş ise eminimki benim gibi bir yürüyüş sırasında bunu yapmıştır diye düşünüyordum. Bir anda kendimi Yazılım Mimarları gibi düşünürken, ayağımı yere sürtüp tepe taklak tabir yerinde ise iki seksen yere uzandım. Allahın tokatı yoktur derler. Neyseki kendime gelmiştim. O adamların tırnağı bile olmak büyük bir onur olurdu sanırım. Evet sonuç itibariyle sabahları bu kadar erken yürümemin nedeni buydu. Tökezleyip düştüğümde etrafta kimsenin olmayışı...Sonuç itibariyle geriye dönüp baktığımda, hem programlama dillerinin nesneye dayalı hale gelmesi ile, yaşamımızın ekosistemini örnek alarak ne kadar büyük üstünlükler sağladığını düşünüyor, bir yandanda ne kadar uzağa yürümüşüm şimdi nasıl geriye dönecem diye veryansın ediyordum. Aklıma her zaman olduğu gibi parlak bir fikir geldi. Dönüşte çevremdeki nesnelerin programlama dillerindeki etkilerini düşünecektim.

Çevremizde ne kadar çok nesne var. Çiçekler, böcekler, insanlar, arabalar, otobüsler, kuşlar, taşlar, kayalar...Bu liste o kadar kabarıkki saymaya kalkmak bile sonsuzlukla çarpışmak gibi bir şey olsa gerek. Her nesnenin belli bir takım özellikleri, işlevsellikleri ve hatta amaçları var. Bazı nesneler bir araya gelerek başka yeni nesnelerin doğmasına neden olurlarken onlara bir takım ortak özelliklerinide veriyorlar. Aynı insanların bir araya gelerek evlenmesi, çocuk sahibi olması ve çocuklarına kendi özelliklerinden bir takım kalıtımlar bırakması gibi. Bazı nesneler kendi içinde kapalı, sahip olduğu değerleri değiştirilemeyen ama gözlemlenebilen türden. Bazı nesneler ufak değişikliklere uğrayarak başka nesnelere ilham kaynağı olmuşlar. Bu çeşitlilik altındaki tüm neselerin ortak özelliklerini bir arada düşünmek ve bir kenara koymak onları bu ortak niteliklerine göre sınıflandırmaktan başka bir şey değil.

Otomobilleri bir sınıf altında düşünebiliriz. Her otomobil 4 tekerlekli, motoru olan, ileri geri hareket edebilen, direksiyona sahip ve benzinle çalışan, gaza basıldığında viteste ise hareket eden, frene basıldığında duran ve bunlar gibi pek çok ortak özelliğe ve işleve sahip olan birer nesne. Ama bu sınıfa ait tüm nesneler bir birlerinden farklı olabileceği gibi birbirlerinin aynısıda olabilir. Otomobil firmalarının arabalarını düşündüğümüzde, hepsinin farklı özelliklere sahip ama temel işlevsellikleri neredeyse aynı olan nesneler olduklarını söyleyebiliriz. Hatta üretim hattından yeni çıkmış tüm gri renkli opel vectra 1.6'lar motor seri numaraları hariç birbirlerinin aynısı olan nesnelerden oluşan bir nesne koleksiyonundan başka bir şey değildir.

İşte gerçek hayattaki nesnelerin bizler için anlamı ve önemi neyse, nesneye dayalı bir programlama dili içinde nesnelerin anlamı o derece önemlidir. Herşeyden önce, bu dillerde bütün kavramlar, nesnelere ve dolayısıyla bu nesneleri oluşturmak yada örneklemek için kullanılan sınıflara bağlıdır. Düşünün ki object sınıfı değilmidir C# dilinde ve hatta Java'da en üst sınıf. Java programlama dilide tam anlamıyla nesneye dayalı bir dil. Dolayısıyla nesneleri kullanan bir dil. Nesneleri, sahip oldukları özellikleri, değerleri ve işlevleri ile kullanan bir dil. Bu düşünceler eşliğinde geri dönüş yolunu tamamladım. Artık eve dönme vaktim gelmişti. Şu andan sonra yapılacak en güzel şey, eve gitmek sıcak bir duş almak ve Pazar sabahının gazetelerini okuyup güne merhaba demekti. Ama ne yazıkki böyle olmamıştı. İçimdeki korkunç öğrenme açlığı, gazete yerine Java ile ilgili kaynakları araştırmama neden oldu. Ama her zaman olduğu gibi yanımda sıcak bir kahvem vardı.


Uzun süre camdan dışarı bakarak sınıfların yerini düşündüm ve onları daha iyi anlamaya çalıştım. Gerçektende Javada'da diğer nesneye dayalı programlama dillerinde olduğu gibi herşey sınıflar üzerine kurulu idi. Dolayısıyla sınıfları çok iyi kavramak programlama dilini öğrenirken yaşadığım süreçte çok ama çok önemliydi. Önemli olan sadece sınıfların nasıl yazıldığını öğrenmek neleri ihtiva edeceğini bilmek değildi. Sınıfları en uygun şekilde, en etkin ve verimli şekilde kullanabilmekte çok önemliydi. Söz gelimi, bu gün .net dilinde, veritabanlarındaki veriler ile çalışmak için inanılmaz kabiliyetli ve yetenekli sınıflar vardı. Java içinde bunların benzerlerini yazmak istememiz bu tip sınıfları tasarlamamız anlamına geliyordu. Veya veritabanlarından okuduğumuz veri satırlarını düşünelim. Bunları birer sınıf nesnesi olarak uygulamamıza yerleştirmek , işlemlerimizi dahada kolaylaştırmazmıydı. Veritabanına bağlanır istediğimiz satıra ait verileri uygun bir sınıf nesnesine aktarır ve bunları tekrar veritabanına gönderinceye kadar bağlı olmak zorunda kalmazdık. Aynı DataSet kavramı gibi. Ama daha sade, daha kolay ve belkide daha etkili.

Elbette Java dilinde veritabanları ile ilgili ne tür işlemler yapabileceğimi ne tür kabiliyetlere sahip olduğumu şu an için bilmiyorum ama ileride bunları öğrenmek içinde can atıyorum. Ama şu an için yapacağım sınıfların nasıl oluşturulduğunu ve kullanıldığını anlamak olucak. Java dilini öğrenmeye devam ettikçe sanıyorumki sınıf kavramını çok daha iyi kavrayacağım. Gerçi, bu kavrama C# dilinden oldukça aşine ve hakimim. Ama Sun'ın belkide bilmediğim sürprizleri vardır bu konuda. Neyse deneyip göreceğiz. Normalde kendimce bu kadar çok konuşmam. Aslında daha az söz ve daha çok hareket taraftarıyımdır. Eeee atalırımız ne demiş; nerde hareket orda bereket. Tipik bir uygulamacı işte. O bakımdan makinemin başına geçip ilk sınıfımı yazsam iyi olucak sanırım.




Hocamızın bu yazısının devamını koymayacağım çünkü ben bu konuda sadece söz ile iletişim kurmak istedim. Kod ile değil.Önce mantık olarak sevmeliyiz bu dili.
Yukarda hocamızın da yazdığı gibi nesne yönelik programlamanın temelleri atılmış.Şimdi düşünelim etrafımızda herhangi bir cisim düşünelim. Ben eve şöyle bir göz gezdirdim. Karşımda 82 cm bir LCD tv gördüm.Şimdi bu bir televizyon.Bunu nasıl Class’a bağlıcak demeyin.Bakın şimdi nasıl bağlayacağım.Bu LCD televizyon bir sınıfım olsun benim.Bu sınıfın ismi LCD TV olsun.Yani etrafımdaki bir nesneye Programlama dilinde LCDtv ismini verdim.Benim televizyonumbu sınıfa ait.Ama olmayabilirdi de.Ya LCD olmasaydı LED olsydı ne olacaktı sınıfsız mı kalacaktı.Bakın günlük yaşamımızda LED tvler çıkmaya başladı bu da demek olabiliyor ki varolan her şeyin bir sınıfı vardır.Ben o LED tv yi de LEDtv isimli bir sınıfa koyarım kafamda. Bir çok çeşidi sınıflandırırım.
Şimdi diyeceksiniz ee hepsi televizyon bunların LED de olsa televizyon LCD de olsa televizyon.E tamam bişey demedik zaten Java da karşı gelmiyor buna. İkisininde babası televizyon diyor. TELEVİZYON sınıfının içinde bunlar dallanmış ve kendi sınıflarını oluşturmuşlar. Televizyon sınıfı ,çamaşır makinesi sınıfı, buz dolabı sınıfı vesaire.Bunlarda Elektronik eşya sınıfının içinde dallanmış ve oluşmuş.böyle böyle hepsinin bir sınıfı var gerek alt alta gidiyor bu sınıflandırma gerek farklı farklı ama hepsinin bir sınıfı var.Ve herşeyin bir en üst sınıfı vardır değil mi.”Varlık” Herşey bir varlıktır değil mi.Yani her sınıf ne olursa olsun mesela Tvkumandası, bu da bir varlıktır değil mi.Java da da bu var.Her sınıfın Atası “Object” yani nesne sınıfı.Bakın doğamızla ne kadar da benziyor java.Doğada bulunup da Java programlama dilinde bulunmayan bir şey görmedim ben.
Şimdi arkadaşlar sınıf kavramını biraz da olsa oturttuk Kısaca Bir sınıfın özelliklerinden bahsedip bitircem.Şimdi az önce biz sınıf saydık saydık saydık da kimse de demedi arkadaş bu sınıflar nedir içlerinde neler vardır.
Sınıfların içinde neler var bakalım.Yine benim güzel LCDtv sınıfımı örnek vericem.Benim bu sınıfımın nesi var.İçinde neler var.Öncelikle bu televizyonumun bir boyu var , bir eni var, bir ağırlığı var tuş sayısı var her tuşun ayrı bir özelliği var, hatta Kumandası bile var!!
Ee var da var.İşte sınıfımızın içinde bunlar var.Ben bir televizyon sınıfı oluşturmak istediğimde de bu sınıfın içini değerlerle doldurmalıyım özellikler atamalıyım bu sınıfıma.İşte biz bu sınıfa atadığımız değerlere değişken diyoruz.Biz ağırlık değişkenini, boy değişkenini en değişkenini direk kendimiz belirliyoruz.Yani bi bir televizyon yapıyoruz aslında.
Sanırım konu burda kod yetmezliğine uğruyor yavaş yavaş.Bu yazıyı burda noktalamak istiyorum bidahaki anlatımda değişken tiplerini ve metodları anlatmayı düşünüyorum.Umarım açıklayıcı olmuştur. Hocama da yazısı için teşekkür sunuyorum.


Kolay gelsin .. Java java java

Standart #2
Üyelik Tarihi: 30 Mayıs 2015
Mesajlar: 111
Aldığı Beğeni: 0
Beğendikleri: 0
02 Haziran 2015 , 03:48
Alıntı ile Cevapla
Daha fazla yazi gorebilmek icin UYE OLmalisin.
bu java'ya iyice merak sarmaya başladım , başlangıç eğitim videoları olursa çok güzel olur .
__________________
Ve daha kaç gemi var, içinde olmak isterken ardından el sallayacağımız ..
Standart #3
Üyelik Tarihi: 17 Haziran 2013
Mesajlar: 3.619
Aldığı Beğeni: 1
Beğendikleri: 0
02 Haziran 2015 , 04:08
Alıntı ile Cevapla
Daha fazla yazi gorebilmek icin UYE OLmalisin.
Alıntı: Pit10 Nickli Üyeden Alıntı
bu java'ya iyice merak sarmaya başladım , başlangıç eğitim videoları olursa çok güzel olur .
Buradan bakabilirsin
__________________
Dinimden Başka övünecek hiçbir şeyim yok
Standart #4
Üyelik Tarihi: 30 Mayıs 2015
Mesajlar: 111
Aldığı Beğeni: 0
Beğendikleri: 0
02 Haziran 2015 , 04:11
Alıntı ile Cevapla
Daha fazla yazi gorebilmek icin UYE OLmalisin.
teşekkürler sky , sık kullanılanlara ekledim .
__________________
Ve daha kaç gemi var, içinde olmak isterken ardından el sallayacağımız ..
Standart #5
Üyelik Tarihi: 20 Nisan 2015
Mesajlar: 1.452
Aldığı Beğeni: 0
Beğendikleri: 0
02 Haziran 2015 , 07:08
Alıntı ile Cevapla
Daha fazla yazi gorebilmek icin UYE OLmalisin.
Bu dersi sevemedim hiç.
Ama programlamada yeri çok büyük
__________________




To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Standart #6
Mesajlar: n/a
Aldığı Beğeni:
Beğendikleri:
28 Haziran 2015 , 10:52
Alıntı ile Cevapla
Daha fazla yazi gorebilmek icin UYE OLmalisin.
Saolasın teşekkür ederim


« Önceki Konu Sonraki Konu »

Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)