20
POO Programação Orientada a Objeto Introdução a POO Professor Jarbas Araújo

Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Embed Size (px)

Citation preview

Page 1: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

POOProgramação Orientada a Objeto

Introdução a POO

Professor Jarbas Araújo

Page 2: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Como era antes da POO?• Programava-se em baixo nível :

• Ou seja não se tinha um tipo de programação ou comandos

• Todas as instruções eram feitas da forma que o computador interpretava se ele fosse binário instruções e binário se fossem decimal instruções em decimal.

2

Page 3: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Dificuldade antes da POO• Com esse quadro de cada computador um tipo de programação,

quem programava esses computadores eram os próprios engenheiros e não programadores.

• Então essa linguagem de baixo nível ou também chamada de linguagem de maquina eram muito complexa.

3

Page 4: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Surgimento de linguagens de alto nível

• Agora com linguagens de forma Linear aparecendo no mercado tivemos um crescimento no entendimento e facilidade em programar um computador, ou seja, sendo linear ela segue um padrão decima para baixo sem muitas possibilidades de comandos ou rotinas, bem engessada.

• E com se fosse uma lista de execuções.Exemplo lista de compras- Compra item 1- Compra item 2- Compra item 3- Compra item 4E uma programação limitada porem, mais compreensível que a de baixo nível que exigia muito mais conhecimento.

4

Page 5: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Programação Estruturada• Agora podemos inserir códigos da programação linear em blocos

organizados aonde poderão ser executadas de forma não linear.

5

Page 6: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Surgimento dos Sistemas• Com a programação agora estruturada, foram criados pequenos

sistemas, deixando de lado os programinhas.

• Mas com o crescimento dos sistemas a linguagem estruturada não atendia a algumas demandas e então surgiu um tipo de programçãochamada programação modular.

6

Page 7: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Programação modular• Permite a criação de pequenos módulos estruturados, valorizando os

dados e as funcionalidades. Então eram colocados em pequenas capsulas e assim poderiam ser parte de sistemas ainda maiores.

• Mas ela teve uma vida muito curta devido a paradigmas teve-se o surgimento da POO

7

Page 8: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

O que é POO• Programação Orientada a Objeto

• Objetivo

• Aproximar o mundo digital do mundo real

8

Page 9: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Conclusão• Tudo começou em nível bem físico até chegar nessa abstração de hoje

9

Page 10: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Quem criou a programação orientada a objeto

• Alan Curtis Kay

• Nascido em Springfield, Massachusetts

• Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah.

• contribuiu para o desenvolvimento da Ethernet, impressora laser e o modelo de rede cliente-servidor. Ainda envolvido com a computação portável, Kay continuou a defender o uso de um protótipo de laptop para crianças, o qual ele apelidou de "Dynabook". Infelizmente, naquela época, a tecnologia para criar o Dynabook ainda não existia. Em 1973, junto com Chuck Thacker criou o "interim Dynabook" chamado de Alto que foi considerado o primeiro computador pessoal moderno em rede.

• Após dez anos na Xerox PARC, Kay tornou-se cientista chefe da Atari por três anos.

• 1984 Kay associou-se a Apple Computer até o fechamento da ATG (Advanced Technology Group), uma das divisões de pesquisa e desenvolvimento da empresa. Ele então associou-se a Walt Disney Imagineering. Após a Disney, ele fundou em 2001 o Viewpoints Research Institute, uma organização sem fins lucrativos dedicada às crianças, ao aprendizado e ao desenvolvimento de software avançado.

• Posteriormente, trabalho com um time da Applied Minds e então tornou-se pesquisador da Hewlett-Packard até que a empresa fechou o time de pesquisa em 2005.

• formulou sua "analogia algébrico-biológica". Kay lançou o postulado de que o computador ideal deveria funcionar como um organismo vivo, isto é, cada "célula" comportar-se-ia relacionando-se com outras a fim de alcançar um objetivo, contudo, funcionando de forma autônoma. As células poderiam também reagrupar-se para resolver um outro problema ou desempenhar outras funções.

