engenharia de software - unimep/pronatec - aula 14
TRANSCRIPT
![Page 1: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/1.jpg)
Engenharia de Software Unimep/Pronatec
2° Semestre
AULA 14
- Prof. André Bertoletti -
![Page 2: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/2.jpg)
Nossa agenda de hoje
• Orientação a Objeto (parte 2)
• Princípios da OO
• Demos
![Page 3: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/3.jpg)
Programação Orientada a Objetos
X
Programação Estruturada
Evo
luçã
o
![Page 4: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/4.jpg)
Principais diferenças
![Page 5: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/5.jpg)
Programação Estruturada
• Linguagens: C, Clipper, Cobol, Assembler, etc
• Mais performática
• Sequencial, sem muitos desvios
• Desaconselhável para aplicações modernas (Sites, Apps, etc)
• Possibilita pouco reuso de código
• Etc...
![Page 6: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/6.jpg)
Programação Orientada a Objetos
• Linguagens: C++, C#, Java, Python, Ruby, etc
• Menos performática
• Execução NÃO sequencial, com muitos desvios
• Aconselhável para aplicações modernas (Sites, Apps, etc)
• Possibilita muito reuso de código
• Etc...
![Page 7: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/7.jpg)
Encapsulamento
Abstração Herança
Polimorfismo
![Page 9: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/9.jpg)
A abstração consiste em um dos pontos mais importantes dentro de qualquer linguagem Orientada a Objetos. Como estamos lidando com uma representação de um objeto real (o que dá nome ao paradigma), temos que imaginar o que esse objeto irá realizar dentro de nosso sistema.
– Identidade
– Propriedades
– Métodos
Abstração
![Page 10: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/10.jpg)
Abstração
Identidade: Gato
Eventos (ações) • Miar • Comer • Andar • Brincar • (etc..)
Propriedades: • Nome • Tamanho • Cor • Peso • Raça • (etc..)
![Page 11: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/11.jpg)
Abstração
![Page 12: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/12.jpg)
Show me the CODE!
![Page 13: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/13.jpg)
Declarando a CLASSE Gato
![Page 14: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/14.jpg)
Instanciando e usando o OBJETO Gato
![Page 15: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/15.jpg)
Herança
O reuso de código é uma das grandes vantagens da programação orientada a objetos. Muito disso se dá por uma questão que é conhecida como herança. Essa característica otimiza a produção da aplicação em tempo e linhas de código.
Exemplos:
O objeto Mesa herda do objeto Móvel
O objeto Carro herda do objeto Veículo
![Page 16: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/16.jpg)
Outro exemplo de Herança
Animal
Mamífero
Felino
![Page 17: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/17.jpg)
Show me the CODE!
![Page 18: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/18.jpg)
Declarando a classe base Animal
(somente com aquilo é que comum a todos os animais)
![Page 19: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/19.jpg)
Declarando a classe derivada Mamifero que herda da classe base Animal
(somente com aquilo é que comum a todos os mamíferos, e por herança, tudo aquilo que os animais
também fazem/possuem)
![Page 20: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/20.jpg)
Declarando a classe derivada Felino que herda da classe base Mamifero
(somente com aquilo é que comum a todos os felinos, e por herança, tudo aquilo que os mamíferos e animais
também fazem/possuem)
![Page 21: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/21.jpg)
Declarando a classe derivada Gato que herda da classe base Felino
(somente com aquilo é que comum a todos os gatos, e por herança, tudo aquilo que os felinos, mamíferos e
animais também fazem/possuem)
![Page 22: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/22.jpg)
Declarando a classe derivada Leao que herda da classe base Felino
(somente com aquilo é que comum a todos os leões, e por herança, tudo aquilo que os felinos, mamíferos e
animais também fazem/possuem)
![Page 23: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/23.jpg)
Instanciando e usando os objetos Gato e Leão
![Page 24: Engenharia de Software - Unimep/Pronatec - Aula 14](https://reader031.vdocuments.site/reader031/viewer/2022020106/55b3c7afbb61ebc7548b4627/html5/thumbnails/24.jpg)
Por hoje é só!
Agora é hora de estudar!