prof.: bruno rafael de oliveira rodrigues. herança possibilita a uma classe usar campos ou métodos...
TRANSCRIPT
![Page 1: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/1.jpg)
Programação
Prof.: Bruno Rafael de Oliveira Rodrigues
![Page 2: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/2.jpg)
HerançaPossibilita a uma classe usar campos ou
métodos definidos em outra classe. Assim a classe pai possui métodos genéricos
enquanto as classes filhas podem se especializar ganhando novas características.
![Page 3: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/3.jpg)
Obs.: Java não aceita herança múltipla. O que quer dizer que a classe filha não pode herdar características de mais de uma classe.
![Page 4: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/4.jpg)
Exemplo de Herança
![Page 5: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/5.jpg)
Como ficaria a classe funcionário?
![Page 6: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/6.jpg)
Classe Professor
![Page 7: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/7.jpg)
Classe do funcionário da Secretaria
![Page 8: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/8.jpg)
A palavra reservada para uma classe herdar de outra é “extends”. Quando uma classe herda de outra, ela terá automaticamente todos os atributos e métodos da classe original
![Page 9: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/9.jpg)
Para a classe origem de uma herança, damos o nome de Superclasse.
![Page 10: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/10.jpg)
Para chamarmos o construtor da superclasse fazemos uma chamada a super() passando os parâmetro esperados pelo construtor da superclasse. Ou seja, a chamada super() é a própria chamada do construtor da superclasse
![Page 11: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/11.jpg)
Na classe filha é possívelAdicionar novos AtributosAdicionar novos métodosSobrescrever métodos (override)= declara
novamente um método que já existe na superclasse. Alterando o comportamento do método na subclasse, ou seja, o método é o mesmo, mas terá um comportamento na superclasse e outro comportamento na subclasse.
![Page 12: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/12.jpg)
Como usar as classes criadas?
![Page 13: Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui](https://reader036.vdocuments.net/reader036/viewer/2022062502/570638651a28abb823901dd3/html5/thumbnails/13.jpg)
PolimorfismoO nome polimorfismo (polymorphism)
significa muitas (poly) formas (morphism). É exatamente o que acontece quando temos um método que pode executar ações diferentes dependendo do objeto referenciado.