Python çağrı süper kurucu

Java Super: Bir Kılavuz

Kalƒ±tƒ±m, geli≈ütiricinin mevcut bir sƒ±nƒ±ftan yeni bir sƒ±nƒ±f tanƒ±mlamasƒ±na olanak tanƒ±yan, nesne y√∂nelimli programlamadaki temel bir √∂zelliktir. √ñrneƒüin, yerel bir saƒülƒ±klƒ± gƒ±da maƒüazasƒ±nda et tedarikçilerini depolamak için bir sƒ±nƒ±f, maƒüazada satƒ±lan herhangi bir urunu depolamak için bir sƒ±nƒ±fa dayalƒ± olarak tanƒ±mlanabilir.

Java’da kalƒ±tƒ±m ile çalƒ±≈üƒ±rken, muhtemelen super anahtar kelimeyle kar≈üƒ±la≈üacaksƒ±nƒ±z. super anahtar s√∂zcuƒüu, bir alt sƒ±nƒ±f içindeki ust sƒ±nƒ±f uyelerine eri≈ümek için kullanƒ±lƒ±r ve ust sƒ±nƒ±f uyeleri devralƒ±rken çe≈üitli kullanƒ±mlarƒ± vardƒ±r.

Bu eƒüitici, referanslar ve √∂rneklerle Java super anahtar s√∂zcuƒüunun temellerini ve nasƒ±l yapƒ±ldƒ±ƒüƒ±nƒ± tartƒ±≈üacaktƒ±r. kodunuzda kullanabilirsiniz. Bu √∂ƒüreticiyi okuduktan sonra, Java’da super anahtar kelimesini kullanma konusunda uzman olacaksƒ±nƒ±z.

Java Kalıtımı

Java’da, kalƒ±tƒ±m, yeni bir sƒ±nƒ±f tanƒ±mlamak için kullanƒ±lƒ±r. var olan biri. Kalƒ±tƒ±m kullanƒ±≈ülƒ± bir √∂zelliktir çunku kodlayƒ±cƒ±larƒ±n yeni sƒ±nƒ±flar olu≈üturmak için mevcut kodu kullanabildikleri için tekrar etmeleri gereken kod miktarƒ±nƒ± azaltmalarƒ±na olanak tanƒ±r.

Kalƒ±tƒ±m, bir is-a olduƒüunda kullanƒ±lƒ±r. iki sƒ±nƒ±f arasƒ±ndaki ili≈üki. ƒ∞≈üte bu tur bir ili≈ükiye birkaç √∂rnek:

  • Et bir besindir
  • iPhone bir telefondur
  • Lamba bir √∂ƒüedir. mobilya
  • Lastik bir arabanƒ±n parçasƒ±dƒ±r

Ba≈üka bir y√∂ntemden kod devralarak, o i≈ülevde depolanan niteliklere, olu≈üturuculara ve y√∂ntemlere eri≈üebilir ve bunlarƒ± kullanabilirsiniz. yeni y√∂nteminizde. ƒ∞≈üte, SavingsAccount adlƒ± yeni bir y√∂ntemde kullanƒ±lmak uzere bir BankAccount y√∂nteminde depolanan kodu devralmak için kullanƒ±lan bir devralma √∂rneƒüi:

Bu √∂rnekte, geni≈ületme anahtar s√∂zcuƒüunu ≈üu amaçlar için kullanƒ±yoruz: BankAccount y√∂nteminden tum y√∂ntemleri, √∂znitelikleri ve olu≈üturucularƒ± devralƒ±r ve bunlarƒ± yeni SavingsAccount y√∂ntemine uygular. Java devralma hakkƒ±nda daha fazla bilgi edinmek istiyorsanƒ±z, konuyla ilgili kƒ±lavuzumuzu buradan okuyabilirsiniz.

Java Super

Super anahtar kelime, bir alt sƒ±nƒ±ftaki ust sƒ±nƒ±f uyelerine eri≈ümek için kullanƒ±lƒ±r. Bir ust sƒ±nƒ±fƒ±n uyeleri, yapƒ±cƒ±lar, nitelikler ve y√∂ntemlerdir.

Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ±na katƒ±l.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈üladƒ±ktan sonra kariyer geçi≈üinde altƒ± aydan az zaman harcadƒ±. ilk i≈ülerini bulmak için.

Java’da, ust sƒ±nƒ±f olarak da bilinen ust sƒ±nƒ±f, bir alt sƒ±nƒ±fƒ±n (veya bir alt sƒ±nƒ±fƒ±n) yapƒ±cƒ±larƒ±nƒ± miras aldƒ±ƒüƒ± sƒ±nƒ±ftƒ±r. y√∂ntemler ve nitelikler. √ñrneƒüin, yukarƒ±daki √∂rneƒüimizde BankAccount, SavingsAccount alt sƒ±nƒ±fƒ±mƒ±zƒ±n deƒüerlerini devraldƒ±ƒüƒ± ust sƒ±nƒ±ftƒ±.

