Java

Java Nesneler ve Sınıflar

Java nesne tabanlı programlama dilidir. Java aşağıdaki temel kavramları içerir;

  • Çok biçimlilik (Polymorphism)
  • Miras (Inheritance)
  • Kapsülleme (Encapsulation)
  • Soyutlama (Abstraction)
  • Sınıflar (Classes)
  • Nesneler(Objects)
  • Instance
  • Metod (Method)
  • Mesaj Ayrıştırma (Message Parsing)

Bu bölümde, sınıflar ve nesneler konularına bakacağız.

Nesneler : Nesneler durum ve davranışlara sahiptirler. Örneğin bir köpek renk, isim gibi durumlara ve yemek, havlamak gibi davranışlara sahiptir. Nesneler bir sınıfın  örnekleridir.

Sınıflar : Sınıflar nesnenin durumlarını ve davranışlarını tanımlayan şablon olarak tanımlanabilir.

Java’da Nesneler 

Gerçek dünyayı düşünürsek, çevremizde bir çok nesne buluruz. Örneğin arabalar, köpekler, insanlar durum ve davranışlara sahip olan nesnelerdir.

Yazılım nesnelerini ve gerçek dünyadaki nesneleri karşılaştırırsak, birbirlerine çok benzer karakteristik özellikler görürüz.

Yazılım nesneleri de ayrıca durum ve davranışlarına sahiptir. Yazılım nesnesinin durumları alanlarda (fields) tutulur ve davranışları metotlar ile gösterilir.

Java’da sınıflar 

Sınıflar nesnelerin oluştuğu şablonlardır.

Sınıf örneği ;

Bir sınıf aşağıdaki değişken tiplerini içerebilir :

  • Yerel Değişkenler (Local Variables) : Değişkenler metot, yapılandırıcı veya bloklar içinde tanımlanır. Metot içerisinde bir değişken tanımlanabilir ve ilk değer atanabilir. Bu değişken metot tamamlandığında yok edilir.
  • Instance Değişkenler : Bir sınıf içerisinde ama metot dışarısında tanımlanır. Bu değişkenler sınıf yüklendiğinde oluşturulur. Herhangi bir metot, yapılandırıcı metot veya blok içerisinden ulaşılabilir.
  • Sınıf Değişkenleri : Bu değişkenler sınıf içerisinde, metot dışında, static kelimesi ile  tanımlanır.

Bir sınıf herhangi sayıda metot ve değişken içerebilir. Yukarıda ki örnekte, barking(), hungry(), ve sleeping() metotlardır.

Yapılandırıcı metotlar (Constructors) 

Sınıflar hakkında ki en önemli alt konulardan biri yapılandırıcı metotlardır. Her sınıf yapılandırıcı metoda sahiptir. Eğer sınıf oluşturulduğunda yapılandırıcı metot yazılmazsa Java compiler bu sınıf için default yapılandırıcı tanımlar.

Her zaman yeni nesne oluşturulduğunda, en az bir yapılandırıcı metot çağrılır. Temel kural yapılandırıcının ismi sınıf ismi ile aynı olmalıdır. Bir sınıf birden fazla yapılandırıcı metoda sahip olabilir.

Yapılandırıcı metot örneği ;

 

 Nesne oluşturma 

Bir sınıf nesneler için şablon olarak kullanılır. Basitçe bir nesne bir sınıftan oluşturulur. Java’da new kelimesi yeni nesne oluşturmak için kullanılır.

Bir sınıftan nesne oluştururmanın 3 adımı vardır ;

  • Declaration : Nesne tipinde bir değişken tanımlanır.
  • Instantiation : ‘new’ kelimesi nesne oluşturmak için kullanılır.
  • İnitialization :  ‘new’ kelimesi kullanıldığında yapılandırıcı metot çağrılır. Yeni obje oluşturulmuş olur.

Nesne oluşturma örneği ;

Yukarıda ki örnek yazılıp çalıştırıldığında aşağıda ki çıktı alınır :

 

 Instance Değişkenlere ve Metotlara Erişim 

Instance değişkenlere ve metotlare oluşturulan nesneler üzerinden erişilir. Örnek ;

Örnek :

Yukarıda ki kodu çalıştırdığımızda aşağıda ki çıktı görülür ;

 

 Kaynak Dosya Bildirim Kuralları

Bu bölümün son kısmında kaynak dosyanın bildirim kurallarına bakılacaktır. Bu kurallar kaynak dosya içindeki sınıfları, import statementları ve paket statementları bildirirken zorunludur. Bunlar;

  • Her kaynak dosyada sadece 1 tane public sınıf olabilir.
  • Kaynak dosya birden fazla non public sınıfa sahip olabilir.
  • Public sınıf ismi sonu .java uzantısı ile biten kaynak dosyanın ismi ile aynı olmalıdır. Örneğin;
  • Sınıf ismi public class Emploee() ise, kaynak dosya ismi Employee.java olmalıdır.
  • Bir sınıf paket (package) içerisinde tanımlanmışsa, paket statementlar kaynak dosya içerisinde ki ilk statement olmalıdır.
  • İmport statementlar paket statement ve sınıf bildirimi arasında yazılmalıdır. Eğer paket statement yoksa import statement ilk satırda yazılabilir.
  • İmport ve paket statementlar o kaynak dosya içindeki tüm sınıflara uygulanabilir.

Sınıflar birkaç erişim seviyesine sahiptir. Sınıfların farklı tipleri vardır. Bunlar abstract (soyut) sınıflar, final sınıflar , vb.  Bu erişim düzenleyicileri ilerleyen derslerde gösterilecektir.

Yukarıda ki sınıf tiplerinden başka Java özel sınıflara da sahiptir. Bunlar inner (iç) sınıflar ve anonymous sınıflar olarak adlandırılır.

Java Paketleri (Package)

Sınıfları ve interfaceleri kategorize etmektir. Java’da uygulama geliştirirken, yüzlerce sınıf ve interface yazılabilir, bu yüzden kategorize işlemi bu sınıfları yazmayı ve okumayı kolaylaştırır.

İmport Statements 

İmport statement verilen sınıfı bulması için derleyiciye konumu bildirme yoludur. Örneğin ;

Küçük Bir Örnek :

Bu örnekte iki tane sınıf oluşturulacaktır. Bunlar Employee ve EmployeeTest’tir.

Employee sınıfı public sınıftır. Employee dört instance değişkene sahiptir ; name, age, designation ve salary.

Daha önceden de söylendiği gibi program main metottan başlar. Bu yüzden Employee sınıfını çalıştırmak için main metot olmalı ve nesneler oluşturulmalıdır.  Bu işlem için ayrı sınıf oluşturulacaktır.

Aşağıda ki EmployeeTest sınıfı Employee sınıfından iki tane nesne oluşturur ve metotlarla her nesnenin değişkenlerine atama yapar.

Kodlar çalıştırıldığında şu sonuç elde edilir :

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Göz Atın
Kapalı
Başa dön tuşu