OOP: Polimorfizm

OOP: Polimorfizm

Kapsülleme ve kalıtım konularından sonra sıra geldi polimorfizme. Polimorfizm, Türkçe’de çok biçimlilik olarak çevriliyor. Polimorfizmi anlatmak için JUnit in Action kitabında gördüğüm güzel bir örneği vereceğim. Bu örnek sayesinde polimorfizm’in kullanım amacını da göstermiş olacağım. Örnek göstererek anlatmayı daha uygun buldum. Ben önce örnekleri inceleyip sonra açıklamaları okurdum. Bu sayede daha kolay kavrıyorum. Aynı yöntemi burda da uygulayacağım. Bu konuyu kavramanız için kalıtım konusuna hakim olmanız gerekmektedir. Örneğimizde bir yazıcımız var.

OOP: Kalıtım

OOP: Kalıtım

Bir önceki yazımda OOP konusuna giriş yapmış ve kapsüllemeyi anlatmıştım. Bu yazımda ise “Kalıtım” konusundan bahsetmek istiyorum. Kalıtım (inheritance) kelimesi aslında biyolojide anlamı ile aynıdır. Adından da anlaşılacağı gibi bir sınıfın özelliklerini diğer sınıfa olduğu gibi aktarmasıdır. Peki böyle bir özelliğe neden ihtiyaç duyarız. Bir üniversitedeki öğretim görevlilerini ve öğrencileri modelleyen iki sınıf tanımlayalım. Öğrenci sınıfı öğrencinin adını, soyadını, okul numarasını, T.C. kimlik numarasını, bölümünü içersin. Öğretim görevlisi sınıfı ise öğretim görevlisinin adını, soyadını, hangi bölümün kadrosunda yer aldığını, T.C.

OOP: Kapsülleme

OOP: Kapsülleme

Blogumda yazılım ile ilgili pek bir yazı olmadığından artık bazı konularda yazılar yazmaya karar verdim. Bu yüzden programlamanın en temel ve en önemli konularından biri olan Nesne Yönelimli Programlama’yı elimden geldiği kadar anlatmaya çalışacağım. Object Oriented Programming bir programlama yaklaşımıdır. Nesneye yönelik programlama, nesneye dayalı programlama, nesne tabanlı programlama, nesne esaslı programlama gibi bir çok çevirisi vardır. Ben de Türkçe de daha çok yaygın olan nesne yönelimli programlamayı kullanıyorum. Fakat genelde bahsederken OOP olarak kısaltacağım.

Test Güdümlü Yazılım Geliştirmeye Merhaba

Test Güdümlü Yazılım Geliştirmeye Merhaba

“Test Driven Development” yani Türkçe söylersem “Test Güdümlü Yazılım Geliştirme” ile birkaç ay öncesinde tanıştım. Fakat bu konuda halen öğrenmeye devam ediyorum. Bu konuda bildiğim temel bilgileri paylaşmak istiyorum. Aynı zamanda bu konuda kendimi geliştirdikten sonra geri dönüp düşüncelerime tekrar bakmak istiyorum. Aslında blog tutmamın en sevdiğim yanı da budur. Yazılım ile ilgili düşüncelerim sürekli değişmektedir. Bu değişimi takip etmenin bir yolu da blog yazmaktır. Öncelikle yazılım yapmak demek sadece kod yazmak anlamına gelmez.

Hedefim Kurumsal Java

Hedefim Kurumsal Java

Bilgisayar mühendisliği okuyan her öğrencinin veya mezunun bir alan seçmesi ve o alanda uzmanlaşması gerekir. Her alanda uzmanlaşmak mümkün değildir. Bilgisayar mühendisliği çok genel bir alan. Üniversitelerimizde malesef herşeyin temeli anlatılıyor. Uzmanlaşmak için bir alan seçip o alanda okuldan bağımsız bir şekilde ilerlemek gerekiyor. Mezun olduğumuzda ise 0. basamaktan başlıyoruz. Bütün bunların farkına varınca benim de bir seçim yapmam gerekti. Bazı alanlarda çalışıp birşeyler öğrenmeye çalışınca hiç bir alanda ilerleme kaydedemediğimi farkettim.

Linux Yaz Kampı - 2

Linux Yaz Kampı - 2

Bolu’da yaz kamp devam ederken, teorik eğitim sona ermişti. Artık kod yazmanın zamanı gelmişti. Yazacağımız uygulama Tekir ön muhasebe projesiydi. Bu arada sınıftaki öğrenci sayısı da azalmaya başlamıştı. Daha sonra ekiplere ayrıldık. Toplam 5 ekip vardı. Ben de controller (Java) sınıfı yazmak istediğim için ekip4’te yer almak istedim. Proje içerisinde kod satırı / gün sayısı hesabına göre az iş yapsak da Scrum çevik yöntemini uyguladık. Ekip olarak biz de çok az iş vardı.