diff --git a/guide/portuguese/java/abstract-class/index.md b/guide/portuguese/java/abstract-class/index.md index 3eb3346d20..6981ccad25 100644 --- a/guide/portuguese/java/abstract-class/index.md +++ b/guide/portuguese/java/abstract-class/index.md @@ -4,44 +4,41 @@ localeTitle: Classes Abstratas em Java --- Vamos discutir classes abstratas. Antes de mergulhar neste tutorial, é melhor que você tenha entendido conceitos de classes e herança. -Classes abstratas são classes que podem ser herdadas (isto é, estendidas), mas não podem ser instanciadas. Você pode pensar neles como uma **versão** de **classe** de interfaces ou como uma interface com código real anexado aos métodos. +Classes abstratas são classes que podem ser subclassificadas (isto é, estendidas), mas não podem ser instanciadas. Você pode pensar neles como uma **versão** de **classe** de interfaces ou como uma interface com código anexado aos métodos. -Considere o seguinte exemplo para entender classes abstratas: Você tem uma classe Veículo que define certas funcionalidades básicas (métodos) e certos componentes (variáveis ​​de objeto) que uma máquina deve ter, para ser classificada como veículo. Você não pode criar um objeto de tipo Veículo porque um veículo em si é um conceito abstrato. No entanto, você pode estender a funcionalidade da classe de veículo para criar um carro ou uma motocicleta. - -``` java -abstract class Veiculo { - -// variável usada para declarar o não. de rodas em um veículo -private int rodas; - -// Variável para definir o tipo de motor -private Motor motor; - -// um método abstrato que apenas declara, mas não define o mecanismo de partida -// funcionalidade porque cada veículo usa um mecanismo de partida diferente -abstract void start (); +Considere o seguinte exemplo para entender classes abstratas: Você tem uma classe Veículo que define certas funcionalidades básicas (métodos) e certos componentes (variáveis de objeto) que uma máquina deve ter para ser classificada como veículo. Você não pode criar um objeto de Veículo porque um veículo em si é um conceito abstrato. No entanto, você pode estender a funcionalidade da classe de veículo para criar um carro ou uma motocicleta. +```java +abstract class Veiculo +{ + // variável usada para declarar o nº de rodas em um veículo + private int rodas; + + // um método abstrato que declara, mas não define a funcionalidade inicial + // porque cada veículo usa um mecanismo de partida diferente + abstract void darPartida(); } + public class Carro extends Veiculo { - ... + … } public class Motocicleta extends Veiculo { - ... + … } ``` Você não pode criar um objeto usando a classe Veiculo. Porém, você pode extender a classe Veiculo, e, então, criar um objeto desta classe que extendeu Veiculo. -``` java +```java +Veiculo novoVeiculo = new Veiculo(); // Inválido +Veiculo carro = new Carro(); // válido +Veículo moto = new Motocicleta(); // válido +Carro carroObj = new Carro(); // válido +Motocicleta motoObj = new Motocicleta(); // válido +``` - Veiculo veiculo = new Veiculo (); // Inválido - Veiculo carro = new Carro(); // válido - Veiculo mBike = new Motocicleta (); // válido - - Carro carro = new Carro(); // válido - Motocicleta mBikeObj = new Motocicleta(); // válido - - ``` +Se a classe filha não implementar os métodos abstratos da classe mãe, ela também se tornará +uma classe abstrata.