Bir sınıf kutusunda bir özellik tanımı tam şekliyle aşağıdaki gibidir:
- ad : tür [1] = "Adsız" {yalnızca okunur}
• Tanımın en başında özellik tanımının dışarıdan erişilebilirliğini belirten bir eksi (gizli, özel) veya artı (dışarı açık) sembolü bulunur.
• Özelliğin bir adı vardır.
• Adını izleyen : sembolünden sonra özelliğin türü gelir. String (karakter dizgisi), Boolean (mantıksal belirteç), Integer (tamsayı) gibi programlama dillerinde tanıdığınız değişken türlerinden birini koyarsınız buraya.
• Özelliğin çokluğunu köşeli parantezler içinde yazarsınız. Burada sınıf türünden bir nesnenin bu özellikten kaç tanesine sahip olacağı konusunda bilgi verirsiniz. Burada basitçe bir tamsayı değeryerine, özel anlamlara gelen semboller kullanabilirsiniz. Kitaptaki gibi, bu konuya sonra değineceğiz.
• = sembolünden sonra özelliğin varsayılan (ilk) değerini koyarsınız.
• Kıvırcık parantezler {} içinde de özellik hakkında ek bilgiler koyarsınız. Bu örnekteki gibi dışarıdan değiştirilemeyecek olan bir özellik {yalnızca okunur) yani {readonly}) olarak nitelenir.
Bu prensiplere göre çizilmiş bir sınıf şemasındaki kutu aşağıdaki gibi gözükür:
"AlınanTarih" Date (Tarih) türünden, "ÖnÖdemeli" Boolean (mantıksal belirteç) türünden bilgilerdir. "AlınanTarih" bilgisi ya hiç yoktur (o zaman çokluğu 0 olur) ya da vardır (o zaman çokluğu 1 olur). "ÖnÖdemeli" bilgisi ise mutlaka vardır (varsayılan değer, projenin gereksinimlerine göre True, doğru, ya da False, yanlış olabilir).
"Ürünler" ise "SiparişÜrünü" diye ayrı bir sınıf türünden birden fazla belirsiz sayıda çokluğu olan (bunu * ile gösteriyoruz) bir dizidir. {ordered} (sıralı) etiketinden bu dizinin sıralı saklandığını anlıyoruz.
Kitap bu aşamada aynı gösterimin sınıflar ve türler arasındaki ilişkiler (associations) ile gösterimi konusunu da gösteriyor, ama biz daha basit olan bu şekli göstermekle yetineceğiz. Zaten sınıf şemalarını geniş açıdan incelerken sınıf ilişkilerinin görselleştirmesini de tarif edeceğiz.
Hiç yorum yok:
Yorum Gönder