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

0 Intro

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