• Fonte: https://pt.wikipedia.org/wiki/Alan_Kay

10

Page 11: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Mas como funciona essa POO• Ante tínhamos o seguinte cenário.

• Aqui temos um bloco de dados globais que os procedimentos ou funções antes de funcionarem iram verificar nele quais poderiam ser útil.

DADOS GLOBAIS

Procedimento 1

Procedimento 2

Procedimento 3

11

Page 12: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

• Agora tem-se o seguinte cenário.

• Agora temos métodos que vão utilizar dados pertinentes daquele objeto.• Então agora não preciso verificar todos os dados.

• Sendo assim temos um projeto que pode se comunicar ainda um com outro

DADOS DE OBJETO

MÉTODO 1

MÉTODO 2

DADOS DE OBJETO

MÉTODO 1

MÉTODO 2

12

Page 13: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

13

Page 14: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Linguagens de programação POO• C++

• JAVA

• PHP

• Python

• Ruby

• Visual Basic

• C#

14

Page 15: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Vantagens de POO• Software

• Confiável - O isolamento entre as partes gera software seguro.

• Oportuno - Ao dividir tudo em partes, varias delas podem ser desenvolvidas em paralelo.

• Manutenível –Ter manutenibilidade, atualizar um software é mais fácil. Uma pequena modificação vai beneficiar todas as partes que usarem o objeto.

• Extensível – O software não e estático ele deve crescer para permanecer útil.

• Reutilizável – Aproveitar um software criado para outro projeto próximo como sistema de OS.

• Natural – Que seja fácil de entender. Tendo uma preocupação maior com a funcionalidade do que com os detalhes de implementação.

15

Page 16: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Os pilares de POO• Abstração

• Encapsulamento

• Herança

• Polimorfismo

16

Page 17: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Abstração• Abstração é a habilidade de concentrar nos aspectos essenciais de um

contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.

Por exemplo, imaginamos a abstração referente a classe Animais. Há várias entidades na classe Animais como Anfíbios, Répteis e Mamíferos que são também sub-classes da classe Animais, onde há objetos que contêm cada sub-classe como Ser-humano, Jacaré e outros.Fonte: (https://pt.wikipedia.org/wiki/Abstra%C3%A7%C3%A3o_(programa%C3%A7%C3%A3o)

• E simplificarmos uma representação de um objeto do mundo real.• Exemplo: um cadastro de clientes não é uma simplificação do cliente, mas

você só coloca no seu cadastro aquilo que é relevante para o seu sistema.

17

Page 18: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

Encapsulamento• Lembra : proteção colocar algo de forma protegida.

• Encapsulamento vem de encapsular, que em programação orientada a objetos significa juntar o programa em partes, o mais isoladas possível. A ideia é tornar o software mais flexível, fácil de modificar e de criar novas implementações.

FONTE: (https://pt.wikipedia.org/wiki/Encapsulamento)

• Então não somos obrigados a encapsular, mas se queremos

proteger nosso código e uma boa pratica.

18

Page 19: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

• Vendo que o encapsulamento de um software pode ser visto como uma interface e uma vantagem encapsular porque.

• Tornar mudanças invisíveis

Um software bem encapsulado, mesmo alterando suas variáveis internas, sua interface se manterá funcional.(assim como se eu trocar a pilha de um controle remoto ele continuara a funcionar)

19

Page 20: Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação a objetos gráfica rendeu o título de Ph.D. na Universidade de Utah. ... •Aqui

• Facilitar a reutilização do código.

Com um código encapsulado posso usar esse mesmo código em diversas aplicações.(como também posso tirar uma pilha de um outro controle e utilizar no que a pilha acabou)

Reduzir efeitos colaterais.

Um software não estiver encapsulado ele pode acabar sendo danificado por algum programador, então mudando uma interface pode atrapalhar o funcionamento do programa por isso a importância do encapsulamento(se uma pilha estiver aberta você pode ficar exposto a matérias contaminadores)

20