0 Intro

1,504 views
1,446 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,504
On SlideShare
0
From Embeds
0
Number of Embeds
95
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 0 Intro

    1. 1. Orientação a Objetos e Java MSc. Luiz Barboza [email_address] http://barbozaluiz.blogspot.com/
    2. 2. Sobre mim... <ul><li>Mestre em Ciência da Computação com 10 anos de experiência de mercado, atuando como Arquiteto de Software, com 04 anos direcionados para a área Financeira e com os 03 últimos focados na Garantia de Qualidade para o setor de Telecomunicações. </li></ul><ul><li>Qualificação </li></ul><ul><ul><li>Mestre em Engenharia de Software pelo IPT/USP </li></ul></ul><ul><ul><li>MBA em Gestão Empresarial pela FGV </li></ul></ul><ul><ul><li>Especialista em Gestão de TI pela FIAP </li></ul></ul><ul><ul><li>Bacharel em Ciência da Computação pela UFPE </li></ul></ul><ul><li>Certificações </li></ul><ul><ul><li>SCEA - Sun Certified Enterprise Architect </li></ul></ul><ul><ul><li>TIBCO Enterprise Message Service Certified </li></ul></ul><ul><ul><li>ITIL - ITIL Foundation Certified Professional </li></ul></ul><ul><ul><li>IBM/Rational Specialist for Rational Requirements Management with Use Cases(+ReqPro) </li></ul></ul><ul><ul><li>IBM/Rational Certified Solution Designer - IBM Rational Unified Process V7.0 </li></ul></ul><ul><ul><li>IBM/Rational Solution Designer – Object Oriented Analysis and Design(+Rose) </li></ul></ul><ul><ul><li>SCWCD - Sun Certified Web Component Developer for the J2EE </li></ul></ul><ul><ul><li>SCPJ - Sun Certified Programmer for Java 2 Platform </li></ul></ul>
    3. 3. Programação <ul><li>Ementa </li></ul><ul><ul><li>Apresenta os conceitos e as principais características das técnicas de programação orientada a objeto, bem como terminologia e tecnologia correlatas. </li></ul></ul><ul><li>Objetivos </li></ul><ul><ul><li>Exercitar a programação orientada a objetos utilizando as etapas do desenvolvimento de software orientado a objetos com UML </li></ul></ul><ul><li>Bibliografia </li></ul><ul><ul><li>BARNES, D. J. KÖLLING, M. Programação Orientada a Objetos com Java - Uma introdução prática ao BlueJ. Prentice Hall, 2004. </li></ul></ul><ul><ul><li>MEYER, Bertrand., Object Oriented Software Construction. 2nd ed. New Jersey: PH, 1997. </li></ul></ul><ul><ul><li>CHEN, P., GOLDBERG, S., BAGNALL, B. C# para programadores de Java. Alta Books - Informática, 2002. </li></ul></ul><ul><ul><li>FOWLER, Martin, UML Essencial.. 3ª ed. Porto Alegre: Bookman, 2005.LIMA, da A. S. </li></ul></ul><ul><ul><li>UML 2.0. Do requisito à solução. Érica, 2005.MEDEIROS, de E. S. Desenvolvendo software com UML 2.0: definitivo. São Paulo, Makron Books, 2006. </li></ul></ul>
    4. 4. Agenda <ul><li>OO e C# </li></ul><ul><ul><li>Apresenta os conceitos e as principais características das técnicas de programação orientada a objeto, bem como terminologia e tecnologia correlatas. </li></ul></ul><ul><ul><li>Conceitos e terminologia de orientação a objetos </li></ul></ul><ul><ul><li>Linguagens Orientadas a Objetos vs. baseadas em objetos </li></ul></ul><ul><ul><li>Histórico e &quot;survey&quot; sobre linguagens orientadas a objetos </li></ul></ul><ul><ul><li>Técnicas de modularização / Decomposição de Software </li></ul></ul><ul><ul><li>Herança simples e múltipla </li></ul></ul><ul><ul><li>Tendências (BD OO, SOs OO) </li></ul></ul><ul><ul><li>Uma Linguagem orientada a objetos: C# </li></ul></ul><ul><li>OOAD - Analise e Projeto Orientado a Objetos </li></ul><ul><li>Padrões de Projeto </li></ul>
    5. 5. Programação Orientada a Objetos <ul><li>Foco nos dados ( objetos ) do sistema, não nas funções </li></ul><ul><li>Estruturação do programa é baseada nos dados , não nas funções </li></ul><ul><li>As funções mudam mais do que os dados </li></ul>
    6. 6. Um Objeto… <ul><li>Um objeto é uma entidade com limites bem definidos com uma identidade que encapsula um estado e um comportamento . </li></ul>Objeto Nome: J Clark Funcional: 567138 Nascimento: 07/25/1961 Disciplina: Matematica
    7. 7. Um Objeto tem Estado <ul><li>O estado de um objeto é uma das possíveis condições sob a qual o objeto pode estar </li></ul><ul><li>O estado é composto pelos valores internos do objeto e suas relações com outros objetos. </li></ul>Nome: J Clark Funcional: 567138 Nascimento: 07/25/1961 Disciplina: Matemática Professora Clark Nome: J Clark Funcional: 567138 Nascimento: 07/25/1961 Disciplina: Matematica
    8. 8. Um Objeto tem Comportamento <ul><li>O comportamento determina como um objeto reage interage com o mundo externo </li></ul><ul><li>Esta interação é feita a através de troca de mensagens </li></ul><ul><li>Comportamento da Professora Clark </li></ul><ul><ul><li>Orientar Alunos </li></ul></ul><ul><ul><li>Ministrar Aula </li></ul></ul><ul><ul><li>Lançar Notas </li></ul></ul><ul><ul><li>Preparar Prova </li></ul></ul>OrientarAlunos () PrepararProva() LançarNotas() Professora Clark MinistrarAula()
    9. 9. Um Objeto tem Identidade <ul><li>Cada objeto tem um identidade única, mesmo que seu estado seja idêntico ao de outro objeto. </li></ul>Professor “J Clark” ensina Biologia Professor “J Clark” ensina Biologia
    10. 10. E uma Classe… <ul><li>Uma classe a descrição de um conjunto de objetos que compartilham os mesmos atributos , operações , relacionamentos e semântica . </li></ul><ul><ul><li>Um objeto é uma instância de uma classe </li></ul></ul>
    11. 11. Uma Classe tem Atributos <ul><li>Um atributo é uma propriedade identificada que especifica um conjunto de valores possíveis a ser atribuído por cada objeto da classe. </li></ul>Atributos Estudante - nome - endereço - identidade - nascimento
    12. 12. Um Classe tem Operações <ul><li>Operações especifica as mensagens que podem ser enviadas aos objetos </li></ul><ul><ul><li>Tem uma assinatura que determina os parâmetros de entrada e saída. </li></ul></ul>Operações Student + atenderAula() + realizarProva() + estudar()
    13. 13. Princípios da Orientação à Objetos Orientação à Objetos Encapsulamento Abstração Hierarquia Modularidade
    14. 14. Abstração <ul><li>Representação simplificada de uma entidade real </li></ul>record Pessoa nome : string; dataNasc : integer; end procedure idade begin ..... nome dataNasc idade 29/1/74 João =9&%2!1 abstração formalização
    15. 15. Encapsulamento <ul><li>Esconde a implementação dos clientes </li></ul>OrientarAlunos () PrepararProva() LançarNotas() MinistrarAula() Nome: J Clark Funcional: 567138 Nascimento: 07/25/1961 Disciplina: Matematica DeterninarDisciplina(Inglês) DeterninarDisciplina()
    16. 16. Modularidade? <ul><li>Quebra algo complexo em partes menores mais simples mais especializadas </li></ul><ul><li>Melhora a extensibilidade e manutenabilidade </li></ul>
    17. 17. Hierarquia <ul><li>Define uma relação de Herança entre classes </li></ul><ul><li>A herenca caracteriza a Generalização de e Especialização </li></ul><ul><li>Fundamenta o Polimorfismo </li></ul>Poupança ContaBancaria ContaCorrente Poupança CobrarMensalidade() Polimorfismo Especialização Generalização
    18. 18. Orientação a Objetos e Java MSc. Luiz Barboza [email_address] http://barbozaluiz.blogspot.com/

    ×