"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Herança e polimorfismo em java: usando superclasses e subclasses

Herança e polimorfismo em java: usando superclasses e subclasses

Postado em 2025-02-06
Navegar:652

Este artigo explica como a herança de Java tem um relacionamento "IS-A" entre superclasses e subclasses, permitindo que as subclasses herdem e personalizem a funcionalidade da superclasse. Ao usar o polimorfismo, as subclasses podem definir comportamentos únicos, permitindo a reutilização e flexibilidade do código na programação orientada a objetos.


em Java, a relação entre super classes (classe pai) e subclasses (classe infantil ou classe derivada) em herança é um relacionamento IS-A que implica que a subclasse é uma versão especializada da superclasse herdando a funcionalidade (as restrições podem ser aplicado) de uma classe da qual é derivada (CSU Global, n.d). Em outras palavras, se a classe B herda da classe A, então a classe B “é um” tipo de classe A. Esse relacionamento permite que a classe B use todas as funcionalidades (restrições podem ser aplicadas) fornecidas pela classe A, além de adicionar seu próprio funcionalidades específicas ou/e ao substituir algumas ou todas as funcionalidades da classe A. A capacidade da classe infantil de substituir a funcionalidade é uma forma de polimorfismo.

“A definição de polimorfismo do dicionário refere -se a um princípio na biologia na qual um organismo ou espécie pode ter muitas formas ou estágios diferentes. Esse princípio também pode ser aplicado a programação e idiomas orientados a objetos, como o idioma Java. As subclasses de uma classe podem definir seus próprios comportamentos únicos e, no entanto, compartilhar algumas das mesmas funcionalidades da classe pai ”(The Java ™ Tutorials, N.D.) Isso é especialmente benéfico ao lidar com vários objetos de diferentes subclasses que compartilham um tipo de superclasse comum.

por exemplo: cães, gatos e corujas são animais:

superclass

public class Animal {
    public void makeSound() {
        System.out.println("Makes a Sound");
    }
}

subclasse de animais

public class Domesticated extends Animal {
    public void friendly() {
        System.out.println("This animal is friendly.");
    }
}

subclasse de domesticado

public class Undomesticated extends Animal {
    public void notFriendly() {
        System.out.println("This animal is not friendly.");
    }
}

subclasse de domesticado

public class Cat extends Domesticated {
    @Override
    public void makeSound() {
        System.out.println("Meow");
    }
}

subclasse de não domesticado

public class Owl extends Undomesticated {
    @Override
    public void makeSound() {
        System.out.println("Hoots");
    }
}

classe principal para gerar o resultado

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.
     }
}

Nota: Os métodos makeound () nas classes de cães e gatos substituem o método makeound () na classe de animais.

Além disso, a classe de cães é uma subclasse da classe domesticada, que é uma subclasse da classe de animais.

filho de '→'
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Em Java, uma subclasse pode ter apenas uma superclasse, por exemplo, a classe de cães não pode ter uma superclasse domesticada e um animal de superclasse, o seguinte não é permitido.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Em outras palavras, uma subclasse pode ter apenas uma superclasse,… e eles não têm permissão para ter vários pais, avós ou bisavós.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Em conclusão, a herança de Java permite que as subclasses utilizem e estendam a funcionalidade das superclasses, incorporando o relacionamento "IS-A" e facilitando o polimorfismo. Isso aprimora a reutilização, flexibilidade e consistência do código, permitindo comportamentos específicos em subclasses, mantendo características compartilhadas em uma superclasse comum.


REFERÊNCIAS:

cus global (n.d.). Módulo 1: Trabalhando com herança [palestra interativa]. Em Colorado State University Global, CSC372: Programming II, Departamento de Ciência da Computação. Tela. Recuperado em 8 de junho de 2024, em https://csuglobal.instructure.com/courses/94948/pages/module-1-overview?module_item_id=4868813

Os tutoriais Java ™ (n.d.). Aprendendo a língua Java: interfaces e herança. Oráculo. Recuperado em 8 de junho de 2024, fromhttps: //docs.oracle.com/javase/tutorial/java/iandi/polymorphism.html


publicado originalmente em Alex.omegapy no meio publicado pela Coding de nível Up em 1 de novembro de 2024.

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/alex_ricciardi/inheritance-and-polymorphism-in-java-using-superclasses-and-subclasses-12jn?1 Se houver alguma infração, entre em contato com o [email protected]. excluir
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3