Java'da Yapıcı Aşırı Yükleme Nedir?
Yayınlanan: 2022-11-16Web uygulamalarına olan talep küresel olarak artıyor. Java, büyük ölçekli programlamaya ihtiyaç duyan geliştiriciler için tercih edilen bir seçenek olarak ortaya çıkmıştır. Java'nın popülaritesi, dinamik özelliklerine, kullanıcı dostu arayüzüne ve önde gelen işletim sistemleriyle yüksek uyumluluğuna bağlıdır. Dil zengin bir API'ye sahiptir. Java'nın diğer bir avantajı da güçlü topluluk desteği ve mükemmel dokümantasyon hizmetleri sunmasıdır. Java tarafından sunulan geliştirme araçları paketini unutmayın.
Java'daki yapıcılar ile ne demek istiyorsunuz?
Java'daki yapıcılar, esas olarak nesnenin durumunu başlatmak için kullanılır. Yöntemlere benzer şekilde, yapıcılar, bir nesne oluşturulurken yürütülmesi gereken bir grup talimat veya ifadeden oluşur.
Java'da bir Yapıcıya ihtiyaç nedir?
Java'da bir sıkıştırıcıya olan ihtiyacı açıklamak için, bir kutu örneğini ele alalım. Kutuyu bir sınıf olarak düşünün. Kutunun uzunluk, genişlik ve yükseklik gibi farklı değişkenleri olacaktır. Bir nesne yaratma zamanı geldiğinde, box sınıfının boyutları için tanımlanmış herhangi bir değeri olmayacaktır. Yeni nesneler oluşturulduğunda, yapıcılar, sınıf değişkenlerine iki şekilde değer atar - programcı tarafından iletilen çeşitli parametrelerle veya varsayılan Java yapıcılarını kullanarak.
Java'da Yapıcı Aşırı Yükleme ile ne demek istiyorsunuz?
Yapıcı aşırı yüklemede , aynı sınıftan birden çok kurucu tanımlanır. Ancak, her kurucunun benzersiz bir imzası veya belirli giriş parametreleri olmalıdır. Java'daki yapıcı aşırı yükleme programı, tek bir sınıfın, iletilen bağımsız değişkenler listesine göre farklılık gösteren birden fazla yapıcıya sahip olmasını sağlar. Her aşırı yüklenmiş yapıcı, çeşitli sınıf görevlerini gerçekleştirmek için kullanılır.
Java derleyicisi aşırı yüklenmiş oluşturucuları parametre türlerine, parametre listelerine ve giriş parametrelerinin miktarlarına göre tanımlar. Aşırı yüklenmiş yapıcıların farklı imzalara sahip olduğu oldukça açıktır. Yapıcının imzası, parametre türlerini ve adını içerecektir. Bazen iki sınıf oluşturucu aynı imzaya sahip olduğunda belirsizlik sorunları ortaya çıkar. Böyle bir durumda derleyici ikisi arasında ayrım yapamaz. Bu nedenle bir hata bildirimi görüntüler. Bazen, farklı imzalara sahip aşırı yüklenmiş oluşturucular vardır. Bu durumda, derleyici, iletkenin farklı nesnelerin giriş parametrelerinin sayısına bağlı olarak çağrıldığını tespit eder.
Yapıcı Aşırı Yükleme Örneği
Bu örnekte, StudentData sınıfından iki nesne yaratmaya çalışıyoruz . Bir nesne varsayılan bir oluşturucu kullanırken, diğeri parametreleştirilmiş bir oluşturucu kullanır. Her iki kurucunun da ayrı başlatma kodları vardır. Farklı-2 amaçları için farklı-2 başlatma kodları ile herhangi bir sayının oluşturucularını oluşturmak mümkündür.
StudentData.java
sınıf StudentData
{
özel dahili öğrenci kimliği;
özel Dize stuName;
ÖZEL ULUSLARARASI EĞİTİM;
Öğrenci Verileri ()
{
//varsayılan kurucu
öğrenci kimliği = 100 ;
stuName = “Yeni Öğrenci” ;
eğitim = 18 ;
}
StudentData ( int sayı1, String dizi , int sayı2 )
{
//Parametreleştirilmiş yapıcı
stuID = sayı1;
stuAdı = str;
eğitim = sayı2;
}
//Alıcı ve ayarlayıcı yöntemleri
genel int getStuID() {
stuID'yi iade et;
}
genel geçersiz setStuID( int stuID) {
bu .stuID = stuID;
}
genel Dize getStuName() {
stuName'i döndür ;
}
genel geçersiz setStuName( Dize stuName) {
bu .stuName = stuName;
}
genel int getStuAge() {
geri dönüş ;
}
genel geçersiz setStuAge( int stuAge) {
bu .stuAge = stuAge;
}
public static void main( String args[])
{
//Bu nesne oluşturma, varsayılan kurucuyu çağırır
StudentData myobj = yeni StudentData ();
sistem . out .println( “Öğrenci Adı: “ +myobj.getStuName());
sistem . out .println( “Öğrencinin Yaşı: “ +myobj.getStuAge());
sistem . out .println( “Öğrenci Kimliği: “ +myobj.getStuID());
/*Bu nesne oluşturma, parametreleştirilmiş
* yapıcı StudentData(int, String, int)*/
StudentData myobj2 = yeni StudentData ( 555 , “Chaitanya” , 25 );
sistem . out .println( “Öğrenci Adı: “ +myobj2.getStuName());
sistem . out .println( “Öğrencinin Yaşı: “ +myobj2.getStuAge());
sistem . out .println( “Öğrenci Kimliği: “ +myobj2.getStuID());
}
}
Çıktı:
Öğrenci Adı : Yeni Öğrenci _
Öğrenci Yaşı : 18 _
Öğrenci Kimliği : 100 _
Öğrenci Adı : Chaitanya _
Öğrenci Yaşı : 25 _
Öğrenci Kimliği : 555 _
Referans: https://beginnersbook.com/2013/05/constructor-overloading/
Dünyanın En İyi Üniversitelerinden Çevrimiçi Yazılım Geliştirme Kursları Öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Yapıcı aşırı yüklemede this () işlevinin anlaşılması
genel sınıf OverloadingExample2
{
özel int rollNum;
Aşırı YüklemeÖrnek2 ()
{
rollNum = 100 ;
}
Aşırı YüklemeÖrnek2 ( int rnum)
{
bu ();
/*this() varsayılanı çağırmak için kullanılır
* parametreli yapıcıdan yapıcı.
* Her zaman ilk ifade olmalıdır
* yapıcı gövdesinin içinde.
*/
rollNum = rollNum+ rnum;
}
genel int getRollNum() {
rollNum'u döndür ;
}
genel geçersiz setRollNum( int rollNum) {
bu .rollNum = rollNum;
}
public static void main( String args[])
{
OverloadingExample2 obj = yeni OverloadingExample2 ( 12 );
sistem . çıktı .println(obj.getRollNum());
}
}
Çıktı
112
Referans: https://beginnersbook.com/2013/05/constructor-overloading/
upGrad'ın Size Özel Yazılım Geliştirme Web Semineri –
upGrad'ın Size Özel Yazılım Geliştirme Web Semineri –
SAAS Business – Bu Kadar Farklı Olan Nedir?
Yukarıda belirtilen programda, nesnenin oluşturulması sırasında parametreleştirilmiş yapıcı çağrılır. Bu () parametreleştirilmiş yapıcıya yerleştirildiğinden, varsayılan kurucu çağrılır. rollNum değişkeni başlatılır.
Başka bir örnek:
Herhangi bir oluşturucu uygulamadığınızda, java derleyicisi derleme sırasında koda varsayılan bir oluşturucu ekler. Ancak, herhangi bir oluşturucu uyguladığınızda derleyici bunu yapmaz. Bu noktayı daha iyi anlamak için buradaki örneğe bakın:
genel sınıf Demosu
{
özel int rollNum;
//burada argümansız bir oluşturucu tanımlamıyoruz
Demo ( int rnum)
{
rollNum = rollNum+ rnum;
}
//Getter ve Setter metodları
public static void main( String args[])
{
//Bu ifade argümansız yapıcıyı çağırır
Demo nesnesi = yeni Demo ();
}
}
Çıktı:
Java.lang “main” iş parçacığında istisna . Hata : Çözülmemiş derleme
Sorun : Yapıcı Demo ( ) tanımsız
Yazılım Mühendisliği ile İlgili Popüler Kurslar ve Makaleler
Popüler Programlar | |||
Yazılım Geliştirmede Yönetici PG Programı - IIIT B | Blockchain Sertifika Programı - PURDUE | Siber Güvenlik Sertifika Programı - PURDUE | Bilgisayar Bilimlerinde Yüksek Lisans - IIIT B |
Diğer Popüler Makaleler | |||
ABD'de Bulut Mühendisi Maaşı 2021-22 | ABD'de AWS Çözüm Mimarı Maaşı | ABD'de Arka Uç Geliştirici Maaşı | ABD'de Ön Uç Geliştirici Maaşı |
ABD'de web geliştiricisi Maaşı | 2022'de Scrum Master Mülakat Soruları | 2022'de Siber Güvenlik Alanında Bir Kariyere Nasıl Başlanır? | Mühendislik Öğrencileri için ABD'de Kariyer Seçenekleri |
Yapıcı aşırı yüklemenin kullanımını açıklama
İnşaat aşırı yüklemesiyle , bir nesnenin belirli bir sınıfı farklı şekillerde oluşturmasını sağlamak mümkün hale gelir. Bu nedenle bu kavram, programcının gereksinimlerine bağlı olarak çeşitli Java programlarında kullanılır. Java'da yapıcı aşırı yükleme kullanırken , nesneleri farklı veri türleri ile başlatmak mümkündür.
Örneğin, üç sınıf örnek değişkeni olan bir nesne olduğunu düşünün. İkinci örnek değişkene belirli bir değer ve diğer değişkenlere varsayılan değerler atamanız gerekir. Kurucu sınıftaki farklı imzalara göre birden çok oluşturucu bildirerek bunu gerçekleştirin.
Java'da Yapıcı Aşırı Yüklemenin Avantajları
Aşağıda belirtilenler, Java programları yazarken yapıcı aşırı yükleme kullanmanın temel avantajlarıdır:
- Yapıcı aşırı yüklemeyi kullanarak sınıf örneklerini çeşitli şekillerde başlatabilirsiniz.
- Yapıcı aşırı yükleme ile statik polimorfizm elde edebilirsiniz.
- Aşırı yüklenmiş her kurucu, belirtilen amaçlar için farklı görevler gerçekleştirir.
- Java'da yapıcı aşırı yüklemesi, benzersiz şekilde özel imzalarla tek bir sınıfta birden çok kurucu tanımlama sürecini pürüzsüzleştirir.
Çözüm
Bu makale , Java'daki yapıcı aşırı yükleme programını ve faydalarını tartışmaktadır. Aşırı yüklenmiş kurucular olduğunda, farklı imzalara sahip bir sınıfın birden fazla kurucusu vardır. Derleme için her kurucunun farklı parametre listeleri olması gerekir. Bir parametre listesi, bağımsız değişkenlerin türlerini ve sıralarını içerecektir. Bir sınıfta aynı parametre listelerine sahip iki kurucuya sahip olmak imkansızdır.
upGrad'ın yazılım geliştiricileri ve teknoloji uzmanları için Tam Yığın Geliştirme Sertifika Programı
İster yazılım geliştirme endüstrisinde yeni olun, ister becerilerinizi geliştirmek istiyor olun, ilgili kurslar aracılığıyla yeni beceriler ve teknolojiler öğrenmelisiniz. Tam yığın geliştirme böyle bir kurstur.
upGrad, ilgili adaylara BT uzmanları, yazılım geliştiriciler, teknik destek uzmanları, analistler ve yazılım geliştirme alanına girmek isteyen yeni mezunlar için özel olarak tasarlanmış Yazılım Geliştirme Yönetici Programı sunmaktadır .
Bu kursla JavaScript konusunda oldukça yetenekli olacak ve Mikro Hizmetler ile MERN Stack'i öğreneceksiniz. Neredeyse 10'dan fazla programlama dilini ve aracını öğrenmenin yanı sıra, Facebook, Walmart, Netflix ve LinkedIn'de yaygın olarak kullanılan çeşitli araçları da öğreneceksiniz. Program, Cloud Labs üzerinde sürükleyici bir öğrenme deneyimi sağlar.
Bu sertifika programını alan öğrenciler, Capstone projesinde web uygulamaları tasarlama, geliştirme, test etme ve dağıtma fırsatına sahip olacaklar. Öğrenciler, bu avantajlarla önde gelen endüstri danışmanları ile bire bir kariyer danışmanlığı oturumları alırlar. Kursu tamamladıktan sonra full-stack geliştirici, UI geliştirici, ön uç ve arka uç geliştirici olarak çalışabilirsiniz.
Kursa kayıt olmak için hemen başvurun !
Java'da bir yapıcının kullanımı nedir?
Java'da bir yapıcı, nesneleri başlatmak ve bir sınıfın nesnesini oluşturmak için kullanılır. Nesne özellikleri ve nitelikleri için başlangıç değerleri de ayarlayabilirsiniz. Yapıcı, bir yönteme veya sürece benzer bir kod bloğu gibidir.
Statik sınıf için yapıcı aşırı yüklemesi gerçekleşiyor mu?
İlginç bir şekilde, statik iletkenler aşırı yüklenemez veya miras alınamaz. Statik bir iletken otomatik olarak çağrılır. Statik kurucu programda yürütüldüğünde kullanıcının kontrolü yoktur.
Yapıcı aşırı yükleme ile yöntem aşırı yükleme arasında bir fark var mı?
Belirli sınıf işlevlerini gerçekleştirmek için bir yöntem kullanılırken, bir yapıcı bir nesneyi başlatır. Bir nesne oluşturduğunuzda, yapıcılar dolaylı olarak çağrılır. Ancak, yöntemlerin kullanıcı tarafından açıkça çağrılması gerekir.