Java’da Object Oriented Programlamaya Giriş

293
views

Bu dersimizden itibaren programlarmızı object oriented programlama (OOP) mantığında yazmaya çalışacağız ve ileri seviye java derslerini işleyeceğiz.

Object Oriented Programlama Nedir?

En genel kapsamıyla gerçek hayatı programlama dünyasına uyarlamak olarak düşünülebilir. Ancak oop yi anlayabilmek için bizim ilk olarak objeyi anlamamız gerekiyor. Örneğin etrafınızda bulunan Tv , bilgisayar , telefon herbiri birer objedir ve her birinin kendi içinde metotları ve özellikleri vardır. Cep telefonunu düşünecek olursak içinde açma , kapama , arama , ekran ışığı ayarı , şekli , markası var. Bunlar bir cep telefonunun özelliğini ve metotlarını oluşturuyor. İşte gerçek hayattaki objeler gibi programlama dünyasında birçok objemiz veya nesnemiz var.

Class (Sınıf) Nedir?

Bir ürünün özelliği ve metotları bellidir. Ve her ürünün özelliği ve metotları ürün oluşturulduğu zaman yani bir obje oluşturulduğunda direk olarak o objeye yüklenir. Yani o objenin özelliği classlarda da mevcuttur. Classları bir fabrika olarak düşünebilirsiniz. Ve biz classlarımızıdan birçok obje veya nesne oluşturabiliriz. Biz classlarımızı özellikler veya metotlar ekleriz. Ve bu classlardan eğer objeler oluşturacaksak objelerimiz bu özelliklerin ve metotların hepsine sahip olur. Classlar bu anlama gelmektedir.

Örneklerle anlamaya çalışalım.

Classımızı oluşturmadan önce access modifier ı öğrenmemiz gerekir. Yani erişim belirleyicileri.

Erişim belirleyici (Access Modifier) Ne Demek?

Daha önceden public diye birşey yazıyorduk. Bu bir erişim belirleyicidir. Bunun dışında 2 tane daha erişim belirleyicimiz var. Private ve protected diye. Bu dersimizde sadece public i göreceğiz. İleriki derslerimizde diğer erişim belirleyiciler ile örneklerimizi yapacağız. Şimdilik sadece public ile private arasındaki farkı bilmemiz yeterli olacaktır. Bir değişkeni özelliği public yaptığımız zaman başka java dosyalarından bu özelliğe direk olarak erişebiliyoruz. Ancak eğer private yaparsak yani bir özelliği private olarak belirlersek başka java dosyalarından buna doğrudan erişim sağlayamıyoruz. Dolaylı yollardan erişim sağlayabiliriz. İleriki derslerde bu konuya da değineceğiz.

Örneğe geçerken ilk olarak Araba isminde bir classımızı oluşturuyoruz. Sonrasında bu arabanın özelliklerini ekleyeceğiz. Özellik tanımlamanın genel yapısı aşağıdaki gibidir.

erişim belirleyici + veri tipi + özelliğin ismi 

 

 

 

 

Arabanın 5 tane özelliği olmuş oldu. Araba nesnesi oluşturduğumuz zaman nesneler bu özelliklerin hepsine sahip olacak.

Peki biz Araba classından bir tane objeyi nerede oluşturabiliriz?

Bunun için bir tane daha java dosyası açacağız ve içine main metodu ekleyeceğiz. Daha sonra bu main metodu içerisinde bir tane obje oluşturacağız. Ve bu objenin bu özelliklere erişmeye çalışacağız.

main metodumuzu oluşturduk. Sizin java dosyalarınız bir jar dosyası değilse arşiv olarak bunları başka bir yere ekleyemecekseniz projelerinizde main metodu en az bir defa olması gerekir. Yani projenizin çalışması için 1 tane main metodunuzun olması gerekir. Ve bu main metodu içinde başka java dosyaları içindeki class lardan objeler üretebiliriz.

İlk olarak araba objemizi tutacak yani araba objemizin üzerinde işlemler yapmamızı sağlayacak referansımızı belirlememiz gerekiyor. Ve bu referansımız Araba class ından bir referans olmak zorunda.

Araba objemizi yukarıdaki gibi oluşturduk. Araba objesi üzerinde işlemler yapabilmek için referans adımızı kullanacağız yani “araba1”. Bu referans üzerinden Araba objemizin özelliklerine ulaşacağız. Araba class ımız içinde özelliklerimiz mevcuttu. Fakat özelliklerin içinde herhangi bir değer yok. Kendimiz ekleyebiliriz. Özelliğe erişebilmek için;

araba1.renk = “Mavi” diyebiliriz. Fakat java bir hata verdi.  Renk özelliğinin private olduğunu söyledi. Araba classımızda tüm özellikleri private olarak belirtmiştik. Bu sebepten dolayı başka bir classtan erişimi kısıtlıydı.

 

 

 

 

Şimdilik bu özelliklere erişebilmek için hepsini public olarak güncelliyoruz.

Ardından tekrardan main metodumuza döndüğümüzde hatanın ortadan kalktığını görüyoruz.

Neden private şeklinde erişim belirleyicisi var ? Çünkü özelliklerde erişim belirleyici olarak private kullanmak aslında java da oop mantığına daha çok uyuyor. Biz private olanlara dolaylı yoldan bir sonraki dersimizde erişebileceğiz. Şimdilik public olarak yaptık ve bu durumu öğreniyoruz.

Diğer özellikleride yazıp bir tanesini ekrana yazdıralım.

Bir sonraki yazımızda classlarda metot tanımlama konusunu öğreneceğiz. Sonraki derse geçmek için tıklayınız.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz