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.
Yeni başlayanlar için çok faydalı bir yazı olmuş emeğine sağlık 🙂
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.