Projeto

Geral

Perfil

Criar uma classe por herança » Histórico » Versão 5

Gabriel Borges da Conceição, 21/05/2019 23:17 h

1 1 Gabriel Borges da Conceição
# Criar uma classe por herança
2
3 2 Gabriel Borges da Conceição
Vamos criar o classe "RoboBid" da mesma maneira que criamos a classe "RoboUni"(adicione os atributos y e V_y à essa nova classe). Agora, basta clicar na classe "RoboBid", "properties", "inheritance", "change inheritance":
4
![](herenca.png)
5
6
Veja que precisamos selecionar a classe Pai e clicar "Inherit From Selected". Com isso, fizemos com que a classe "RoboBid" se tornasse uma classe herdada da classe "RoboUni".
7
8
Repare também que a herança é feita a partir do Filho, ou seja, a classe Filha deve escolher seu Pai.
9
10
Para conferir a relação entre as classes do nosso projeto, basta, na aba do projeto, fazer o seguinte:
11
![](viewhierarchy.png)
12
13
E podemos ver:
14
15
![](pai.png)
16
17
E
18
19
![](filha.png)
20 3 Gabriel Borges da Conceição
21
Agora, vamos criar os métodos "getPos2", "setPos2", "getVel2", "setVel2" e "move2":
22 4 Gabriel Borges da Conceição
23
getPos2:
24
![](getpos2.png)
25
26
setPos2:
27
![](setpos2.png)
28
29
getVel2:
30
![](getvel2.png)
31
32
setVel2:
33
![](setvel2.png)
34
35
move2:
36
![](move2.png)
37 5 Gabriel Borges da Conceição
38
39
Repare que não acessamos diretamente por "unbundle by name" ou "bundle by name" nenhum dos atributos da classe filha RoboBid que são herdados da classe pai RoboUni. Isso se deve ao fato de que os atributos de uma classe são **obrigatoriamente privados** e, portanto, nem mesmo sua classe filha pode acessar esses dados diretamente. 
40
41
A classe filha herda os atributos, mas precisamos acessá-los pelos de get e set da classe pai. Esses métodos têm que ser encapsulados como "public" ou "protected" para que possam ser utilizados na classe filha. No nosso exemplo, todos os métodos foram deixados como "public".
42
43
44
Repare que nos métodos da classe filha (classe amarela), utilizei métodos da classe pai(verde) por herança.