Super anahtar kelime, a≈üaƒüƒ±da inceleyeceƒüimiz uç durumda kullanƒ±lƒ±r.

√úst Sƒ±nƒ±f Niteliklerine Eri≈ümek için Super’i Kullanma

Java’da, bir ust sƒ±nƒ±f ve alt sƒ±nƒ±ftaki nitelikler aynƒ± ada sahip olabilir. Bir ust sƒ±nƒ±fƒ±n içeriƒüine a烱kça eri≈ümek istiyorsanƒ±z‚Äô √∂zniteliƒüi için super anahtar kelimeyi kullanmanƒ±z gerekir.

Bir sƒ±nƒ±f √∂zniteliƒüine eri≈ümek için yukarƒ±dan banka hesabƒ± √∂rneƒüimize referansla kullanƒ±lan bir super √∂rneƒüi:

Kodumuz şunu döndurur:

√ñrneƒüimizde, bir √∂zniteliƒüi olan BankAccount adƒ±nda bir ust sƒ±nƒ±f ilan ettik: accountType. accountType bu sƒ±nƒ±fta Bank Account’a e≈üittir.

Deƒüerlerini BankAccount’tan miras alan SavingsAccount adƒ±nda bir alt sƒ±nƒ±f da tanƒ±mladƒ±k. Bu alt sƒ±nƒ±fta, bu sƒ±nƒ±f tarafƒ±ndan tutulan hesabƒ±n turunu saklayan, bu durumda Tasarruf Hesabƒ± olan accountType adlƒ± bir deƒüi≈üken bildiririz.

Ardƒ±ndan printAccountDetails(), çaƒürƒ±ldƒ±ƒüƒ±nda, SavingsAccount’un hesap turunu yazdƒ±rƒ±r ve √∂nunde Hesap turu: etiketi bulunur. AccountType deƒüi≈ükeninin yerel kapsamƒ± olduƒüundan, SavingsAccount hesap turunu yazdƒ±rmak için accountType deƒüi≈ükenini kullanƒ±rƒ±z.

Bu yazdƒ±rƒ±ldƒ±ktan sonra, konsola √úst hesap turu: yazdƒ±rƒ±lƒ±r, ardƒ±ndan BankAccount sƒ±nƒ±fƒ±nƒ±n accountType gelir. super kullanƒ±rƒ±z. AccountType ust sƒ±nƒ±f varsayƒ±lan yapƒ±cƒ±sƒ±nda saklanan accountType deƒüerine ba≈üvurmak için.

Ana programƒ±mƒ±zda, √∂nce SavingsAccount y√∂nteminin johnAccount adƒ±nda ve onun için ayrƒ±ntƒ±larƒ± saklayan bir nesnesi olu≈üturuyoruz. Sonra John‚Äôsquo;squo;squo;squo;squo;squo;squo;nun hesabƒ± hakkƒ±nda bilgi almak için printAccountDetails() adlƒ± y√∂ntemi çaƒüƒ±rƒ±rƒ±z.

√úst Sƒ±nƒ±f Y√∂ntemine Eri≈ümek için Super’i Kullanma

Bir alt sınıf ve ust sınıf aynı ada sahip olabilir. Bir alt sınıf yöntemiyle aynı ada sahip bir ust sınıfta depolanan yönteme erişmek istiyorsanız, super anahtar kelimeyi kullanmanız gerekir.

İşte bir super alışkınlık örneği banka hesabı bilgilerini depolayan bir program örneğini kullanarak bir ust sınıf yöntemine erişin:

Kodumuz şunu döndurur:

Bu √∂rnekte, bir y√∂ntemi olan BankAccount adƒ±nda bir ust sƒ±nƒ±f bildirdik: displayAccountType(). Bu y√∂ntem çaƒürƒ±ldƒ±ƒüƒ±nda, konsola Hesap turu: Banka Hesabƒ± yazdƒ±rƒ±lƒ±r.

Ayrıca SavingsAccount adında iki yöntemi olan bir alt sınıf tanımladık: displayAccountType() ve displayParentAccountType().

displayAccountType() yurutulduƒüunde, Hesap turu: Birikim Hesabƒ± konsola yazdƒ±rƒ±lƒ±r. displayParentAccountType() yurutulduƒüunde, ust sƒ±nƒ±fƒ±mƒ±zdan displayAccountType() y√∂ntemini çaƒüƒ±rmak için super anahtar s√∂zcuƒüunu kullanƒ±rƒ±z. Bu nedenle programƒ±mƒ±z SavingsAccount sƒ±nƒ±fƒ±nda displayAccountType() y√∂ntemini çalƒ±≈ütƒ±rmak yerine BankAccount sƒ±nƒ±fƒ±nda displayAccountType() y√∂ntemini çalƒ±≈ütƒ±rƒ±r.

