Kayıtlar

Ocak, 2017 tarihine ait yayınlar gösteriliyor

JSF Ders01 - JSF' ye Giriş

   Java Server Faces (JSF), java tabanlı web uygulama frameworküdür. JSF' nin özellikleri aşağıda listelenmiştir. MVC (Model View Controller) yapısına uygun olarak geliştirilmiştir. Ajax'ı destekler. Event Handler yani olay işleyicidir. GUI (Graphical User Interface) frameworküdür. Birçok JSF bileşeni mevcuttur.(Ice Faces, Rich Faces, Prime Faces vs.) Component oriented yani öğe tabanlıdır. Bu yüzden hızlı bir şekilde web uygulamaları yazılabilir. Template Layout (Şablon Planı)'a sahiptir.  Implicit Navigation (Kapalı Navigasyon)'a sahiptir. Bir JSF  projesi şu dosyalardan oluşmaktadır. WebContent/WEB-INF içinde web.xml dosyası WebContent/WEB-INF içinde face-config.xml dosyası WebContent içinde .xhtml dosyaları Java Resources/src içinde java dosyaları Örnek bir web.xml dosyasına yakından bakılırsa; web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance&quo

Java SE Ders27 - Interface (Arayüz) Kavramı

Resim
 Interface (Arayüz) içinde sadece sabit değişkenler ve abstract (soyut) metotlar içeren yapılardır. Sınıflara çok benzemektedir. Aşağıda interface (arayüz) 'in bazı özellikleri ve sınıflardan farkları belirtilmiştir. Sınıflardan farklı olarak extends anahtar sözcüğü yerine, implements anahtar sözcüğü kullanılır. Sınıflar aynı anda bir sınıftan türetilebilirken, bir sınıf aynı anda bir veya daha fazla interface (arayüzü) 'i implement edebilir. Interface (Arayüz) içinde sadece sabit değişkenler ve abstract (soyut) metotlar bulunur. Interface (Arayüz) içerisindeki tüm abstract (soyut) metotları override etmeyen sınıf soyut sınıf olur.Çünkü abstract (soyut) sınıf içerisinde en az bir abstract (soyut) metot içeren sınıftır. Şimdi daha önceki konularda yer alan örneği bu konuya uyarlayalım. Main.java package test; public class Main { public static void main(String[] args) { Sekil s1 = new Kare( 4 ); Sekil s2 = new Ucgen( 2 , 11 ); System. out . println

Java SE Ders26 - Abstract (Soyut) Kavramı

Resim
   Alt sınıfları için  zorunlu override şartı getiren sınıflara abstract (soyut) sınıf denir. Abstract (soyut) sınıfın özellikleri aşağıda listelenmiştir. Abstract (soyut) sınıf en az bir tane abstract (soyut) metot yani sadece signature'ü (imza) bulunan metot bulundurur. Abstract (soyut) sınıfın nesnesi oluşturulamaz. Abstract (soyut) sınıftan türetilen sınıfta  üst sınıfın abstract metodu override edilmelidir.Aksi halde o da abstract sınıf olmuş olur ve nesnesi oluşturulamaz. Abstract (soyut) sınıfta tanımlanmayan abstract (soyut) metot, alt sınıflarda tanımlanması zorunlu kılarak polimorfizme (polymorphism) katkı sağlar. Bir sınıf veya bir metot abstract anahtar kelimesi ile abstract (soyut) yapılır.abstract anahtar kelimesi erişim belirtecinden hemen sonra koyulur.   Polimorfizm (polymorphism) konusunda yapılan örneği bu konuya uyarlayalım. Main.java package test; public class Main { public static void main(String[] args) { Sekil s1 = new Kare( 4 );

Java SE Ders25 - Polymorphism (Polimorfizm - Çok Biçimlilik) ve Late Binding (Geç Bağlama)

Resim
   Polymorphism (Polimorfizm) aynı işi farklı biçimlerle yapmamızı sağlar. Polymorphism (Polimorfizm) işlemi üst sınıftaki bir metodu alt sınıflarda override ederek sağlanır.    Örnek olarak ; Sekil üst sınıfı tanımlayalım. Sekil üst sınıfında şeklin alanının hesaplayan alanHesapla metodu oluşturalım. Sekil üst sınıfından Kare ve Ucgen sınıflarını türetelim. Kare ve Ucgen alt sınıflarında alanHesapla metodunu şekillere uygun olarak override edelim. Böylece alanHesapla metotlarının hepsi alanı hesaplayacak.Fakat kendine has yöntemleriyle hesaplayacak. İşte bu çok biçimlilik polymorphism (polimorfizm) örneğidir. Şekil sınıfından oluşturulan nesnenin hangi sınıfın alanHesapla metodunu çağıracağı koşma zamanında belirlenir.Bu olaya da Late Binding (Geç Bağlama) denir. Main.java package test; public class Main { public static void main(String[] args) { Sekil s1= new Sekil(); Sekil s2= new Kare( 4 ); Sekil s3= new Ucgen( 2 , 11 ); System. out . println ( &

Java SE Ders24 - Composition (Kompozisyon)

Resim
   Composition (Kompozisyon) bir sınıf içerisinde başka bir sınıfın nesnesini oluşturma durumudur. Composition (Kompozisyon) kalıtıma (inheritance) alternatif olarak kullanılır. Sınıflar kalıtımda olduğu gibi hiyerarşik bir yapıda bulunmaz. Composition birleşim olarak da adlandırılır. Şimdi örnek programı yapalım. Main.java package test; public class Main { public static void main(String[] args) { EvcilHayvan e= new EvcilHayvan( "kedi" , "rifki" , 5 ); Kisi k= new Kisi( "enes" , 25 ,e); k. yazdir (); } } Kisi.java package test; public class Kisi { private String ad; private int yas; private EvcilHayvan e; public Kisi(String ad, int yas){ this . ad =ad; this . yas =yas; } public Kisi(String ad, int yas,EvcilHayvan e){ this . ad =ad; this . yas =yas; this . e =e; } public String getAd() { return ad; } public void setAd(String ad) { this . ad = ad; } public int getYas() {

Java SE Ders23 - Aşırı Yüklenmiş (Overloaded) Metotlar

Resim
  Bir metot farklı parametre sayısı ve/veya parametre tipi versiyonları ile tekrar tekrar aynı isimle oluşturulabilir. Bu metotlara aşırı yüklenmiş metotlar diğer bir ifadeyle overloaded metotlar denir. Overloaded metotlarda dikkat edilmesi gereken şey dönüş tipinin farketmemesidir. Yani bir metodun sadece dönüş tipini değiştirerek aynı isim, aynı parametre tipleri ve aynı parametre sayısı ile oluşturulamaz. Metot overload etmek için aşağıdaki koşullardan en az biri farklı olmalıdır. parametre sayısı parametre tipi Şimdi örnek programımızı yapalım. Program da kullanılan alan metodu : Bir tane tamsayı argümanı gönderildiğinde karenin alanını, İki tane tamsayı argümanı gönderildiğinde dikdörtgenin alanını, Bir tane ondalık sayı gönderildiğinde de çember alanını hesaplamaktadır. Main.java public class Main { public static void main(String[] args) { System. out . println ( "Kare\t\tkenar :4\talan:" +alan( 4 )); System. out . println ( "Di

Java SE Ders22 - Override Metot

Resim
  Üst sınıfta tanımlanan bir metodun alt sınıfta işlevini değiştirmeye override etmek denir.Override eden metotlara override metot lar denir. Alt sınıfta override işlemini yapan metodun hemen üstüne @Override etiketi konur. Alt sınıftaki bir metoda @Override etiketi koyulmasa da üst sınıftaki  metodu override etmiş olur. @Override etiketini koymanın avantajı programın yazılma aşamasında programcıya bir bilgi vermesidir.Bu bilgi şudur. @Override etiketi üstüne koyulan bir metot eğer üst sınıfta tanımlanmamışsa derleyici programcıya üst sınıfta böyle bir metot olmadığına dair bir bilgi verecektir.  Şimdi örnek programa geçelim. Main.java package test; public class Main { public static void main(String[] args) { A a = new A(); B b = new B(); a. yazdir (); b. yazdir (); } } A.java package test; public class A { public void yazdir(){ System. out . println ( "A" ); } } B.java package test; public class B extends A { @

Java SE Ders21 - Kalıtım (Inheritance)

Resim
  Bir sınıfın başka bir sınıfın özelliklerini taşıması kalıtım ile sağlanır. Kalıtım sayesinde benzer özellikler taşıyan sınıfların her birinde aynı üye elemanların tanımlanmasına gerek kalmaz.Kalıtımın en üst sınıfında tanımlanması yeterlidir. Kalıtımın en üstünde yer alan sınıfa süper sınıf (super class), altındaki sınıflara ise alt sınıf (subclass) denmektedir. Java'da sınıf hiyerarşisi Object sınıfı ile başlar.Bu sınıf programlama aşamasında açık olarak belirtilmese de tanımlanan tüm sınıfların atasıdır. Java çoklu kalıtıma izin vermez.Bir sınıf iki veya daha fazla sınıfın özelliklerini tek seferde alamaz. Yani elimizde bir A,B,C sınıfları varsa, bu A sınıfı aynı anda B ve C'nin özelliklerini alamaz. Constructor (Yapılandırıcı) metotlar sınıfların kendilerine özeldir kalıtımla alt sınıflara geçmez.Ancak alt sınıfta üst sınıfın constructoru çağrılabilir.Bu super metoduyla yapılır.Bu konuyu daha sonra açılayacağız. Kalıtım extends anahtar kelimesi ile sağlanır. Yani A

Hibernate Ders08 - Inheritance Mapping - V

Resim
   Altsınıf başına tablo örneğini yapalım. Main.java package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class Main { public static void main(String[] args) { Configuration cfg= new Configuration(); cfg. configure ( "hibernate.cfg.xml" ); SessionFactory factory=cfg. buildSessionFactory (); Session session=factory. openSession (); Transaction t=session. beginTransaction (); Personel p = new Personel(); p. setAd ( "enes" ); Maas m = new Maas(); m. setAd ( "enes2" ); m. setMaas ( 3500 ); Araba a = new Araba(); a. setAd ( "enes3" ); a. setMarka ( "opel" ); a. setModel ( "astra" ); session. persist (p); session. persist (m); session. persist (a); t. commit (); session. close (); System. out . println ( "basarili islem !"

Java SE Ders20 - this Anahtar Kelimesi

Resim
   Java'da this anahtar kelimesi birçok amaçla kullanılabilir.Bu amaçlar aşağıda listelenmiştir. O anda kullanılan nesneye referans göstermek için. O anda kullanılan nesnenin özelliklerine erişebilmek için Sınıf içinde başla bir constructor (yapılandırıcı ) metodu çağırabilmek için. O anda kullanılan nesneye referans gösterimi … public void islem(String ad,int maas){    ….     ata(this); } …. O anda kullanılan nesnenin özelliklerine erişme  … public void islem(String ad,int maas){     this.ad=”abc”;     this.maas=123; … } … Sınıf içinde başka bir constructor (yapılandırıcı) metodu çağırma public class Personel{ …     public Personel(){        this(“enes”);     }     public Personel(String k){        ad=k;     } … } Şimdi örnek programımızı gösterelim. Main.java package test; public class Main { public static void main(String[] args) { Personel p= new Person

Java Mini Proje 005 - Dik Üçgenin Hipotenüsünü Bulma

Resim
   Hipotenüs,dik açının karşısında bulunan kenara verilen addır. Aşağıdaki şekilde hipotenüs c kenarıdır.  Hipotenüs kenarının hesaplanışı c^2 = a^2 + b^2  c^2 değerinin de kök alınırsa c yani hipotenüs bulunmuş olur. Şimdi örnek programımızı yapalım. Main.java package test; public class Main { public static void main(String[] args) { System. out . println ( "3,4\t->\t" +hipotenusBul( 3 , 4 )); System. out . println ( "5,12\t->\t" +hipotenusBul( 5 , 12 )); System. out . printf ( "1,2\t->\t%.3f" ,hipotenusBul( 1 , 2 )); System. out . printf ( "\n10,16\t->\t%.3f" ,hipotenusBul( 10 , 16 )); } public static double hipotenusBul( double a, double b){ double a2b2=a*a+b*b; return Math. sqrt (a2b2); } }

Java SE Ders19 - Statik (Static) Anahtar Kelimesi

Resim
   Bir sınıfta tanımlanan bir değişken sınıfın her nesnesi için özeldir. Fakat bir sınıf içindeki değişkeni statik olarak tanımlamak o sınıftan oluşturulacak tüm nesnelerin o değişkeni ortak olarak kullanılacağını söylemektedir. Örnek vermek gerekirse, her birinin kendine ait arabası olan 4 kişi olsun. Bu arabaların benzin durumları sadece arabaların kendi sahibini ilgilendirir. Fakat bu 4 kişi tek bir arabayı ortak olarak kullansalardı (statik) o arabanın benzin durumu herkesi ilgilendirecekti. Statik anahtar kelimesinin özellikleri Statik olmayan sınıf üyeleri sınıftan bir nesne yaratıldığında bellekte oluşturulur.Statik sınıf üyeleri ise sınıftan nesne üretilmese de bellekte vardır.  Statik metotlar static olmayan sınıf üyelerine erişemez.  Statik olmayan metotlar statik olan sınıf üyelerine erişebilir.  Statik sınıf üyeleri tüm nesneler için ortak olduğu için this anahtar kelimesiyle kullanılamaz.(this anahtar kelimesi daha sonra bahsedilecek.) Şimdi buna uygun bir ör

Java SE Ders18 - Sınıflar (Classes) - II

Resim
Yapılandırıcı (Constructor) Metot Kavramı   Constructor metot sınıfta bulunan değişkenlere ilk değerini vermek (initialize etme işlemi) için kullanılır. Bir sınıftan bir nesne oluşturulduğunda o sınıfa ait constructor metodu otomatik olarak çağırılır. Biz sınıf içinde constructor metodu tanımlamasak bile default olarak constructor metodu bulunur.  Tanımlayacağımız constructor ismi sınıf ismiyle birebir aynı olmalıdır. Constructor metotların dönüş tipi bulunmaz. Birden fazla constructor metot parametre tipi veya parametre sayısı farklı olmak şartıyla tanımlanabilir. Şimdi bunun bir örneğini yapalım. Personel.java package test; public class Personel { private String ad; private int yas; private int maas; public Personel(){ this . ad = "belirtilmedi" ; this . yas = 0 ; this . maas = 0 ; } public Personel(String ad){ this . ad =ad; this . yas = 0 ; this . maas = 0 ; } public Personel(String ad, int yas){ this . ad =ad; this .

Java SE Ders17 - Sınıflar (Classes) - I

Resim
  İçinde çeşitli java üye elemanları bulundurabilen yapılardır.Örnek bir sınıf tanımlanması aşağıdaki gibidir. public class Personel{…} Bir sınıf içerisinde değişkenler tanımlanabilir. public class Personel{             private String ad;  } Bir sınıf içinde metotlar tanımlanabilir. public class Personel{             private String ad;                     public vodi setAd(String t){                     ad=t;             }             public String getAd(){                    return ad;             } }   Sınıflar aslında soyut yapılardır. Sınıfl arı somutlaştıran, sınıf lardan oluşturulan nesne lerdir.Yani sınıflar bir değişken gibi davranmazlar. Örneğin, String ad="enes"; diyerek değişkene atadığımız değeri sınıflara atayamayız. Sınıflardan bir nesne oluşturulmalıdır ve oluşturulan nesnenin o özelliğine ancak değer atanabilir. Bir sınıftan nesne oluşturma işlemi aşağıda verilmi