Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Çıkış Yap

translation

Bu, AI tarafından çevrilen bir gönderidir.

제이온

[Etkin Java] Öğe 4. Oluşturulmayı Engellemek İçin Özel Bir Oluşturucu Kullanın

  • tr Writing language: Korece
  • tr Referans Ülke: tr Tüm ülkeler country-flag

Dil Seç

  • Türkçe
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Text summarized by durumis AI

  • Sadece statik yöntemler ve alanlar içeren bir yardımcı sınıf oluşturulurken, oluşturucu özel olarak yapılarak oluşturulma engellenmelidir.
  • Bu, sınıfın dışından oluşturucunun çağrılmasını engeller ve derleyicinin otomatik olarak oluşturduğu genel varsayılan oluşturucuyu açıkça denetlemeyi sağlar.
  • Özel oluşturucu kalıtımı engeller, bu nedenle yardımcı sınıfın kasıtlı kullanımını sınırlar ve kod okunabilirliğini artırır.

Bazen yalnızca statik yöntemler ve statik alanlar içeren bir sınıf kullanmak faydalı olabilir.


Örneğin, java.lang.Math, java.util.Arrays gibi matematiksel işlemler veya dizilerle ilgili yöntemleri bir araya getiren kullanım yardımcı sınıfları kullanabilirsiniz. Ya da java.util.Collections gibi belirli bir arabirimi uygulayan nesneler oluşturmak için statik fabrika yöntemleri de bir araya getirilebilir.


Bu kullanım yardımcı sınıfları, ayrı bir örnek değişkenine veya yönteme ihtiyaç duymadan kullanılabildiği için bir oluşturucuya ihtiyaç duymaz. Ancak, bir oluşturucu belirtmezseniz, derleyici otomatik olarak genel bir oluşturucu oluşturur. Bu nedenle, kullanıcının bu oluşturucunun otomatik olarak oluşturulduğunu ayırt etmesi mümkün değildir.


Bunu önlemek için soyut bir sınıf olarak oluşturulabilir, ancak soyut bir sınıf üzerinden örnekleme yapılamaz. Çünkü alt sınıfta oluşturma işlemini yapmak yeterlidir.


public abstract class Person {

    public static void speak(String message) {
        System.out.println(message);
    }
}

public class Student extends Person {

    public Student() {
        super();
    }


Bu nedenle, kullanım yardımcı sınıfının örneklemesini engellemek için oluşturucunun erişim belirteci private olarak ayarlanmalıdır.


public abstract class Person {

    private Person() {
        throw new AssertionError();
    }

    public static void speak(String message) {
        System.out.println(message);
    }


Yukarıdaki gibi, temel oluşturucunun erişim belirteci private ise, sınıfın dışından erişilemez. Ayrıca, temel oluşturucu dahili olarak çağrılırsa, bir istisna oluşturulacak şekilde engellenmiştir.


Bu özel oluşturucular, kullanıcının oluşturucuları anlamasını zorlaştırabileceğinden, yorum eklemek de iyi bir fikirdir. Özel bir oluşturucu kullanmanın başka bir etkisi de kalıtımı imkansız hale getirmesidir.


Kaynak

제이온
제이온
제이온
제이온
[Efektif Java] Öğe 3. Özel Oluşturucular veya Sayım Türüyle Tekil Olmayı Garanti Etme Java'da tekil kalıbını uygulamanın üç yolunu (public static üye, statik fabrika yöntemi, sayım türü) tanıtır ve her yöntemin avantajlarını ve dezavantajlarını ve seri hale getirme sırasında dikkat edilmesi gereken noktaları açıklar. Yansıma saldırılarına

27 Nisan 2024

[Etkin Java] Madde 5. Kaynakları Belirginleştirmeyin, Bağımlılık Enjeksiyonunu Kullanın Bir sınıfın harici kaynaklara bağımlılığı varsa, singleton ve statik yardımcı sınıflar kullanılmamalıdır. Bağımlılık enjeksiyonu, sınıfın esnekliğini, yeniden kullanılabilirliğini ve test edilebilirliğini iyileştirmeye yardımcı olabilir; fabrika yöntemi d

28 Nisan 2024

[Efektif Java] Öğe 2. Oluşturucular Çok Sayıda Parametre İçeriyorsa Bir Oluşturucu Kullanın Çok sayıda parametreli nesneler oluştururken, oluşturucu desenini kullanmak kodu daha temiz ve okunabilir hale getirebilir. Zorunlu parametrelerle bir oluşturucu nesnesi oluşturun, ayarlayıcı yöntemleri kullanarak isteğe bağlı parametreleri ayarlayın ve s

27 Nisan 2024

[Javascript] Nesne Yapısı (V8) JavaScript'teki Nesne, V8 motorunda durumuna göre yapı gibi optimize edilmiş Hızlı mod ve karma tablo olarak çalışan Sözlük moduna dönüştürülür. Hızlı mod, anahtar ve değerlerin neredeyse sabit olduğu bir biçimde hızlıdır ancak yeni bir anahtar eklendiğin
곽경직
곽경직
곽경직
곽경직
곽경직

18 Mart 2024

Kavramsal Veri Modellemesi Kavramsal veri modelleme, varlıkları ayırma ve varlıklar arasındaki ilişkileri ERD ile gösterme sürecidir. Varlıklar bağımsız bilgi birimleridir ve öznitelikler, varlığın sahip olduğu verilerdir. Tanımlayıcılar, varlıkları benzersiz bir şekilde tanımlar v
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

8 Nisan 2024

Rust'ın Eşzamanlılık Hatalarını Önleme Yolu Rust, eşzamanlı programlamanın zorluklarını aşmak için güçlü bir dildir. Tip sistemi ve sahiplik modeli sayesinde, iş parçacıkları arasında veri aktarımı ve paylaşımı güvenlidir. Mutex, Channel, Atomic gibi iç değişkenlik kalıpları ile paylaşılan değişken
곽경직
곽경직
곽경직
곽경직
곽경직

28 Mart 2024

[Ders Dışı, Geliştirici Olarak Hayatta Kalmak] 9. Portföy İçin Uygun Siteler Devlet destekli eğitim veya bootcamp öğrencilerinin iş arama portföyleri için uygun 3 site türünü tanıtacağız. Şirketlerde yaygın olarak kullanılan grup yazılımları, ERP, dahili insan kaynakları sistemleri vb. geliştirebilir veya popüler web hizmetlerinin
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

30 Mart 2024

[Bölüm Dışı, Geliştirici Olarak Hayatta Kalmak] 16. Yeni Mezun Geliştirici Portföy Oluşturma İpuçları Yeni mezun geliştiriciler (özellikle bölüm dışı olanlar), portföy oluştururken teknik becerilerin yanı sıra geliştirdikleri hizmetleri veya işlevleri de net bir şekilde açıklamalıdır. Örneğin, "İş arayanlar için topluluk" projesi için Q&A panosu, işe alma
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 Nisan 2024

[SI Geliştirici Hikayesi] 12. SI Projelerinde Sık Kullanılan Teknoloji Yığını Güney Kore'deki SI geliştiricileri, genellikle Java tabanlı Spring, Oracle DB, Mybatis, JSP, JavaScript, HTML, CSS gibi teknoloji yığınlarını kullanarak verimli ve istikrarlı BT sistemleri geliştirir ve Eclipse'i geliştirme ortamı olarak kullanırlar. Bu t
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

19 Nisan 2024