Classes abstratas em ajudar os usuários a alcançar a abstração, que é a prática mais crucial de programação orientada a objetos seguida durante o processo de design de software. Neste artigo, discutiremos a terminologia de classes abstratas por meio da seguinte súmula.
- O que são classes abstratas em Java?
- Por que precisamos de classes abstratas em Java?
- Regras para usar classes abstratas em Java
- Maneiras de alcançar abstração em Java
- A sintaxe para classes abstratas
- Exemplos práticos de aulas abstratas
- Diferença entre Interface e Classe Abstrata
O que são classes abstratas em Java?
Classes abstratas em atua como um limite entre o método de implementação e sua funcionalidade. É usado para trocar a funcionalidade entre o Concreto membros da classe e o Resumo Classe.
Classes abstratas são consideradas aquelas classes que ocultam o Implementação de Método detalhes do usuário e mostrar apenas o Funcionalidade do método. Eles são declarados usando a palavra-chave resumo . Esses métodos podem incluir Resumo e Não Abstrato métodos neles.
recursos do java 9 com exemplos
Por que precisamos de classes abstratas em Java?
Precisamos de classes abstratas em Java pelos seguintes motivos:
- Suporte para classes abstratas Resolução de Método Dinâmico em tempo de execução
- Eles ajudam os usuários a alcançar Acoplamento solto
- Classes abstratas separam o Definição de Método do herdado Subclasses
- Eles fornecem o Funcionalidade padrão do método definido para todas as subclasses
- Classes abstratas fornecem um Modelo para futuras aulas específicas
- A classe abstrata permite Código Reutilização
Regras para usar classes abstratas em Java
Para implementar uma classe abstrata em Java, precisamos seguir as regras descritas abaixo:
- Uma classe abstrata deve ser declarada usando o resumo palavra-chave.
- As classes abstratas podem incluir resumo e não abstrato métodos.
- Uma classe abstrata não pode ser instanciado.
- Eles podem incluir construtores e estático métodos.
- Uma classe abstrata inclui final métodos.
Maneiras de alcançar abstração em Java
O processo de abstração em Java pode ser alcançado pelos dois métodos a seguir, conforme mencionado abaixo:
- Implementando uma classe abstrata
- Implementando uma Interface
A sintaxe para classes abstratas
A sintaxe para definir classes abstratas e métodos abstratos é a seguinte:
classe abstrata Edureka {}
classe abstrata Método ()
Exemplos práticos de aulas abstratas
// Abstract Class
package Abstract public abstract class Person {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Gender = '+ this.gender}}
// Student Class
pacote Abstract public class Student extends Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Studying')} else {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Feminino', 0) Pessoa aluno1 = novo aluno ('Karan', 'Homem', 201021) Pessoa aluno2 = novo aluno ('Kumari', 'Mulher', 101021) Pessoa aluno3 = novo aluno (' John ',' Homem ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}
Resultado:
Não estudando
Procurando um diploma em Bacharel em Engenharia
Procurando um diploma em Bacharel em Engenharia
Procurando um diploma em Bacharel em Engenharia
Nome = Priya :: Sexo = Feminino
Nome = Karan :: Gênero = Masculino
Nome = Kumari :: Gênero = Feminino
Nome = John :: Gênero = Masculino
Diferença entre Interface e Classe Abstrata
Interface | Classe Abstrata |
Pode ter apenas métodos abstratos | Pode ter métodos abstratos e não abstratos |
Tem apenas Variáveis Finais | Inclui Variáveis Não Finais |
Possui apenas variáveis estáticas e finais | Possui variáveis estáticas, não estáticas, finais e não finais |
Não implementará a classe abstrata | Pode implementar uma interface |
Implementado usando a palavra-chave “implementa” | Implementado usando a palavra-chave “extends” |
Pode estender apenas uma interface | Pode estender classes e interfaces Java |
Os membros são públicos por padrão | Os membros podem ser privados e protegidos |
// Exemplo de classe abstrata
algoritmo merge sort c ++
pacote abstactVSinterface classe abstrata Forma {String objectName = '' Forma (nome da string) {this.objectName = nome} abstrato public double area () abstract public void draw ()} classe Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Retângulo desenhado')} @Override public double area () {return (double) (length * width)}} class Circle extends Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Círculo desenhado')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Área do retângulo:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('A área do círculo é:' + circle.area ())}}
Resultado:
Área do retângulo: 600,0
A área do círculo é: 628,0
// Exemplo de interface
java nova data da string
pacote absVSint interface Forma {void draw () double area ()} classe Rectangle implementa Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Retângulo foi desenhado')} @Override public double area () {return (double) (length * width)}} class Circle implementa Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Círculo foi desenhado')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20) System.out.println ('Área do círculo:' + circle.area ())}}
Resultado:
Área do retângulo: 600,0
Área do círculo: 628,0
Com isso, chegamos ao final deste artigo. Espero que você tenha entendido a importância da Abstração, Sintaxe, funcionalidade, Regras de Abstração em Java e exemplos práticos relacionados a elas.
Agora que você entendeu o básico de Java, verifique o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi desenvolvido para dar a você uma vantagem na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com vários frameworks Java como Hibernate Primavera .
Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “Abstract Classes in Java” e entraremos em contato com você o mais breve possível.