В этой статье объясняется, как наследование Java имеет отношения «IS-A» между суперклассами и подклассами, позволяя подклассам наследовать и настраивать функциональность SuperClass. Используя полиморфизм, подклассы могут определять уникальное поведение, позволяя повторно использовать код и гибкость в объектно-ориентированном программировании.
]В Java взаимосвязь между супер-классами (родительским классом) и подклассами (детским классом или полученным классом) в наследстве представляет собой отношение IS-A-A-A, подразумевающее, что подкласс является специализированной версией суперкласса, наследуя функциональность (ограничения могут применяться) класса, из которого он получен (CSU Global, N.D). Другими словами, если класс B наследует от класса A, то класс B «Is A» тип класса A. Эта связь позволяет классу B использовать все функциональные возможности (ограничения могут быть применены), предоставленные в классе A, а также добавление собственных Конкретные функциональные возможности или/и, переопределяя некоторые или все функциональности класса A. Способность детского класса переопределять функциональность является формой полиморфизма.
]«Определение полиморфизма словаря относится к принципу в биологии, в котором организм или виды могут иметь много разных форм или этапов. Этот принцип также может быть применен к объектно-ориентированному программированию и языкам, таким как язык Java. Подклассы класса могут определить свое собственное уникальное поведение и при этом разделять некоторые из тех же функциональности родительского класса »(учебные пособия Java ™, н.д.) Это особенно полезно при работе с несколькими объектами из разных подклассов, которые имеют общий тип суперкласса.
]Например: собаки, кошки и совы - животные:
] superclass
]
public class Animal { public void makeSound() { System.out.println("Makes a Sound"); } }]
подкласс животных
]
public class Domesticated extends Animal { public void friendly() { System.out.println("This animal is friendly."); } }]
подкласс одомашненных
]
public class Undomesticated extends Animal { public void notFriendly() { System.out.println("This animal is not friendly."); } }]
подкласс одомашненных
]
public class Cat extends Domesticated { @Override public void makeSound() { System.out.println("Meow"); } }]
подкласс недооцененного
]
public class Owl extends Undomesticated { @Override public void makeSound() { System.out.println("Hoots"); } }]
Основной класс для вывода результата
]
public class inheritanceExample { public static void main(String[] args) { Dog myDog = new Dog(); Cat myCat = new Cat(); Owl redOwl = new Owl(); System.out.println("MY Dog:"); myDog.makeSound(); // Outputs: Bark myDog.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("My Cat:"); myCat.makeSound(); // Outputs: Meow myCat.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("Red Owl:"); redOwl.makeSound(); // Outputs: Hoot redOwl.notFriendly(); // Outputs: This animal is not friendly. } }]
Примечание: методы MayingOund () в классах собак и кошек переопределяют метод MayingOund () в классе животных.
]Кроме того, класс собак является подклассом одомашненного класса, который является подклассом класса животных.
] ребенок ’→’
]
в Java у подкласса может быть только один суперкласс, например, у класса собак не может быть одомашненного и суперклассного животного, следующее не допускается.
]
Другими словами, у подкласса может быть только один суперкласс,… и им не разрешено иметь нескольких родителей, бабушек и дедушек или прабабушек.
]
в заключение, наследование Java позволяет подклассам использовать и расширять функциональность суперклассий, воплощая отношения «is-A» и облегчение полиморфизма. Это повышает повторную способность кода, гибкость и последовательность, позволяя конкретному поведению в подклассах, сохраняя при этом общие характеристики в общем суперклассе.
]Ссылки:
cus global (n.d.). Модуль 1: Работа с наследством [интерактивная лекция]. В Университете штата Колорадо Global, CSC372: программирование II, факультет компьютерных наук. Холст. Получено 8 июня 2024 года, с https://csuglobal.instructure.com/courses/94948/pages/module-1-overview?module_item_id=4868813*&&& [
Учебники Java ™ (н.д.). Изучение языка Java: интерфейсы и наследство. Оракул. Получено 8 июня 2024 года, от https: //docs.oracle.com/javase/tutorial/java/iandi/polymorphism.html]
]
] ]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3