ECMAScript Yönelimli Programlama Tekniği
- Önceki sayfa Kapalı (closure)
- Sonraki sayfa Nesne uygulaması
Yöneldirici Terimler
Nesne
ECMA-262 nesneleri 'özelliklerin boş sıralı koleksiyonu, her özellik bir temel değer, nesne veya fonksiyon存放' olarak tanımlar. Ağır bir şekilde, bu, nesnelerin belirli sıralı bir değer dizisi olduğunu anlamına gelir.
ECMAScript nesneleri bu şekilde tanımlansa da, daha genel tanımı kod tabirlerinin (insan, yer veya şey) temsilidir.
Sınıf
Her nesne bir sınıf tarafından tanımlanır, sınıfları nesnelerin tarifi olarak görebilirsiniz. Sınıflar sadece nesnin arayüzünü (interface) (geliştiricilerin erişebileceği özellikler ve yöntemler) tanımlamakla kalmaz, aynı zamanda nesnin iç çalışmasını (özellikleri ve yöntemlerin etkili olmasını sağlayan kod) da tanımlar. Derleyiciler ve yorumlayıcılar sınıf açıklamalarına göre nesneleri inşa eder.
Örnek
Sınıflar tarafından nesneler oluşturulduğunda, oluşturulan nesneler sınıfın örnekleri (instance) olarak adlandırılır. Sınıflar tarafından oluşturulan nesnelerin sayısının tek sınırlaması, kodun çalıştığı makinenin fiziksel belleğidir. Her örnek aynı davranışta olabilir, ancak her örnek bağımsız bir veri grubu işler. Sınıflar tarafından nesne örnekleri oluşturma sürecine örneklenme (instantiation) denir.
Önceki bölümlerde bahsettiğimiz gibi, ECMAScript resmi bir sınıfa sahip değildir. Aksine, ECMA-262 nesneleri tanımlarını nesne tarifleri olarak tanımlar. Bu, ECMAScript'in mantıksal bir uzlaşma yöntemidir, çünkü nesne tarifleri aslında nesnelerdir. Sınıflar gerçekten yoksa bile, nesne tariflerini sınıflar olarak adlandırıyoruz, çünkü çoğu geliştirici bu terimi daha fazla tanır ve işlevsel olarak ikisi de eşdeğerdir.
Nesnelere yönelik dil gereksinimleri
Bir nesnelere yönelik dilin geliştiriciye dört temel yetenek sağlaması gerekmektedir:
- Kapsülleme - İlgili bilgileri (veri veya yöntemler) nesnelerde saklama yeteneği
- Aşırı - Bir nesneyi başka bir nesne içinde saklama yeteneği
- Kalıtım - Bir sınıf (veya birden fazla sınıf) tarafından sınıfın özellikleri ve yöntemlerinin alınabilme yeteneği
- Polimorf - Birden fazla yöntemle çalışabilen fonksiyon veya yöntem yazma yeteneği
ECMAScript bu gereksinimleri desteklediği için nesnelere yönelik olarak görülebilir.
Nesnenin yapısı
ECMAScript'te, nesneler özellikler (özellik) ile oluşur, özellikler temel değerler veya referans değerler olabilir. Eğer özellik fonksiyon存放 ise, bu özellik nesnenin bir yöntemi (method) olarak görülür, aksi takdirde bu özellik nesnenin bir özelliği (property) olarak görülür.
- Önceki sayfa Kapalı (closure)
- Sonraki sayfa Nesne uygulaması