Sınıflar ve nesneler, OOP’ların (Nesne Yönelimli Programlama) temel bileşenleridir. Çoğunlukla sınıflar ve nesneler arasında bir karışıklık vardır. Bu eğitimde, size sınıf ve nesne arasındaki farkı anlatacağız.
İlk olarak, ne olduklarını anlayalım.
Java Sınıf Nedir?
Bir sınıf, bir nesnenin nasıl davranacağını ve nesnenin ne içereceğini belirleyen bir varlıktır. Başka bir deyişle, belirli bir nesne türü oluşturmak için bir plan veya bir talimat kümesidir.
Yazım Kuralı:
1 2 3 4 5 6 |
class <sınıf_adı> { özellik; method; } |
Java Nesne Nedir?
Bir nesne, belirli bir veri türünü faydalı kılacak yöntem ve özelliklerden oluşan bağımsız bir bileşen olmaktan başka bir şey değildir. Nesne, sınıfın davranışını belirler. Bir nesneye mesaj gönderdiğinizde, nesnenin methodlarından birini çağırmasını veya yürütmesini istersiniz.
Bir programlama bakış açısından, bir nesne bir veri yapısı, bir değişken veya bir fonksiyon olabilir. Tahsis edilmiş bir hafıza yeri var. Nesne, sınıf hiyerarşileri olarak tasarlanmıştır. Sınıflardan örnek nesneler oluşturmak için new anahtar kelimesi kullanılır.
1 2 3 |
SinifAdi referansDegisken= new SinifAdi(); |
Nesne ve Sınıf Arasındaki Fark Nedir?
Bir sınıf, değişkenleri ve belirli bir türdeki tüm nesneler için ortak olan yöntemleri (işlevleri) tanımlayan bir plan veya prototiptir.
Bir nesne bir sınıfın örneğidir. Yazılım nesneleri genellikle günlük hayatta bulduğunuz gerçek dünya nesnelerini modellemek için kullanılır.
Java Sınıfları ve Nesneleri kavramını bir örnekle anlayın.
Köpekler için özel olarak tasarlanmış bir evcil hayvan yönetim sistemi geliştirmeye bir örnek verelim. Köpeklerin farklı cinsleri, yaşı, büyüklüğü vb. Köpekler hakkında çeşitli bilgilere ihtiyaç duyacaksınız.
Gerçek yaşamdaki varlıkları, yani köpekleri yazılım varlıklarına modellemelisiniz.
Öncelikle elde edilecek bilgileri toplayalım.
Gözlerinizi kapatıp hayalinizden üç farklı köpeği canlandırın. Bu köpeklerdeki farklılıkları düşünerek not alın.
Sizde benim gibi en az renk, büyüklük, yaş, cins gibi farklılıkları belirlemişsinizdir. İşte bunlar köpeklerin özellikleridir.
Hepimiz bu köpeklerin oturmak, havlamak, uyumak gibi eylemleri olduğunu biliriz. Bunlarda yazılımdaki nesnelerin metotları olarak ifade edilir.
Yukarıdaki tanımlardan aşağıdaki yapıyı elde ettik. (Class yapısı)
- Genel olarak ifade ettiğimiz ve yukarıdaki ortak özellik ve metotları barındıran yapıyı class olarak ifade ettik. Burada class adı olarak Kopek demek çok mantıklı olabilir.
- Özellikler, Alanlar yada Veri üyeleri olarak isimlendirilen cins, yaş, büyüklük ve renkler bilgileri ifade ettik.
- Son olarak davranışları gösteren havlamak, oturmak, uyumak gibi varlıkları metot olarak ifade ettik.
Bu tanımlar bizim class’ın varlıklar ve davranışlarını belirtmemizi sağladı. Her bir köpek için bu class yapısından örnekler oluşturduğumuzda artık 3 tane nesne elde etmiş olacağız.
Örnek Kod: Sınıf ve Nesne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// Sınıf Tanımlama public class Kopek{ // Örnek Alanlar String cins; String boyut; int yas; String renk; // method 1 public String bilgiVer() { return ("Cinsiyeti: "+cins+" Büyüklüğü:"+boyut+" Yaşı:"+yas+" Rengi: "+renk); } public static void main(String[] args) { Kopek kopek1= new Kopek (); kopek1.cins="Labrador"; kopek1.boyut="küçük"; kopek1.yas=2; kopek1.renk="beyaz"; System.out.println(kopek1.bilgiVer()); } } |
main metodu dışında da sınıf tanımlama
Her bir varlığın bir nesne olması gerektiğini düşünürsek. main metotununda bir nesne olması gerekir. main metodu Kopek classın da bir parçası değildir. main metodunu Kopek classından çıkarıp uygulama adında başka bir class’a alıp o şekilde çalıştırmak daha uygun olacaktır. main metodunu Kopek sınıfndan çıkarıp Uygulama adındaki bir sınıfa alıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// Sınıf Tanımlama class Kopek{ // Örnek Alanlar String cins; String boyut; int yas; String renk; // method 1 public String bilgiVer() { return ("Cinsiyeti: "+cins+" Büyüklüğü:"+boyut+" Yaşı:"+yas+" Rengi: "+renk); } } class Uygulama{ public static void main(String[] args) { Kopek kopek1= new Kopek (); kopek1.cins="Labrador"; kopek1.boyut="küçük"; kopek1.yas=2; kopek1.renk="beyaz"; System.out.println(kopek1.bilgiVer()); } } |
Özetle:
Java Sınıfı, bir nesnenin nasıl davranacağını ve nesnenin ne içereceğini belirleyen bir varlıktır.
Bir Java nesnesi, belirli türde verileri yararlı kılacak yöntem ve özelliklerden oluşan bağımsız bir bileşendir.
Add Comment