Introdu§£o   Orienta§£o a Objetos - lcad.icmc.usp.br paulovic/aulas/POO/SCC0604-aula-01... 

  • View
    214

  • Download
    0

Embed Size (px)

Text of Introdu§£o   Orienta§£o a Objetos - lcad.icmc.usp.br...

  • Introduo Orientao a Objetos

    Introduo Orientao a Objetos

    SCC0604 - Programao Orientada a Objetos

    Prof. Fernando V. Paulovichhttp://www.icmc.usp.br/~paulovic

    paulovic@icmc.usp.br

    Instituto de Cincias Matemticas e de Computao (ICMC)Universidade de So Paulo (USP)

    2 de agosto de 2010

    http://www.icmc.usp.br/~paulovic

  • Introduo Orientao a Objetos

    Programao Estruturada (PE)

    Sumrio

    1 Programao Estruturada (PE)

    2 Programao Orientada a Objetos (POO)

    3 Mecanismos Bsicos da Orientao a Objetos

    4 Princpios da Orientao a Objetos

    5 Conceitos Bsicos da Linguagem Java

  • Introduo Orientao a Objetos

    Programao Estruturada (PE)

    Sumrio

    1 Programao Estruturada (PE)

    2 Programao Orientada a Objetos (POO)

    3 Mecanismos Bsicos da Orientao a Objetos

    4 Princpios da Orientao a Objetos

    5 Conceitos Bsicos da Linguagem Java

  • Introduo Orientao a Objetos

    Programao Estruturada (PE)

    Introduo

    Normalmente os comandos de um programa so executadassequencialmente

    Em C (e C++) vrios comandos permitem que essa sequnciaseja quebrada, causando o que chamado de transfernciade controle

    Durante a dcada de 60 tornou-se claro que o usoindiscriminado de transferncia de controle era a raiz demuitos problemas

    Comando goto foi considerado o grande culpado

  • Introduo Orientao a Objetos

    Programao Estruturada (PE)

    Soluo: Programao Estruturada (PE)

    Dijkstra (1968) provou que independente da complexidadeenvolvida, todo programa poderia ser escrito como umacombinao de comandos primitivos envolvendo trs estruturasbsicas de controle

    1 estrutura de sequncia2 estrutura de seleo3 estrutura de repetio

    Assim nascia a Programao Estruturada

    A experincia tem mostrado que a melhor forma de sedesenvolver programas de grande porte constru-los a partirde pequenas partes (dividir para conquistar)

    Em programas estruturados essas partes so denominadasfunes

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Sumrio

    1 Programao Estruturada (PE)

    2 Programao Orientada a Objetos (POO)

    3 Mecanismos Bsicos da Orientao a Objetos

    4 Princpios da Orientao a Objetos

    5 Conceitos Bsicos da Linguagem Java

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Importncia

    Devido os requisitos atuais, os softwares tm se tornado cadavez mais complexos e maiores

    Isso tem levado a busca de meios para tornar a tarefa deprogramao mais produtiva

    Ainda no existe uma resposta denitiva a essa busca, mas hum consenso de que a Programao Orientada a Objetos(POO) consegue produzir resultados mais competitivos doque as abordagens atualmente empregadas

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Histria

    A ideia da Orientao a Objetos surgiu a partir das tcnicasempregadas para o desenvolvimento de hardwares, ondepedaos simples de hardware (chips) eram unidos para semontar um hardware mais complexo

    Historicamente, a Orientao a Objetos foi consequncia doamadurecimento de princpios j existentes na dcada de60 (linguagem Simula, 1960-67), reimplementados na dcadade 70 (linguagem Smalltalk) e incorporados a novas linguagensou linguagens ampliadas na dcada de 80 (linguagem C++)

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Enfoque Tradicional X Enfoque Orientado a Objetos

    Na Anlise Estruturada (AE)Procedimentos so implementados em blocos e a comunicaoentre eles se d pela passagem de dadosUm programa estruturado, quando em execuo, caracterizado pelo acionamento de procedimentos cujatarefa a manipulao de dados

    Na Anlise Orientada a Objeto (AOO)Dados e procedimentos so encapsulados em um selemento denominado objetoO estabelecimento de comunicao entre objetos (envio erecebimento de mensagens) caracteriza a execuo doprograma

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Vantagens da AOO em Relao AE

    Como vantagens da AOO em relao AnliseEstruturada temos

    maior ndice de reaproveitamento de cdigo

    maior facilidade de manutenomenor cdigo geradomaior conabilidade no cdigomaior facilidade de gerenciamento do cdigo (reduz grandesproblemas para menores);maior robustez, etc.

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Vantagens da AOO em Relao AE

    Como vantagens da AOO em relao AnliseEstruturada temos

    maior ndice de reaproveitamento de cdigomaior facilidade de manuteno

    menor cdigo geradomaior conabilidade no cdigomaior facilidade de gerenciamento do cdigo (reduz grandesproblemas para menores);maior robustez, etc.

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Vantagens da AOO em Relao AE

    Como vantagens da AOO em relao AnliseEstruturada temos

    maior ndice de reaproveitamento de cdigomaior facilidade de manutenomenor cdigo gerado

    maior conabilidade no cdigomaior facilidade de gerenciamento do cdigo (reduz grandesproblemas para menores);maior robustez, etc.

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Vantagens da AOO em Relao AE

    Como vantagens da AOO em relao AnliseEstruturada temos

    maior ndice de reaproveitamento de cdigomaior facilidade de manutenomenor cdigo geradomaior conabilidade no cdigo

    maior facilidade de gerenciamento do cdigo (reduz grandesproblemas para menores);maior robustez, etc.

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Vantagens da AOO em Relao AE

    Como vantagens da AOO em relao AnliseEstruturada temos

    maior ndice de reaproveitamento de cdigomaior facilidade de manutenomenor cdigo geradomaior conabilidade no cdigomaior facilidade de gerenciamento do cdigo (reduz grandesproblemas para menores);

    maior robustez, etc.

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    Vantagens da AOO em Relao AE

    Como vantagens da AOO em relao AnliseEstruturada temos

    maior ndice de reaproveitamento de cdigomaior facilidade de manutenomenor cdigo geradomaior conabilidade no cdigomaior facilidade de gerenciamento do cdigo (reduz grandesproblemas para menores);maior robustez, etc.

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    O que Isso Signica?

    Alguns Dados Importantes (Gartner Institute)

    74% de todos os projetos de TI falham, custam mais caro nonal ou no obedecem o prazo nal

    28% falham em todos esses requisitos

    52,7% custam 189% do preo original

    Todo ano, US$75B so gastos com projetos que falharam(35% do PIB Argentino em 2007)

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    O que Isso Signica?

    Alguns Dados Importantes (Gartner Institute)

    74% de todos os projetos de TI falham, custam mais caro nonal ou no obedecem o prazo nal

    28% falham em todos esses requisitos

    52,7% custam 189% do preo original

    Todo ano, US$75B so gastos com projetos que falharam(35% do PIB Argentino em 2007)

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    O que Isso Signica?

    Alguns Dados Importantes (Gartner Institute)

    74% de todos os projetos de TI falham, custam mais caro nonal ou no obedecem o prazo nal

    28% falham em todos esses requisitos

    52,7% custam 189% do preo original

    Todo ano, US$75B so gastos com projetos que falharam(35% do PIB Argentino em 2007)

  • Introduo Orientao a Objetos

    Programao Orientada a Objetos (POO)

    O que Isso Signica?

    Alguns Dados Importantes (Gartner Institute)

    74% de todos os projetos de TI falham, custam mais caro nonal ou no obedecem o prazo nal

    28% falham em todos esses requisitos

    52,7% custam 189% do preo original

    Todo ano, US$75B so gastos com projetos que falharam(35% do PIB Argentino em 2007)

  • Introduo Orientao a Objetos

    Mecanismos Bsicos da Orientao a Objetos

    Sumrio

    1 Programao Estruturada (PE)

    2 Programao Orientada a Objetos (POO)

    3 Mecanismos Bsicos da Orientao a Objetos

    4 Princpios da Orientao a Objetos

    5 Conceitos Bsicos da Linguagem Java

  • Introduo Orientao a Objetos

    Mecanismos Bsicos da Orientao a Objetos

    Objeto

    Um objeto uma entidade que formaliza o modo pelo qualcompreendemos algo no domnio do problema

    Reete a capacidade do sistema de guardar informaessobre o elemento abstrado, interagir com ele, ou ambas ascoisas

    Entidade o mais prximo possvel das entidades do mundoreal aquilo que tangvel ou visvelDessa forma, os objetos so os substantivos do domnio doproblema

  • Introduo Orientao a Objetos

    Mecanismos Bsicos da Orientao a Objetos

    Objeto

    Um objeto uma entidade que formaliza o modo pelo qualcompreendemos algo no domnio do problema

    Reete a capacidade do sistema de guardar informaessobre o elemento abstrado, interagir com ele, ou ambas ascoisasEntidade o mais prximo possvel das entidades do mundoreal aquilo que tangvel ou visvel

    Dessa forma, os objetos so os substantivos do domnio doproblema

  • Introduo Orientao a Objetos

    Mecanismos Bsicos da Orientao a Objetos

    Objeto

    Um objeto uma entidade que formaliza o modo pelo qualcompreendemos algo no domnio do problema

    Reete a capacidade do sistema de guardar informaessobre o elemento abstrado, interagir com ele, ou ambas ascoisasEntidade o mais prximo possvel das entidades do mundoreal aquilo que tangvel ou visvelDessa forma, os objetos so os substan