In Ana programƒ±mƒ±z olarak, √∂nce johnSavings adlƒ± bir SavingsAccount √∂rneƒüini ilan ediyoruz. Ardƒ±ndan, SavingsAccount y√∂nteminden displayAccountType() çalƒ±≈ütƒ±ran displayAccountType() y√∂ntemini çaƒüƒ±rƒ±rƒ±z. Son olarak, super.displayAccountType()’u çalƒ±≈ütƒ±ran ve konsola Hesap turu: Banka Hesabƒ± yazan displayParentAccountType()’ƒ± çaƒüƒ±rƒ±yoruz.

√úst Sƒ±nƒ±f Olu≈üturucuya Eri≈ümek için Super’i Kullanma

Super anahtar kelime, bir alt sƒ±nƒ±ftaki bir kurucu ile aynƒ± adƒ± payla≈üan bir ust sƒ±nƒ±ftan bir kurucuya eri≈ümek için de kullanƒ±lƒ±r. Java kurucularƒ± hakkƒ±nda daha fazla bilgi edinebilirsiniz. Java kurucu eƒüitimimizde burada.

"Python.Engineering hayatƒ±ma en çok ihtiyacƒ±m olduƒüu anda girdi ve çabucak yardƒ±mcƒ± oldu beni bir bootcamp ile e≈üle≈ütirin. Mezun olduktan iki ay sonra, hayattaki deƒüerlerim ve hedeflerime uygun hayalimdeki i≈üi buldum!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

< p>Bir alt sƒ±nƒ±f yapƒ±cƒ±sƒ±ndan bir ust sƒ±nƒ±f yapƒ±cƒ±sƒ±nƒ± çaƒüƒ±rmak için, alt sƒ±nƒ±f yapƒ±cƒ±sƒ±nƒ±n içinde super() kullanmamƒ±z gerekir. Super(), baƒüƒ±msƒ±z deƒüi≈üken yapƒ±cƒ±sƒ±ndaki ilk ifade olmalƒ±dƒ±r. .

Banka hesabƒ± √∂rnek uygulamamƒ±zƒ± kullanarak bir ust sƒ±nƒ±f olu≈üturucuyu çaƒüƒ±rmak için kullanƒ±lan super() √∂rneƒüini burada bulabilirsiniz:

Kodumuz şunu döndurur:

Bu √∂rnekte, adƒ±nda bir ust sƒ±nƒ±f tanƒ±mladƒ±k. Bir kurucu içeren BankAccount. Bu kurucu, çaƒürƒ±ldƒ±ƒüƒ±nda konsola √úst hesap turu: Banka Hesabƒ± yazdƒ±rƒ±r.

Ayrƒ±ca, bir kurucu içeren SavingsAccount adƒ±nda bir alt sƒ±nƒ±f tanƒ±mladƒ±k. Bu kurucu, çaƒürƒ±ldƒ±ƒüƒ±nda, BankAccount sƒ±nƒ±fƒ±nda BankAccount olu≈üturucusunu çaƒüƒ±rmak için super() kullanƒ±r. Bu, konsola √úst hesap turu: Banka Hesabƒ±’nƒ± yazdƒ±rƒ±r. Ardƒ±ndan, SavingsAccount yapƒ±cƒ±sƒ± konsola Ana hesap turu: Tasarruf Hesabƒ±’nƒ± yazdƒ±rƒ±r.

Ana programƒ±mƒ±zda, johnAccount adlƒ± SavingsAccount nesnesinin bir √∂rneƒüini ba≈ülatƒ±rƒ±z. johnAccount’u ba≈ülattƒ±ƒüƒ±mƒ±zda, SavingsAccount() yapƒ±cƒ±sƒ± yurutulur.

Sonuç

Java super anahtar s√∂zcuƒüunun uç kullanƒ±mƒ± vardƒ±r. Bunlar:

  • √úst sƒ±nƒ±f √∂zelliklerine eri≈üim
  • √úst sƒ±nƒ±f y√∂ntemlerine eri≈üim
  • √úst sƒ±nƒ±f olu≈üturuculara eri≈üim

Bu eƒüitim √∂rneklere referansla, bu amaçlar için Java ust sƒ±nƒ±f anahtar s√∂zcuƒüunun nasƒ±l kullanƒ±lacaƒüƒ± tartƒ±≈üƒ±lmƒ±≈ütƒ±r. ≈ûimdi, bu √∂ƒüreticiyi okuduktan sonra, bir uzman gibi Java super anahtar kelimesini kullanmaya hazƒ±rsƒ±nƒ±z!