Java / Bahar - Kalıtım, Polimorfizm ve Bağımlılık Enjeksiyonu

İçindekiler
Java programlamanın 2 kavramına bakacağız (Miras Y polimorfizm) adı verilen daha gelişmiş bir kavramı anlamaya bizi hazırlamak için Bağımlılık Enjeksiyonu Bu, Spring ve Hibernate gibi günümüzde yaygın olarak kullanılan ve gelecekteki eğitimlerde bahsedeceğimiz Çerçevelerin tipik bir örneğidir.
Hayır, zengin amcanızın sonunda öldüğünde size bıraktığı milyonları ifade etmez, tipik bir Java programlama kavramıdır ve bir kişiye ait "miras alan" alanlar ve yöntemlerden oluşur. üst sınıf içinde alt sınıf.
Mirasla ilgili temel bilgiler:
  • Başka bir sınıftan türetilen sınıfa denir. alt sınıf (veya genişletilmiş sınıf, kızı sınıfı veya Türetilmiş sınıf). Ayrıca hangi sınıfın alt sınıf türetilir denir üst sınıf (fazla temel sınıf veya ebeveyn sınıfı). Bu eğitimde ve sonraki eğitimlerde şu terimleri kullanacağım: alt sınıf Y üst sınıf.
  • Java'da, özellikle sınıf dışında Nesne, TÜM sınıflar doğrudan bir SINGLE öğesine miras alır üst sınıf (basit miras). Üst sınıfın açıkça tanımlanmaması durumunda, her sınıf, sınıftan örtük olarak miras alır. Nesne.
  • Bir sınıf, sınıftan miras alınana kadar başka bir sınıftan miras alan başka bir sınıftan miras alan başka bir sınıftan miras alabilir. Nesne, daha sonra söz konusu sınıfın hiyerarşideki tüm sınıflardan sınıfa "indiği" söylenir. Nesne.
Bunu bir örnekle basitleştirmeye çalışalım:
Miras paketinde aşağıdaki 3 sınıfımız olduğunu varsayalım:
 paket devralma; public class Dog {private int numberOfLegs; özel String saç boyası; özel dize yarışı; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = numberOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = hairColor; } public String getRace () {dönüş yarışı; } public void setRace (String yarışı) {this.race = yarış; } public void bark () {System.out.println ("Köpek WOW'a Gidiyor"); }} 

 paket devralma; public class Cat {private int numberOfLegs; özel String saç boyası; özel dize yarışı; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = numberOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = hairColor; } public String getRace () {dönüş yarışı; } public void setRace (String yarışı) {this.race = yarış; } public void miyav () {System.out.println ("Kedi MEOW yapar"); }} 

 paket devralma; public class Horse {private int numberOfLegs; özel String saç boyası; özel dize yarışı; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = numberOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = hairColor; } public String getRace () {dönüş yarışı; } public void setRace (String yarışı) {this.race = yarış; } public void neigh () {System.out.println ("At IIIIGGGHHHH yapar"); }} 

Görüldüğü gibi 3 sınıf 3 farklı türde nesne üretmektedir ancak birçok benzer özellikte aslında bark, miyav ve komşu yöntemleri dışında tamamen aynıdırlar. Bu nedenle kalıtım kavramı kullanılarak ortak özelliklerin yeniden yazılması uygun olacaktır. üst sınıf ve her birini değiştir alt sınıf böylece yalnızca aşağıdaki gibi ilgili yöntemi eklerler:
[renk = # a9a9a9]1[/Renk]
biz yaratırız üst sınıf Hayvan:
 paket devralma; public class Animal {private int numberOfLegs; özel String saç boyası; özel dize yarışı; public int getNumberOfLegs () {return numberOfLegs; } public void setNumberOfLegs (int numberOfLegs) {this.numberOfLegs = numberOfLegs; } public String getHairColor () {return hairColor; } public void setHairColor (StringHairColor) {this.HairColor = hairColor; } public String getRace () {dönüş yarışı; } public void setRace (String yarışı) {this.race = yarış; }} 

[renk = # a9a9a9]2 [/Renk]
3'ü değiştiriyoruz alt sınıflar Animal sınıfından miras kalanlar ("extends" anahtar sözcüğünü kullanarak) ve yalnızca tek yöntemi ekleyin:
 paket devralma; public class Dog, Animal {public void bark () {System.out.println ("Köpek WOW'a Gidiyor"); }} 

 paket devralma; public class Cat, Animal {public void miyav () {System.out.println ("Kedi MEOW yapar"); }} 

 paket devralma; public class Horse, Animal {public void neigh () {System.out.println ("At IIIIGGGHHHHH yapar"); }} 

Bu şekilde Java'daki "Kalıtım" konusunu doruğa çıkardık, yakında "Kalıtım" ile yakından ilişkili olan "Polimorfizm" kavramıyla devam edeceğiz ve "Bağımlılık Enjeksiyonu" kavramını anlamamıza yardımcı olacak. Çerçeve "Bahar".
Bir dahaki sefere kadar yorumlarınızı bırakmayı unutmayın!Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave