Orientação a ObjetosProf. Elisângela Xavier
Paradigmas1968Engenharia de SW surge em repulsa à crise de softwareDijkstra – programação estruturada1978	Codd – modelo relacionalNiklaus Wirth – desenvolve PascalRitchie – desenvolve CTom de Marco – populariza Análise Estruturada
Engenharia de Software É uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.
ParadigmasAtualmenteA complexidadeA urgêngia e a adaptabilidade dos novos aplicativosRepensar...prós e contras dessa abordagem
ParadigmasEntrega de sw no prazoDentro do orçamentoSem falhasAlgo a mais!
Histórico da Orientação a ObjetosSimulamodelagem de simulações e baseada na ling ALGOL 60Conceitos de classes, encapsulamento e herançaSmallTalkSurge em 1970 e disponibilizada em 1980Solidifica conceitos de classes, atributos, métodos, objetos, encapsulamento, herança e mensagem
Linguagens Orientadas a ObjetosObjetive-C – linguagem híbridaC++ - linguagem híbridaObject Pascal – linguagem híbridaEiffel – 1986 – linguagem puraJava – 1995 - linguagem híbrida
EiffelEiffel é uma Linguagem de Programação avançada, puramente orientada a objeto que enfatiza o projeto e construção de software reusável e de alta qualidade. Toda a estrutura da programação em Eiffel é baseada em classes.
Orientação a ObjetosConceitos de Orientação a ObjetosIntroduçãoObjetoClassesEncapsulamentoHerançaPolimorfismo
Orientação a ObjetosIntrodução:Que características similares você identificaria nesses veículos?
Orientação a ObjetosCaracterísticas similares....ModeloCorFabricanteAno de FabricaçãoChassisPlacaTipo de CombustívelNúmero de PortasEtc...
Orientação a ObjetosComo se calcula um seguro total para cada um desses veículos?Para qual seguradora?Segurado é do sexo feminino?Segurado tem garagem?
Orientação a ObjetoAté hoje foco da modelagem concentrou-se nas funcionalidades de um sistemaMódulos distintos atuavam diretamente sobre a base de dados
Orientação a ObjetoQuando qualquer alteração é feita nessas bases, diversos módulos eram afetadosErros advindos dessas alterações só eram percebidos semanas mais tarde
Orientação a ObjetoVantagem na OOPodermos abstrair de uma maneira mais fidedigna as situações do dia-a-dia
Orientação a ObjetoEsta abstração é feita por representações do mundo real, chamadas deOBJETOS
Orientação a ObjetoSó precisamos voltar a praticar o conhecimento que possuíamos desde a nossa infância:Identificar OBJETOS e seus COMPORTAMENTOS, o que possibilita que sejam CATEGORIZADOS
OBJETOExercitamos a percepção de um bebê fornecendo-lhe objetos de cores, texturas ou formas diferentes
OBJETOAo olharmos uma caneta, independentemente de seu formato ou cor da tinta, conseguimos identificá-la
OBJETONa concepção de sistemas, um objeto é qualquer coisa existente no mundo real,    em formato concreto ou abstrato.
OBJETOExemplos de objetos:aluno, professor, mesa, cadeira, caneta, automóvel, disciplina, estoque, avaliação, seguro, janela do Windows, botão, caixa de diálogo, etc...
ObjetoOs objetos possuem características ou propriedades que são seus ATRIBUTOS
Atributos do objeto Omar
ObjetoOs objetos possuem comportamentos que modificam seu estado ou prestam serviços a outros objetos.Estamos falando de suas OPERAÇÕES
OBJETOSe um funcionário possui o atributo Salário, este deve ser atualizado por operações do tipo reajustarSalário
OBJETO
OBJETOOs métodos de uma classe manipulam as estruturas de dados daquela classe, ou seja, não podem acessar diretamente os dados de outra classeUma classe tem conhecimento de outra, pela solicitação de serviços (execução de operações)Esta solicitação denomina-se MENSAGEM
OBJETOExemplo de mensagemInformar a idade do objeto Pedro, chamando a operaçãocalcularIdade
OBJETOQuando pensamos em um objeto, devemos fazê-lo dentro de um determinado contexto
OBJETODevemos abstrair as informações de um objeto dentro do papel que ele exercerá num determinado sistema, ou seja, seu ambiente determinará o limite da modelagem de cada objeto
OBJETOSe pensarmos em todos os atributos que identificam uma pessoa, chegaremos a um número considerável Se modelarmos um objeto Pessoa no papel de um aluno não precisaremos incluir atributos do tipo: altura, peso, cor dos olhos, cor dos cabelos, cor da pele e muitos outros
OBJETOTodos os objetos tem IDENTIDADE e são diferentes um dos outros, pois ocupam espaços distintos.Identidade significa que os objetos se distinguem por sua própria existência e não pelos valores de seus atributos
OBJETOExemplo de identidadeNuma linha de montagem são produzidos 100 lápisCom as mesmas característicasMas, possuem identidades diferentesPois fisicamente são diferentes
OBJETOAtualmente temos uma demanda de Aplicações Gráficas e é comum a modelagem ou manipulação de objetos como: JanelasBotõesCaixa de diálogoMenusEtc...
OBJETOVamos exercitar nossa capacidade de abstração...Pense numa figura geométrica, RETÂNGULO, por exemplo,Vamos identificar atributos e operações para este objeto...
OBJETOAtributosAlturaLarguraCor da linhaTipo da linhaCor de preenchimento
OBJETOO que determina os atributos de um objeto é o contexto com o qual estamos trabalhando
OBJETOOperaçõesDesenharPintarMudar Cor da LinhaMudar Tipo da LinhaRedimensionarMover...
OBJETOVocês repararam que essas ações são quase sempre auto-executáveis?O retângulo não vai desenhar algoO retângulo vai desenhar a si próprioO retângulo conhece melhor do que ninguém como ser desenhado
CLASSESCaracterísticas e operações similares em objetos distintosClassificaçãoIdentificando classes
CLASSESObjeto OmarClasse Pessoaé do tiponome: Omar Idosexo: masculinodataNasc: 06/06/1966estCivil: casadonomesexodataNascestCivilAtributosAtributos
CLASSES
ENCAPSULAMENTODeve depender da interfaceE não da implementaçãoProteção de seus atributos e algumas operaçõesInterface serve como intermediária entre a classe e o mundo externo
ENCAPSULAMENTOClasse como uma caixa pretaobterIdadereajustarSaláriocalcularFériascalcularRecisãoInterface da Classe
HERANÇAClasse Pessoa	atributos: nome, endereço, sexo	operações: calcularIdadeClasse Aluno	atributos: matrícula, curso	operações: matricularAlunoClasse AlunoEscTecnica	atributos: notaVestibular
POLIMORFISMOFuncionáriocalcularSalário(mêsReferência: integer)ProfessorcalcularSalário(mêsReferência: integer)

