Video: Java Programlama Dersleri 18 - OOP Giriş ve Classlar (Sınıflar) 2024
Nesne yönelimli programlama , tüm programların önceliği temel alınarak Java gibi bir bilgisayar programlama türüdür gerçek dünyadaki nesnelerin veya soyut kavramların bilgisayar tabanlı simülasyonları. Örneğin:
-
Uçuş simülatörü programları gerçek uçakların davranışını taklit etmeye çalışır.
-
Pek çok bilgisayar oyunu, beyzbol, NASCAR yarışları ve satranç gibi insanların oynadığı gerçek oyunları simülasyonudur.
-
İş programları bile, sipariş alma, müşteri hizmetleri, nakliye ve faturalandırma gibi iş süreçlerinin simülasyonları olarak düşünülebilir.
Nesneler belirli temel özelliklere sahip programlama varlıklarıdır:
-
Kimlik: Nesneye yönelik bir programdaki her nesne kimliğine sahiptir. Başka bir deyişle, belirli bir nesnenin her oluşumu -an örneği - , aynı nesnenin tüm diğer oluşumlarından ve diğer tür nesnelerden ayırt edilebilir.
Her nesne örneği, bilgisayarın belleğinde kendi konumlarına sahiptir. Böylece, iki nesne, aynı türde olsalar bile, kendi ayrı bellek konumlarına sahiptir. Bir nesnenin başlangıç konumunun adresi, bir nesneyi başka bir nesneden ayırmanın bir yolunu sağlar; çünkü hiçbir iki nesne bellekte aynı konumu işgal edemez.
Java, her nesnenin kimliğini hemen hemen kendi başına tutar. Başka bir deyişle, bir nesnenin bellek adresini almanın kolay bir yolu yoktur; Java, sizin işinizin hiçbiri olmadığını ve haklı bir şekilde olduğunu düşünüyor. Java, bu bilgileri kullanıcıların kullanımına hazır hale getirdiyse, herhangi bir C veya C ++ programcısının söyleyebileceği gibi, her tür soruna neden olabilecek şekilde düzeltmeye cazip olur.
Java nesneleri, her nesne için otomatik olarak üretilen bir int değeri olan karma kod ve nesnenin kimliğini temsil eden neredeyse olan adlı bir nesneye sahiptir. Çoğu durumda, bir nesnenin karma kodu nesnenin bellek adresine dayanır, ancak her zaman geçerli değildir. Java, iki farklı nesnenin aynı karma kodu içermeyeceğini garanti etmez.
Nesnelerle birlikte kullanıldığında, eşitlik işleci (==) aslında iki değişkenin veya ifadenin nesne kimliğini test eder. Aynı nesne örneğine atıfta bulunulursa, iki değişken veya ifade eşit olarak kabul edilir.
-
Türü: Nesne yönelimli programlama, bir programdaki farklı nesne türlerine adlar atamanızı sağlar. Java'da sınıflar türleri tanımlar. Bu nedenle, bir türden bir nesne oluşturduğunuzda, nesnenin sınıf tarafından belirtilen türde olduğunu söylüyorsunuz demektir.Aşağıdaki örnek bildirim, Fatura türü bir nesne oluşturur:
Fatura i = yeni Fatura ();
Bu durumda, bu nesnenin kimliğini (yani belleğindeki adresi), i değişkenine atanır; bu değişken derleyicinin, Fatura türündeki nesnelere yaptığı başvuruları alabileceğini bilir.
-
Durum: Belirli bir nesne türünün her örneği aynı özniteliklere sahip olsa da, her bir örneğin durumu farklıdır: diğer bir deyişle, özniteliklerinin her biri için farklı bir değer birleşimi.
Nesnenin bazı özellikleri genelse de, bazıları özel olabilir. Özel nitelikler nesnenin dahili çalışması için hayati olabilir, ancak nesne dışında hiçbir kimse var olduklarını bilmemektedir. Bunlar özel düşünceleriniz gibidir: ne söylediğinizi ve yaptıklarınızı etkilerler, ancak kimsenin sizinkinden başka kim olduklarını bilmiyorlar.
-
Davranış: Nesnelerin başka bir özelliği, davranışlarına sahip olmalarıdır, bu da şeyleri yapabilecekleri anlamına gelir. Devlet gibi, bir nesnenin spesifik davranışı türüne bağlıdır. Durumdan farklı olarak, davranış bir türün her örneği için farklı değildir.
Sınıfta bulunan tüm öğrencilerin aynı türe sahip hesap makinelerinin olduğunu varsayalım. Hepsine hesap makinesini çekip her iki sayıyı da eklemelerini isteyin. Tüm hesap makineleri farklı bir sayı görüntüler, ancak hepsi aynı şekilde eklenir; yani, hepsinin farklı bir durumu var ancak aynı davranış.
Nesnelerin davranışları olduğunu söylemenin bir başka yolu, diğer nesneler tarafından kullanılabilen hizmetleri sağladıklarını söylemektir. Muhtemelen, diğer nesnelere hizmet sunan birçok obje örneği görmüşsünüzdür. Örneğin NumberFormat sınıfından oluşturulan nesneler, sayısal değerleri 32 $ gibi güzel biçimlendirilmiş dizelere dönüştüren biçimlendirme hizmetleri sağlar. 95.
Java'da bir nesnenin davranışı yöntemleriyle sağlanır. Bu nedenle, NumberFormat sınıfının format yöntemi, NumberFormat nesneleri için biçimlendirme davranışını sağlayan şeydir.