Sınıf Diyagramı

Herkes proje geliştirirken sınıfları kullanıyor en azından nesne yönelimli projelerde kullanıyor. Yazılım projelerinde analizler yapılıyor. Bu analizlerin sonucunda bir dokümantasyon yapılıyor. Projenin analizi sonucu elde edilen sonuçlar ile birçok diyagramla DIAGRAMLARICINTIKLA desteklenerek bu dokümanı okuyacak geliştirici için açıklayıcı bir belge haline getiriliyor. Bir proje geliştiriyorsunuz ve önünüze veritabanı ve sınıfların yapısı hazır geliyor. Bana hayal gibi geliyor 🙂 Bu düzende çalışan arkadaşlar varsa deneyimlerini yazı altına yorum olarak yazarsa mutlu olurum. Neyse dönelim konumuza. Ben sınıf diyagramını anlatıp model bir sınıf diyagramı çizeceğim.

Yanda gördüğünüz bir modeldir. Yani bir sınıf diyagramı örneğidir.

  • Class 1 yazan yere sınıf isminizi,
  • Attribute 1 yazan yere sınıf özellik adımızı ; Type yazan yere özelliğin veri tipini,
  • Operation 1() yazan yere de metotlarımızın isimlerini gireceğiz.

Örneğe şöyle devam edelim.

 

  • Class 1: Ogrenci
  • Attribute 1: OgrenciAdi -> Type: String
  • Operation 1(): OgrenciYasHesapla()

Olarak örneğimizi tamamlayalım. Bir kere bile sınıf yazmış ama diyagram hiç çizmemiş arkadaşlarımız bence bu örneği çok iyi anladı.Dikkat ederseniz özelliklerin ve metotların yanında bir eksi   ( – ) işareti var. Bunun da bir anlamı var elbette.

+ Public:Foknsiyona  sınıf içinden ve sınıf dışından erişime izin verir.Ayrıca Kalıtım ile aktarılır.

– Private:Bu erişim belirteci işaretlenen ögeye sadece sınıfın içinden erişilebileceği anlamına gelir.Ve bu ögeler kalıtım yoluyla aktarılmaz.

# Protected:Bu erişim belirteci işaratlenen ögeye sadece sınıfın içinden erişilebileceği fakat alt sınıflara aktarılabileceği anlamına gelmektedir.

 ~ Package:Eğer sınıfımız başka bir sınıfın alt sınıfı olacaksa extends anahtar sözcüğü ile aktarılır. Public:Private:Protected:Package:Kaynak

Gördüğünüz gibi size her şeyi anlatan bir diyagram çizmiş olduk. İyi çalışmalar.

2 thoughts on “Sınıf Diyagramı

    1. Teşekkür ederim Gökhan. İnanıyorum mesleğimin ilerleyen aşamalarında çok daha detay yazılar yazacağım 🙂 Şuan için başlangıç seviyesinde tutuyorum.

Bir Cevap Yazın