Orientação a objetos prof. elisangela karlan

  • 1.
    Orientação a ObjetosProf.Elisângela Xavier
  • 2.
    Paradigmas1968Engenharia de SWsurge em repulsa à crise de softwareDijkstra – programação estruturada1978 Codd – modelo relacionalNiklaus Wirth – desenvolve PascalRitchie – desenvolve CTom de Marco – populariza Análise Estruturada
  • 3.
    Engenharia de Software Éuma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.
  • 4.
    ParadigmasAtualmenteA complexidadeA urgêngiae a adaptabilidade dos novos aplicativosRepensar...prós e contras dessa abordagem
  • 5.
    ParadigmasEntrega de swno prazoDentro do orçamentoSem falhasAlgo a mais!
  • 6.
    Histórico da Orientaçãoa ObjetosSimulamodelagem de simulações e baseada na ling ALGOL 60Conceitos de classes, encapsulamento e herançaSmallTalkSurge em 1970 e disponibilizada em 1980Solidifica conceitos de classes, atributos, métodos, objetos, encapsulamento, herança e mensagem
  • 7.
    Linguagens Orientadas aObjetosObjetive-C – linguagem híbridaC++ - linguagem híbridaObject Pascal – linguagem híbridaEiffel – 1986 – linguagem puraJava – 1995 - linguagem híbrida
  • 8.
    EiffelEiffel é umaLinguagem de Programação avançada, puramente orientada a objeto que enfatiza o projeto e construção de software reusável e de alta qualidade. Toda a estrutura da programação em Eiffel é baseada em classes.
  • 9.
    Orientação a ObjetosConceitosde Orientação a ObjetosIntroduçãoObjetoClassesEncapsulamentoHerançaPolimorfismo
  • 10.
    Orientação a ObjetosIntrodução:Quecaracterísticas similares você identificaria nesses veículos?
  • 11.
    Orientação a ObjetosCaracterísticassimilares....ModeloCorFabricanteAno de FabricaçãoChassisPlacaTipo de CombustívelNúmero de PortasEtc...
  • 12.
    Orientação a ObjetosComose calcula um seguro total para cada um desses veículos?Para qual seguradora?Segurado é do sexo feminino?Segurado tem garagem?
  • 13.
    Orientação a ObjetoAtéhoje foco da modelagem concentrou-se nas funcionalidades de um sistemaMódulos distintos atuavam diretamente sobre a base de dados
  • 14.
    Orientação a ObjetoQuandoqualquer alteração é feita nessas bases, diversos módulos eram afetadosErros advindos dessas alterações só eram percebidos semanas mais tarde
  • 15.
    Orientação a ObjetoVantagemna OOPodermos abstrair de uma maneira mais fidedigna as situações do dia-a-dia
  • 16.
    Orientação a ObjetoEstaabstração é feita por representações do mundo real, chamadas deOBJETOS
  • 17.
    Orientação a ObjetoSóprecisamos voltar a praticar o conhecimento que possuíamos desde a nossa infância:Identificar OBJETOS e seus COMPORTAMENTOS, o que possibilita que sejam CATEGORIZADOS
  • 18.
    OBJETOExercitamos a percepçãode um bebê fornecendo-lhe objetos de cores, texturas ou formas diferentes
  • 19.
    OBJETOAo olharmos umacaneta, independentemente de seu formato ou cor da tinta, conseguimos identificá-la
  • 20.
    OBJETONa concepção desistemas, um objeto é qualquer coisa existente no mundo real, em formato concreto ou abstrato.
  • 21.
    OBJETOExemplos de objetos:aluno,professor, mesa, cadeira, caneta, automóvel, disciplina, estoque, avaliação, seguro, janela do Windows, botão, caixa de diálogo, etc...
  • 22.
    ObjetoOs objetos possuemcaracterísticas ou propriedades que são seus ATRIBUTOS
  • 23.
  • 24.
    ObjetoOs objetos possuemcomportamentos que modificam seu estado ou prestam serviços a outros objetos.Estamos falando de suas OPERAÇÕES
  • 25.
    OBJETOSe um funcionáriopossui o atributo Salário, este deve ser atualizado por operações do tipo reajustarSalário
  • 26.
  • 27.
    OBJETOOs métodos deuma classe manipulam as estruturas de dados daquela classe, ou seja, não podem acessar diretamente os dados de outra classeUma classe tem conhecimento de outra, pela solicitação de serviços (execução de operações)Esta solicitação denomina-se MENSAGEM
  • 28.
    OBJETOExemplo de mensagemInformara idade do objeto Pedro, chamando a operaçãocalcularIdade
  • 29.
    OBJETOQuando pensamos emum objeto, devemos fazê-lo dentro de um determinado contexto
  • 30.
    OBJETODevemos abstrair asinformações de um objeto dentro do papel que ele exercerá num determinado sistema, ou seja, seu ambiente determinará o limite da modelagem de cada objeto
  • 31.
    OBJETOSe pensarmos emtodos os atributos que identificam uma pessoa, chegaremos a um número considerável Se modelarmos um objeto Pessoa no papel de um aluno não precisaremos incluir atributos do tipo: altura, peso, cor dos olhos, cor dos cabelos, cor da pele e muitos outros
  • 32.
    OBJETOTodos os objetostem IDENTIDADE e são diferentes um dos outros, pois ocupam espaços distintos.Identidade significa que os objetos se distinguem por sua própria existência e não pelos valores de seus atributos
  • 33.
    OBJETOExemplo de identidadeNumalinha de montagem são produzidos 100 lápisCom as mesmas característicasMas, possuem identidades diferentesPois fisicamente são diferentes
  • 34.
    OBJETOAtualmente temos umademanda de Aplicações Gráficas e é comum a modelagem ou manipulação de objetos como: JanelasBotõesCaixa de diálogoMenusEtc...
  • 35.
    OBJETOVamos exercitar nossacapacidade de abstração...Pense numa figura geométrica, RETÂNGULO, por exemplo,Vamos identificar atributos e operações para este objeto...
  • 36.
  • 37.
    OBJETOO que determinaos atributos de um objeto é o contexto com o qual estamos trabalhando
  • 38.
    OBJETOOperaçõesDesenharPintarMudar Cor daLinhaMudar Tipo da LinhaRedimensionarMover...
  • 39.
    OBJETOVocês repararam queessas ações são quase sempre auto-executáveis?O retângulo não vai desenhar algoO retângulo vai desenhar a si próprioO retângulo conhece melhor do que ninguém como ser desenhado
  • 40.
    CLASSESCaracterísticas e operaçõessimilares em objetos distintosClassificaçãoIdentificando classes
  • 41.
    CLASSESObjeto OmarClasse Pessoaédo tiponome: Omar Idosexo: masculinodataNasc: 06/06/1966estCivil: casadonomesexodataNascestCivilAtributosAtributos
  • 42.
  • 43.
    ENCAPSULAMENTODeve depender dainterfaceE não da implementaçãoProteção de seus atributos e algumas operaçõesInterface serve como intermediária entre a classe e o mundo externo
  • 44.
    ENCAPSULAMENTOClasse como umacaixa pretaobterIdadereajustarSaláriocalcularFériascalcularRecisãoInterface da Classe
  • 45.
    HERANÇAClasse Pessoa atributos: nome,endereço, sexo operações: calcularIdadeClasse Aluno atributos: matrícula, curso operações: matricularAlunoClasse AlunoEscTecnica atributos: notaVestibular
  • 46.