Etiket arşivi: programlama

Soyut Metodlar(Abstract Methods) ve Arayüzler(Interfaces)

Daire, dikdörtgen, veya diğer figürler için bir sınıf oluşturmak istersek her sınıfta figürü çizen çiz() ve figürü hareket ettiren taşı() metodları olmalıdır. Daire sınıfında, çiz() metodu ve taşı() metodu dairenin merkezi etrafında gezerek çizim yapar. Burada  çizim sınıfında iki metod ve bunlarla alakalı  sabit tanımlayıcılar tüm figür sınırları için geçerli olmaktadır.

 

Şekil arayüzü iki sabit ve iki soyut metoddan oluşuyor. Arayüz sınıflarında bütün metod ve sabit tanımlayıcıları publictir. Tekrardan başına public yazmaya gerek yoktur. Başka bir sınıf bu arayüzü kullanmak istediğinde buna arayüzü implement eden sınıf denir. Örneğin daire sınıfı gözönüne alırsak :

 

Arayüzlerde constructor bulunmaz çünkü constructorlar her zaman sınıfa özgüdür. Arayüzlerde bu eksiklik onların direk kullanımı engeller. Yani Sekil arayüzümüzden direkt olarak Sekil nesnesi oluşturamayız. Aşağıdaki şekildeki çağırım illegal olacaktır.

624 total views, 0 views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Yazılım Mühendisliği Nedir?

 

Yazılım mühendisliği bir modelleme(modeling) eylemidir. Yazılım mühendisleri karmaşa problemiyle modelleme yoluyla, sadece ilgili detay üzerine odaklanarak geri kalanları göz ardı ederek başa çıkar. Farklı yazılımlar için birden çok geliştirme modeli olabilir.

Yazılım mühendisliği bir problem-çözme(problem-solving) eylemidir. Modeller kabul edilir bir çözüm bulmak için kullanılır. Etkili sonucu bulma tecrübeyle doğru orantılıdır.

Yazılım mühendisliği bir bilgi-edinme(knowledge-acquisition) eylemidir. Yazılımı modellerken ve çözüm altyapısını oluştururken, yazılım mühendisleri veriler toplar bilgi olacak şekilde düzenler.

Yazılım mühendisliği mantığa-dayandırma(rationane-driven) eylemidir.  Bilgi edinildiğinde   sistem veya yazılım etki alanında karar verirken, yazılım mühendisleri hangi kararların hangi mantıksal sebeplerle verildiğini belirtir.

 

 

651 total views, 0 views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail