Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação...

Post on 11-Nov-2018

214 views 0 download

Transcript of Apresentação do PowerPoint · • Formado em matemática e biologia. Sua tese sobre orientação...

POOProgramação Orientada a Objeto

Introdução a POO

Professor Jarbas Araújo

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

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

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

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

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

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

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

• Objetivo

• Aproximar o mundo digital do mundo real

8

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

9

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

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

• 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

13

Linguagens de programação POO• C++

• JAVA

• PHP

• Python

• Ruby

• Visual Basic

• C#

14

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

Os pilares de POO• Abstração

• Encapsulamento

• Herança

• Polimorfismo

16

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

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

• 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

• 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