Escolar Documentos
Profissional Documentos
Cultura Documentos
ORIENTADA
A OBJETOS
Introdução
As linguagens de programação que possuem paradigma orientado
a objetos são amplamente utilizadas, tanto na indústria quanto na
academia. A primeira linguagem de programação totalmente orien-
tada a objetos teve origem na década de 1970, chamada de Smalltalk
(GOLDBERG, 1984). Na década seguinte, começaram a surgir outras
linguagens com o mesmo paradigma, como Delphi, Pascal e Java.
A linguagem Java ganhou destaque e se popularizou, pois fornece,
entre outras coisas, portabilidade.
Nesse contexto de orientação a objetos, alguns conceitos são funda-
mentais, sendo um deles o de herança. O relacionamento de herança é
algo inovador na orientação a objetos e forneceu um meio de abstrair
informações de formas mais precisas.
Neste capítulo, você estudará sobre o princípio de herança em Java
na orientação a objetos. Além disso, verá como utilizar a sobrecarga de
construtores. Por fim, verá como construir uma aplicação com estrutura
de herança utilizando construtores para criar objetos.
2 Herança na orientação a objetos
Como pode ser visto na Figura 1, nesse caso, tem-se, em uma mesma
classe, muitos atributos que não pertencem ao mesmo objeto. Por exemplo, ao
instanciar um objeto sofa da classe Movel, esse objeto não possui informa-
ções sobre o número de portas. É importante ressaltar que manter atributos e
responsabilidades em um objeto que não pertencem a ele não é uma prática
correta de programação.
Para lidar com esse cenário, pode-se manter na classe Movel o que é
comum a todos os móveis e criar classes específicas para cada um dos móveis
que possuem características diferentes. A Figura 2 apresenta o diagrama de
classes com a estrutura de como se pode modelar para que as classes não
repitam atributos.
2 Sobrecarga de construtor
As classes possuem métodos responsáveis por inicializar o objeto, os quais são
chamados de construtores. Em Java, o construtor é definido como um método
cujo nome deve ser o mesmo da classe e sem indicação do tipo de retorno.
O construtor é unicamente invocado no momento da criação do objeto, por
meio do operador new (DEITEL; DEITEL, 2017). O retorno desse operador
é uma referência para o objeto recém-criado.
Em Java, o construtor pode receber argumentos, como em qualquer mé-
todo. Uma classe pode possuir mais de um construtor, o que é chamado de
sobrecarga (DEITEL; DEITEL, 2017). Observe, por exemplo, os construtores
definidos para a classe Point do pacote java.awt. A classe java.awt.
Point tem dois campos, x e y, do tipo int. Essa classe oferece um construtor
que permite criar um ponto representando as suas coordenadas, passadas
como argumentos para o construtor:
public Point(Point p)
public Point()
import java.util.Date;
import java.util.Date;
import java.util.Date;
}
Herança na orientação a objetos 11
DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do
Brasil, 2017.
GOLDBERG, A. Smalltalk-80: the interactive programming environment. Boston: Addison-
-Wesley, 1984.
RUMBAUGH, J. et al. Object-oriented modeling and design. Englewood Cliffs: Prentice-
-Hall, 1991.