OOP'larda Sınıf ve Nesne Arasındaki Fark
Sınıf ve Nesne Arasındaki Temel Farklılıklar
- Sınıf, bir programda nesneler oluşturmaya yönelik bir şablondur, nesne ise bir sınıfın örneğidir.
- Sınıf mantıksal bir varlıktır, nesne ise fiziksel bir varlıktır.
- Bir sınıf bellek alanı ayırmaz; Öte yandan bir nesne hafıza alanı ayırır.
- Bir sınıfı yalnızca bir kez tanımlayabilirsiniz ancak bir sınıfı kullanarak birden fazla nesne oluşturabilirsiniz.
- Nesneler değiştirilebilirken, sınıflar değiştirilemez.
- Sınıfların herhangi bir değeri yoktur, oysa nesnelerin kendi değerleri vardır.
- “Class” anahtar sözcüğünü kullanarak bir sınıf oluşturabilir, elle ise “new” anahtar sözcüğünü kullanarak bir nesne oluşturabilirsiniz. Java.
Sınıf Nedir?
Sınıf, bir nesnenin nasıl davranacağını ve nesnenin neleri içereceğini belirleyen bir varlıktır. Başka bir deyişle, belirli bir nesne türünü oluşturmaya yönelik bir plan veya talimat dizisidir. Üye değişkenler ve üye işlevler veya yöntemler için başlangıç değerleri sağlar.
Nesne Nedir?
Bir nesne, bir veriyi yararlı kılmak için kullanılan yöntem ve özelliklerden oluşan bağımsız bir bileşenden başka bir şey değildir. Sınıfın davranışını belirlemenize yardımcı olur.
Örneğin, bir nesneye mesaj gönderdiğinizde, nesnenin yöntemlerinden birini çağırmasını veya yürütmesini istiyorsunuz.
Programlama açısından, bir nesne bir veri yapısı, bir değişken veya bellek konumu tahsis edilmiş bir fonksiyon olabilir. Nesne, sınıf hiyerarşileri olarak tasarlanmıştır.
Sınıf ve Nesne – Aralarındaki Fark
Sınıf ve nesne arasındaki önemli fark şudur:
Sınıf | nesne |
---|---|
Sınıf, programda nesneler oluşturmaya yönelik bir şablondur. | Nesne bir sınıfın örneğidir. |
Sınıf mantıksal bir varlıktır | Nesne fiziksel bir varlıktır |
Bir sınıf yaratıldığında bellek alanı tahsis etmez. | Nesne, oluşturulduğu anda bellek alanı ayırır. |
Sınıfı yalnızca bir kez bildirebilirsiniz. | Bir sınıfı kullanarak birden fazla nesne oluşturabilirsiniz. |
Örnek: Araba. | Örnek: Jaguar, BMW, Tesla vb. |
Sınıf nesneler üretir | Nesneler sınıfa hayat verir. |
Sınıflar bellekte bulunmadığından değiştirilemez. | Manipüle edilebilirler. |
Alanlarla ilişkili herhangi bir değeri yoktur. | Her nesnenin alanlarla ilişkili kendi değerleri vardır. |
“Class” anahtar sözcüğünü kullanarak sınıf oluşturabilirsiniz. | “new” anahtar sözcüğünü kullanarak nesne oluşturabilirsiniz. Java |
Kavramını anlayın Java Bir örnekle Sınıflar ve Nesneler.
Özellikle köpeklere yönelik bir evcil hayvan yönetim sisteminin geliştirilmesine bir örnek verelim. Köpeklerin farklı cinsleri, yaşı, büyüklüğü 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ına modellemeniz gerekiyor.
Üstelik milyon dolarlık soru şu: Böyle bir yazılımı nasıl tasarlıyorsunuz? İşte çözüm-
Öncelikle bir egzersiz yapalım.
Aşağıda üç farklı köpek cinsinin resmini görebilirsiniz.
Hemen burada dur! Aralarındaki farkları listeleyin.
Listelediğiniz farklılıklardan bazıları cins, yaş, boyut, renk vb. olabilir. Bir dakika düşünürseniz, bu farklılıkların aynı zamanda bu köpeklerin paylaştığı bazı ortak özellikler olduğunu da görebilirsiniz. Bu özellikler (cins, yaş, boyut, renk) nesneniz için bir veri üyesi oluşturabilir.
Daha sonra bu köpeklerin uyumak, oturmak, yemek yemek gibi ortak davranışlarını listeleyin. Bunlar yazılım nesnelerimizin eylemleri olacaktır.
Şu ana kadar aşağıdaki şeyleri tanımladık:
- Sınıf: Köpekler
- Veri üyeleri or nesneler: boyut, yaş, renk, cins vb.
- Yöntemler: yemek ye, uyu, otur ve koş.
Şimdi, veri üyelerinin farklı değerleri için (cins büyüklüğü, yaş ve renk) Java sınıfta farklı köpek nesneleri alacaksınız.
Bu OOP yaklaşımını kullanarak herhangi bir programı tasarlayabilirsiniz.
Sınıflar ve Nesneler Java
Aşağıdaki programda Dog adında bir sınıf tanımladık. Yeni bir anahtar kelime kullanarak “malta” adlı sınıfın bir nesnesini tanımladık. Son ifadede System.out.println(maltese.getInfo()); Cins, Boyut, Yaş, Renk vb. gibi köpek bilgilerini görüntülüyoruz.
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public 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ı:
Cinsi: Malta Bedeni: Küçük Yaşı:2 Renk: Beyaz
Sınıf Türleri
Önemli sınıf türleri şunlardır:
Türetilmiş Sınıflar ve Kalıtım
Türetilmiş bir sınıf, diğer anımsatıcı sınıftan oluşturulan veya türetilen bir sınıftır. Temel sınıfın işlevselliğini arttırmak için kullanılır. Bu sınıf türü, özellikleri mevcut sınıftan türetir ve devralır. Ayrıca kendi özelliklerini ekleyebilir veya paylaşabilir/genişletebilir.
Süpersınıflar:
Üst sınıf, birçok alt sınıfı türetebileceğiniz bir sınıftır.
Alt sınıflar:
Alt sınıf, üst sınıftan türetilen bir sınıftır.
Karışık sınıflar
Karma sınıf, bir sınıfın özelliklerini diğerine miras almanıza yardımcı olan bir işlevselliktir. Sınıfın işlevselliğinin bir alt kümesini kullanırken, türetme sınıfı üst sınıf işlevselliğinin tamamını kullanır.
Sınıfın Kullanım Alanları
Sınıfın önemli kullanımları şunlardır:
- Sınıf hem veri değişkenlerini hem de üye işlevlerini tutmak için kullanılır.
- Kullanıcı tanımlı nesneler oluşturmanıza olanak sağlar.
- Sınıf, veriler hakkındaki bilgileri düzenlemenin bir yolunu sağlar.
- Başka bir sınıfın özelliğini miras almak için sınıfı kullanabilirsiniz.
- Sınıflar yapıcı veya yıkıcıdan yararlanmak için kullanılabilir.
- Büyük miktarda veri ve karmaşık uygulamalar için kullanılabilir.
Nesnenin Kullanımı
İşte bir nesnenin önemli kullanımları
- Kabul edilen mesajın türünü ve geri gönderilen yanıtların türünü bilmenize yardımcı olur.
- Bir nesne referans değişkenini kullanarak bir bellek parçasına erişmek için bir nesneyi kullanabilirsiniz.
- Verileri işlemek için kullanılır.
- Nesneler, çözüm bulduğunuz gerçek dünyadaki bir sorunu temsil eder.
- Veri üyelerinin ve üye fonksiyonlarının istenilen görevi gerçekleştirmesini sağlar.