Java'daki Sınıflar ve Nesneler, OOP'lerin temel bileşenleridir. Genellikle sınıflar ve nesneler arasında bir karışıklık vardır. Bu eğiticide, Java'da Sınıf ve Nesne arasındaki farkı anlatmaya çalışıyoruz.
İlk önce ne olduklarını anlayalım,
- Java'da Sınıf nedir?
- Java'da Nesne nedir?
- Java'da Nesne ve Sınıf Arasındaki Fark Nedir?
- Sınıflar ve Nesneler Kavramı
- Java Örnek Programlarındaki Sınıflar ve Nesneler
- Java Nesnesi ve Sınıf Örneği: ana dış sınıf
Java'da Sınıf nedir?
Sınıf , belirli bir nesne türü oluşturmak için bir plan veya talimatlar dizisidir. Gerçek hayattaki varlıklar etrafında dönen temel bir Nesne Yönelimli Programlama kavramıdır. Java'daki sınıf, bir nesnenin nasıl davranacağını ve nesnenin ne içereceğini belirler.Sözdizimi
class{field;method;}
Java'da Nesne nedir?
Nesne , bir sınıfın bir örneğidir. OOPS'taki bir nesne, belirli bir veri türünü yararlı kılmak için yöntemler ve özelliklerden oluşan bağımsız bir bileşenden başka bir şey değildir. Örneğin renk adı, masa, çanta, havlama. Bir nesneye mesaj gönderdiğinizde, nesneden sınıfta tanımlanan yöntemlerinden birini çağırmasını veya yürütmesini istersiniz.
Bir programlama bakış açısından, OOPS'taki bir nesne bir veri yapısı, bir değişken veya bir işlev içerebilir. Ayrılmış bir hafıza konumuna sahiptir. Java Nesneleri, sınıf hiyerarşileri olarak tasarlanmıştır.
Sözdizimi
ClassName ReferenceVariable = new ClassName();
Java'da Nesne ve Sınıf Arasındaki Fark Nedir?
Nesne yönelimli programlamada bir Sınıf , belirli bir türdeki tüm Java Nesneleri için ortak olan değişkenleri ve yöntemleri (işlevleri) tanımlayan bir plan veya prototiptir.
OOPS'taki bir nesne , bir sınıfın örneğidir. Yazılım nesneleri genellikle günlük yaşamda bulduğunuz gerçek dünya nesnelerini modellemek için kullanılır.
Videoya erişilemiyorsa burayı tıklayın
Java Sınıfları ve Nesneleri kavramını bir örnekle anlayın.
Özel olarak köpekler için tasarlanmış bir evcil hayvan yönetim sistemi geliştirmeye bir örnek verelim. Köpeklerin farklı cinsleri, yaşları, boyutları vb. Gibi köpekler hakkında çeşitli bilgilere ihtiyacınız olacak.
Gerçek hayattaki varlıkları, yani köpekleri yazılım varlıkları olarak modellemeniz gerekir.
Üstelik milyon dolarlık soru şu: Böyle bir yazılımı nasıl tasarlarsınız?
İşte çözüm-
İlk önce bir egzersiz yapalım.
Aşağıda üç farklı köpek cinsinin resmini görebilirsiniz.
Hemen burada durun! Aralarındaki farkları listeleyin.
Listelemiş olabileceğiniz bazı farklılıklar belki cins, yaş, beden, renk vb. Bir dakikalığına düşünürseniz, bu farklılıklar aynı zamanda bu köpeklerin paylaştığı bazı ortak özelliklerdir. Bu özellikler (cins, yaş, boyut, renk) nesneniz için veri üyeleri oluşturabilir.
Sonra, bu köpeklerin uyku, oturma, yemek yeme, vb. Gibi ortak davranışlarını listeleyin. Yani bunlar yazılım nesnelerimizin eylemleri olacaktır.
Şimdiye kadar aşağıdaki şeyleri tanımladık,
- Sınıf - Köpekler
- Veri üyeleri veya nesneler - boyut, yaş, renk, cins vb.
- Yöntemler - ye, uyu, otur ve koş.
Şimdi, Java sınıfındaki farklı veri üyeleri değerleri (cins boyutu, yaşı ve rengi) için farklı köpek nesneleri alacaksınız.
Bu OOPs yaklaşımını kullanarak herhangi bir programı tasarlayabilirsiniz.
Bir sınıf oluştururken aşağıdaki ilkelere uyulmalıdır.
- Tek Sorumluluk İlkesi (SRP) - Bir sınıfın değişmesi için yalnızca bir nedeni olmalıdır
- Açık Kapalı Sorumluluk (OCP) - Herhangi bir sınıfı değiştirmeden genişletebilmelidir
- Liskov İkame Sorumluluğu (LSR) - Türetilmiş sınıflar, temel sınıfları ile ikame edilebilir olmalıdır
- Bağımlılık Tersine Çevirme İlkesi (DIP) - Somutlara değil soyutlamaya bağlıdır
- Arayüz Ayırma Prensibi (ISP) - İstemciye özel ince taneli arayüzler hazırlayın.
Java Örnek Programlarındaki Sınıflar ve Nesneler
// Class Declarationpublic class Dog {// Instance VariablesString breed;String size;int age;String color;// method 1public String getInfo() {return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);}public static void main(String[] args) {Dog maltese = new Dog();maltese.breed="Maltese";maltese.size="Small";maltese.age=2;maltese.color="white";System.out.println(maltese.getInfo());}}Çıktı:
Breed is: Maltese Size is:Small Age is:2 color is: white
Java Nesnesi ve Sınıf Örneği: ana dış sınıf
Önceki programda, sınıf içerisinde main () metodunu oluşturuyoruz. Şimdi, sınıflar oluşturuyoruz ve başka bir sınıfta main () yöntemini tanımlıyoruz. Bu, öncekinden daha iyi bir yoldur.
// Class Declarationclass Dog {// Instance VariablesString breed;String size;int age;String color;// method 1public String getInfo() {return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);}}public class Execute{public static void main(String[] args) {Dog maltese = new Dog();maltese.breed="Maltese";maltese.size="Small";maltese.age=2;maltese.color="white";System.out.println(maltese.getInfo());}}
Çıktı:
Breed is: Maltese Size is:Small Age is:2 color is: white
Özet:
- Java Sınıfı, Java Nesnelerinin nasıl davranacağını ve hangi nesnelerin içereceğini belirleyen bir varlıktır.
- Bir Java nesnesi, belirli veri türlerini yararlı kılmak için yöntemler ve özelliklerden oluşan bağımsız bir bileşendir.
- Bir sınıf sistemi, programın miras alma, geçersiz kılma ve artırma gibi bir teknik kullanarak mevcut bir sınıf (üst sınıf) açısından yeni bir sınıf (türetilmiş sınıf) tanımlamasına izin verir.