Java Nedir? Java'da Kod Yazma Kuralları ve Standartları
Java Nedir?
Herkese merhabalar. Bu yazımızda Java programları hakkında genel bilgilerden bahsedeceğiz.
Bir Java programı çoğunlukla, birbirlerinin yöntemlerini çağırarak diğer nesnelerle konuşan nesneler topluluğudur. Yani nesnelerin birbirleri ile haberleşmesini sağlar. Her nesne belirli bir tiptedir ve bu tip, bir class veya bir interface olarak tanımlanır.
■ Class nedir?
Durum ve davranışları nesne olarak tanımlayan şablondur.
■ Object (Nesne) nedir?
Çalışma zamanında(runtime),new anahtar kelime ile oluşturulan yapılardır. Böylelikle başka classlar tarafından oluşan örnekler nesnelerdir. Bu nesnenin kendi durumu ve sınıfı tarafından tanımlanan tüm davranışlara erişimi olacaktır.
■ Değişkenler,Sabitler (instance variables)
Her nesne (bir sınıfın örneği), sınıfta tanımlandığı gibi kendi benzersiz örnek değişkenler kümesine sahip olacaktır. Toplu olarak, bir nesnenin örnek değişkenlerine atanan değerler nesnenin durumunu oluşturur.
■ Yöntemler (metot)
Bir programcı bir class oluşturduğunda, o class için yöntemler(metotlar) oluşturur.
Metotlar, sınıfın mantığının depolandığı yerdir. Mettolar, gerçek işin yapıldığı yerdir. Algoritmaların yürütüldüğü ve verilerin manipüle edildiği yerlerdir.
Tanımlayıcılar(Identifiers) ve Anahtar Kelimeler
Az önce bahsettiğimiz tüm Java bileşenlerinin (sınıflar, değişkenler ve yöntemler) adlara ihtiyacı vardır. Java’da bu adlara tanımlayıcı(identifier) denir ve tahmin edebileceğiniz gibi, yasal bir Java tanımlayıcısını nelerin oluşturduğuna ilişkin kurallar vardır. Tüm programlama dilleri gibi Java da bir dizi yerleşik anahtar kelimeye sahiptir. Bu anahtar kelimeler tanımlayıcı olarak kullanılmamalıdır. Bu bölümün ilerleyen kısımlarında bu adlandırma kurallarının ve Java anahtar sözcüklerinin ayrıntılarını aşağıdaki tabloda görebilirsiniz.
Inheritance
Java ve diğer nesne yönelimli (OO) dillerin merkezinde, bir sınıfta tanımlanan kodun diğer sınıflarda yeniden kullanılmasına izin veren kalıtım kavramı bulunur. Java’da genel (daha soyut) bir üst sınıf tanımlayabilir ve ardından onu daha özel alt sınıflarla genişletebilirsiniz. Üst sınıf, kendisinden miras alan sınıflar hakkında hiçbir şey bilmez, ancak üst sınıftan miras alan tüm alt sınıflar, miras ilişkisini açıkça beyan etmelidir. Bir üst sınıftan miras alan bir alt sınıfa, üst sınıf tarafından tanımlanan erişilebilir örnek değişkenleri ve yöntemleri otomatik olarak verilir, ancak aynı zamanda daha spesifik davranışı tanımlamak için üst sınıf yöntemlerini geçersiz kılmakta serbesttir.
Interface
Arayüzlerin(Interface) kullanımı, kalıtımın güçlü bir bileşenidir. Arayüzler(Interface), bir alt sınıfın desteklemesi gereken yöntemleri tanımlayan yüzde 100 soyut bir üst sınıf gibidir.
Başka bir deyişle, bir arayüzü(interface) kullanan sınıflar arayüzde belirtilen metotları kendine göre uygulayıp kullanmak zorundadır.Karşılıklı kontrat gibi düşünülebilir.
Diğer Class Yapıları ve Erişimler
Basit bir Java programı bile birçok farklı sınıftan nesneleri kullanır.
Java, sınıfları paketler halinde düzenler ve programcılara ihtiyaç duydukları sınıfların adlandırılması ve bunlara erişimin yönetilmesi için tutarlı bir yol sağlamak için import deyimlerini kullanır.
Genel Kod Yazma Kuralları
Bilmeniz gereken birkaç tane kural göstereceğiz.
■ Tanımlayıcılar(identifiers) bir harf, bir para birimi karakteri ($) veya alt çizgi ( _ ) gibi bir bağlantı karakteri ile başlamalıdır. Tanımlayıcılar bir sayı ile başlayamaz!
■ İlk karakterden sonra, tanımlayıcılar herhangi bir harf, para birimi karakteri, bağlantı karakteri veya sayı kombinasyonunu içerebilir.
■Pratikte, bir tanımlayıcının içerebileceği karakter sayısında bir sınırlama yoktur.Fakat anlamlı bir ifade kullanılması kod okuma için iyi olur.
■ Bir Java anahtar sözcüğünü tanımlayıcı olarak kullanamazsınız.Örneğin int ,string vs. gibi.
■ Java’daki tanımlayıcılar büyük/küçük harfe duyarlıdır; sayi ve SAYİ iki farklı tanımlayıcıdır.
Geçerli olan kurallara örnek verelim:
int _a;
int $c;
int ______2_w;
short _$;
string this_is_a_very_detailed_name_for_an_identifier;
Geçerli olmayan yazım kurallarına örnek verelim:
int -d;
int e#;
short .f;
int 8d;
int :b;
■ Yazılan java kod parçasının ömrü boyunca, yüzde 20'sinin kodun orijinal oluşturulmasına
ve test edilmesine harcandığı tahmin ediliyor .Geriye kalan zamanda kod geliştirme
yazılan kodu anlamakla geçiyor.Bu yüzden Java, bir dizi kodlama standardı oluşturmuş
ve bu standartlaraa uyulmasını şiddetle tavsiye etmiştir.
Javanın tavsiye ettiği ve uyguladığı kod standartlarından bazıları şunlardır:
■Sınıflar ve interfaceler için ilk harf büyük yazılmalıdır ve eğer tanımlamada birkaç tane sözcük varsa sınıfı oluşturmak için sözcükler birbirine bağlanır, iç sözcüklerin ilk harfi büyük olmalıdır. Örnek class ve interface tanımları aşağıda verilmiştir.
Kitap
Hesap
Yazici
■Interfaceler için tanımlamalar bir sıfat gibi olmalıdır. Örneğin,
Runnable
Serializable
■ Metotlar için ilk harfi küçük olmalıdır. Ardından gelen sözcükler büyük harfle başlamalıdır. Örnek kullanım aşağıdaki gibidir.
getBalance
doCalculation
setCustomerName
■ Değişkenler(variables) tanımlamaları da metotların standartlarına uygun bir şekilde tanımlanmalıdır. Örneğin,
buttonWidth
myString
■Sabitler(Constants) , değişkenler statik olarak işaretlenerek oluşturulur. Örneğin
PI
MIN_HEİGHT
JavaBeans Standards
JavaBeans özelliği, Java geliştiricilerinin, görsel bir Entegre Geliştirme Ortamı (IDE) aracında (Eclipse veya NetBeans gibi) diğer Java geliştiricileri tarafından kolayca kullanılabilecek Java bileşenleri oluşturmasına yardımcı olmayı amaçlamaktadır. JavaBeans özelliği, adlandırma kurallarını kullanarak, araçların farklı geliştiriciler tarafından oluşturulan bileşenleri tanımasını ve kullanmasını garanti etmeye yardımcı olur.
JavaBeans, bazı özelliklere sahip Java sınıflarıdır. Amaçlarımız için, özellikleri özel örnek değişkenler olarak düşünün. private olduklarından, sınıflarının dışından erişebilmelerinin
tek yolu sınıftaki metotlardır. Bir özelliğin değerini değiştiren metotlara setter metotlar, bir özelliğin değerini alan metotlara ise getter metotlar denir.
JavaBean Özellik Adlandırma Kuralları
■Özellik bir boolean değilse, getter yönteminin öneki get olmalıdır. Örneğin, getSize(), “size” adlı bir özellik için geçerli bir JavaBeans alıcı adıdır. Size adında bir değişkene sahip olmanız gerekmediğini unutmayın (bazı IDE’ler bunu beklese de). Özelliğin adı, sınıfınızdaki herhangi bir değişken aracılığıyla değil, getter ve setterlardan çıkarılır.
■Özellik bir boolean ise, getter yönteminin öneki get veya is şeklindedir. Örneğin, getStopped() veya isStopped(), bir boolean özelliği için geçerli JavaBeans adlarıdır.
■setter metotların öneki ayarlanmalıdır. Örneğin, setSize() size adlı bir özellik için geçerli JavaBean adıdır.
■Bir setter veya getter metodunun adını tamamlamak için, özellik adının ilk harfini büyük harf olarak değiştirin ve ardından uygun öneki ( get , is veya set ) ekleyin.
■setter metotların işaret tipi, geçersiz bir dönüş türü ve özellik türünü temsil eden bir bağımsız değişkenle birlikte public olarak işaretlenmelidir.
■Getter metodu işaret tipi public olarak işaretlenmeli, hiçbir argüman almamalı ve o özellik için setter yönteminin argüman tipiyle eşleşen bir dönüş tipine sahip olmalıdır.
İkinci JavaBean özelliği, bileşenlerin bir şey olduğunda birbirlerini bilgilendirmelerine izin veren olayları destekler. Bir olayın gerçekleştiğini bilgi almak için nesneleri dinlemesine dinleyici(Listener) denir. Interface metotları dinleyicilere örnek olarak verilebilir.
Geçerli JavaBean metot işaretçilerinin örnekleri şunlardır:
public void setDeger(int v)
public int getDeger()
public boolean isBilgilerim()
public void addListener(listener m)
public void silListener(listener m)
Geçersiz JavaBean yöntem imzalarının örnekleri şunlardır:
void setKullaniciAdi(String s) // herkese açık olarak tanımlanmalıdır.
public void modifyDegerim(int v) // ‘modify’ kullanılamaz.
Yazımızdaki Kodlar ve daha fazlası sitemizde yeralmaktadır. http://latestsoftwaredevelopers.com/
Bu yazımızın sonuna geldik. İyi Çalışmalar.Takip etmeyi unutmayın:)