Nedir bu OOP? ( Nesneye Yönelimi Programlama ) - Part 2

Süeda Karaahmet
Android Türkiye
Published in
3 min readOct 23, 2019

Şimdi de nesneye yönelik programlamayı, iyice oturması için bir örnek üzerinden açıklayacağım.

Öncelikle “oop” adında bir package yani sınıflardan oluşan bir paket oluşturduk. Sonra bu oop paketinin(package) içine “Yetenek” adında interface sınıfı oluşturduk. Bildiğimiz gibi interface’ler, sınıfların hangi metotları ve özellikleri içermesi gerektiğini belirlemeye yarıyordu. Yani burada “Yetenek” sınıfının “gor” ve “duy” metotları içermesi gerektiğini belirtmiş olduk.

Daha sonra “Yetenek” sınıfının özelliklerini kalıtımla alan “Insan” sınıfını oluşturduk. “Insan” sınıfının içine “gozRengi” ve “boy” özelliklerini ekledik. Fakat bunlar private olduğu için dışarıdan erişilemez yani bu kısımda da kapsülleme örneği görüyoruz.

Yine “Insan” sınıfının içine “Insan” yapıcı metodunu oluşturduk. Böylece “Insan” sınıfından oluşturulan nesneler boy=boy ve gozRengi=a özelliklerine sahip olarak oluşacak.

Burada da “boy” değişkenine dışarıdan erişilebilmesi için “get” ve “set” metotlarını kullandık. “getBoy” metodu boy değişkeninin dışarıdan okunabilmesini sağlıyor. Bu yüzden parametre almıyor ve aynı sınıf içindeki boy değişkenini (this.boy) döndürüyor. “setBoy” metodu ise boy değişkenine atama yapılabilmesini sağlıyor. Bu yüzden parametre alıyor ve hiçbir şey döndürmüyor.

Kodu test etmek için “Test” sınıfını oluşturduk. Bu sınıfın içine, her projede 1 tane olması gerektiği için “main” metodunu ekledik. Main metodu içinde “Insan” sınıfından insan nesnesi türettik. “System.out.println” ile “insan”ın boyunu ekrana yazdırdık. Daha sonra “insan2” adında yeni bir nesne türettik ve “Insan” yapıcısına 183 değeri göndererek “insan2”nin boyuna 183 atadık. Bunu da ekrana yazdırdık. Bu sefer de “insan2”nin boyuna atamayı “setBoy” metoduyla yaptık.

Kodu derleyince gördük ki boy değişkenine atadığımız tüm değerler sırasıyla ekrana yazıldı.

Daha sonra “Insan” sınıfının alt sınıfı olan “Nisa” sınıfını oluşturduk. @Override ile buradaki “setBoy” metodunu diğer sınıflardaki “setBoy” metotlarından daha yetkin hale getirdik. super.setBoy diyerek üst sınıfın yani “Insan” sınıfının boy değişkenine atama yapılmasını sağladık.

Daha sonra “Insan” sınıfına benzer bir “CepTelefonu” sınıfı oluşturduk. gor() ve duy() metotlarını @Override ile diğerlerinden daha yetkin hale getirdik.

Aynı şeyi “Insan” sınıfında da yaptık. Ve bunların hepsini test ettik.

“Nisa” sınıfından “nisa” nesnesi oluşturduk. Boyuna 150 atadık ve bunu yazdırdık. Daha sonra gor() metodunu çalıştırdık. Aynı şekilde “CepTelefonu” sınıfından “cep” nesnesi oluşturduk ve onun için de gor() metodunu çalıştırdık.

--

--