Java İle Nesne Yönemli Programla -1 (Java Object Oriented Programming) Edited – Miras Kavramı

Java ile nesne ile programlamaya giriş vakti geldi.Öncelikle direk nesne kavramına geçmeden bazı yapılara hakim olmak gerekir.

Öncelikle java nesne yönemli bir dildir.Demek ki biz nesnelerle bol bol haşır neşir olucaz.Nesneleri new komutu ile oluşturum.Teknik detaylara birazdan gidicez.Java methodlardan ve class’lardan oluşur.Ayrıca bu class’lar üzerinde örnekleklendirilmiş nesneler barınır.

Class Kavramı

  • Class herhangi bir şeyin soyut olarak özelliklerin ve çalışma sistemini tanımlar.Örneğin bisiklet sınıfınında olması gereken bazı özellikler vardır.Mesela vites sayısı,kadro boyutu,bisiklet türü,rengi vs..
  • Bu özelliklerin yani değişkenlerin ne şekilde çalışacağını belirlemek içinde methodlardan faydalanırız.İşte bu değişkenlerin ve methodların tutulduğu yapılara Class diyorum.
  • Aşağıda bir class tanımladım.

Nesne Object Kavramı

Nesne yöntemli programlama dillerinde nesneler kullanım itibari ile bir Class’ı referans göstererek var olurlar.Bir Class’tan nesne oluşturma işlemine instantiating örnekleme denir.İşte bu örneklendirme işini ancak hafızada yer alarak yapabilirler.Hafızada yer alması için ise new komutu şarttır.Her nesne kendi verilerini içinde saklar ve dışardan erişime izin vermeyebilir.Bir Class’ın birden fazla nesnesi olabilir.Nesneler somut kavramdır .Class’lar gibi soyut değildir.

  • Bisikletler Class’ı üzerinde nesne isimli bir nesne tanımladım 🙂
  • Class’ım nereye tanımladığıma ve nesnemi nereye tanımladığıma dikkat edin.Public class’ın dışında bir yerde tanımladım ama aynı pakette yer aldığı için nesnem üzerinden erişim sağlayabildim.
  • Şimdi neyi nereye tanımlamamız gerektiğini anlamak ve tanımladıktan sonra ne şekilde erişebiliriz ona öğrenmekte nesne erişim belirteçlerine bakmamız gerekiyor.

Nesne Veya Class Üzerinden Erişim Özellikleri

Bu nesne bir Class veya bir method tanımlıyorsam eğer ona ne şekilde erişebileceğimide bilmem gerekir.

  • Public : Public olan herhangi bir üye yazılım için de ki diğer fonksiyonlar tarafından erişilebilir.Bu demek oluyor ki farklı paket ve sınıflardan erişim var .
  • Private:Gizli veya özel manası ile kullanılır.Private olarak tanımlanan bir üye’ye sadece o Class’ın içersinde bir erişim vardır.Yanı farklı bir Class’tan erişim olmaz aynı paket içinde olsa bile.
  • Protected: Korulamalı erişim şu şekilde çalışır.Protected olarak tanımlamanan bir üye’ye aynı paket ve sınıf içersinden erişebilirim.Fakat şöyle bir durum var paket dışırsından erişmek istersek kalıtım ile oluşturulmuş alt sınıflar ile erişebilirim.Kalıtım konusunda ayrı olarak değineceğiz.
  • Default:Yukarıda ki 3 belirteçlerden herhangi bir özel olarak tanımlanmadıysa bu demek oluyor ki default bir üyedir.Default olarak tanımlanan bir üye’ye sadece tanımlandığı paket içersinden erişim sağlanır .

Nesne Yönemli Programlamada 3 temel özelliği vardır .

  • Kalıtım (Inharitance)
  • Kapsülleme (Encapsulation)
  • Çok Biçimlilik (Polymorphism)

Katılım Nedir ? (Miras Alma)

Katılım miras alma olarakta bilinir.Mesela bir tane bisiklet sınıfım olsun . Birde dağ bisikleti diye bir sınıfım olsun .Dağ bisikleti sınıfının kendine ait özellikleri ve değişkenleri olsun.Şimdi ben Dağ Bisikleti isimli sınıfının bisiklet sınıfınında özelliklerine erişmesini istiyorsa eğer kalıtım kullanmak zorundayım.Yani benim biisklet sınıfımdan miras almak durumunda kalır.Yanı miras alınan sınıfa super-class alt sınıfa ise sub-class denir.

Not:Bir sınıftan alt bir sınıfa kalıtım yoluysa aktarma yapılcaksa Private değişken türü yerini protected yanı korumalı erişim olan değişkeni yerini bırakır.Protected deyimi ile Private deyimi ile aynıdır.Fakat kalıtımla değişkenlerin aktarıldığı alt sınıflara değişkenleri görme izni verir.Private deyimi ise kalıtımla aktarılan alt sınıflardan bile o değişkenleri saklar.

Şimdi örneğimize bakalım:

Şimdi Adım adım inceleyelim.

  • Projemde bisiklet ve dağbisikleti olarak 2 farklı Class mevcut.Bunu neden yaptık çünkü çünkü her bisiklette olması gereken temel özellikler var bir de dağ bisikletlerine özel özellikler var.Şimdi dağ bisikletleri standart bisikletlerinde temel özelliklerini taşır.O yüzden dağ bisikletleri sınıfına ekstra olarak bisikletin temel özelliklerini tanımlamadım .Onlar bisiklet sınıfından yer alıyor .Dağ bisikletlerine ait özel özellikler ise dağ bisikleti sınıfında mevcut.
  • Dağ bisikleti isimli sınıfımın bisikletler sınıfının tüm özelliklerini miras alması için extends anahtar kelimesini kullandım .

Main Ksımına bakalım.

Leave a Reply

*