Eki 01   Nesne Yönelimli Javascript

Tags Kategori? Javascript  | Yorumlar » 9 yorum

Pro Javascript TechniquesBlogum oldukça statik bir sayfa olmaya doğru yeltenmişken, yeni bir yazının tam sırası diye düşünüyorum. Konumuz JavaScript. Sanırım dünya üzerinde uzun yıllar boyunca akılda kalan ama bir türlü gerçek anlamıyla özellikleri kullanılamayan sadece ordan burdan zıplayan efektler yapmak için kullanılan tek dildir JavaScript. Her zaman bana çok angarya gelmiş ve istemci taraflı olduğundan ısınmakta zorluk çektiğimden 2005'e kadar ciddi anlamda öğrenmeyi reddetmişimdir. Ama ne olduysa 2005 - tabiiki de o XmlHttpObject denilen şey sayesinde - başına oturup, adeta yetenekleri karşısında ağzım açık bir şekilde tıkanıp, sadece daha fazla özelliğini keşfetmek için web'i, kitapları, herşeyi karıştırdığım bir dil olmuştur.

Birçok geliştiricinin arası aslında JavaScript ile iyi değildir. Prototype, Dojo, jQuery vs.nin bugün bu kadar hızlı çıkış yapmasının sebebi de budur. Bu framework'ler bize Javascript'in tüm yeteneklerini keşfetmemizde kolaylık yaratarak başta moral vermişlerdir bir kere. Ama en önemlisi, "Bir dakika, bu dilde herşey nesne yönelimli" dememizi sağlamışlardır. Evet, Javascript'te fonksiyonlar dahil herşey nesnedir.

Peki, biz neden nesne yönelimli yazmıyoruz? Başlangıç olarak basit bir nesneyi tanımlamak için neler yapmamız lazım? Başlayalım... Kareyi soyutlamaya çalışalım örnek olarak.

JavaScript:
  1. function Kare(kenar){
  2. this.kenar = kenar;
  3. // constructor,  Kare sınıfının kenar adında bir özelliği var
  4. }
  5. Kare.prototype.alan = function(){
  6. return this.kenar * this.kenar;
  7. }
  8. Kare.statikFonksiyon = function(){
  9. alert("Bu fonksiyonu çağırmak için Kare'den bir nesne yaratmak gerekmiyor.");
  10. }

Evet, örnekte ilk adım olarak bir constructor ile statik ve statik olmayan metodlar yaratmayı öğrendik. Kalıtım ve polymorphism konularını da başka bir yazıya bırakırsam sanırım size, elinizin altında hazırda çalıştırdığınız JS parçalarını bir de nesne yönelimli düşünmek için zaman verebilirim. Ayrıca "Javascript'in dönüşünü benimsiyorum, büyük çapta uygulama geliştirmek istiyorum" diyen biri gibi hissediyorsanız, John Resig'in Pro Javascript Techniques kitabı tam bir şahaser. Ama dikkatli olun, eğer bu dile yeni başlıyorsanız kesinlikle uzak durmanız gereken bir kaynak. Kitabın hedef kitlesi JavaScript'in ABC'sini çözmüş ve profesyonellik arayan kişiler.