«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Наследование и полиморфизм в Java: использование суперклассов и подклассов

Наследование и полиморфизм в Java: использование суперклассов и подклассов

Опубликовано в 2025-02-06
Просматривать:747

В этой статье объясняется, как наследование 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 () в классе животных.

]

Кроме того, класс собак является подклассом одомашненного класса, который является подклассом класса животных.

]

ребенок ’→’
] Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

]

в Java у подкласса может быть только один суперкласс, например, у класса собак не может быть одомашненного и суперклассного животного, следующее не допускается.
] Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

]

Другими словами, у подкласса может быть только один суперкласс,… и им не разрешено иметь нескольких родителей, бабушек и дедушек или прабабушек.
] Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

]

в заключение, наследование 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

]
первоначально опубликовано на Alex.omegapy на среднем, опубликованном по кодированию уровня 1 ноября 2024 года.

]

] ]
Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/alex_ricciardi/inheritance-and-polymorphism-in-java-using-superclasses-and-sbclasses-12jn?1, если есть какие-либо нарушения, пожалуйста, свяжитесь с исследованием[email protected]. Чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3