O documento apresenta uma introdução aos conceitos básicos de orientação a objetos, UML e Java. Ele discute definições-chave como identidade, características e comportamento de objetos. O documento também mostra como modelar objetos em um problema real, criando diagramas de classe UML para representar produtos, vendas e clientes. Finalmente, aborda conceitos como herança e composição para melhor representar a relação entre classes.
O documento apresenta uma aula introdutória sobre a linguagem de programação Java. Apresenta o que é Java, sua história, características e aplicações. Em seguida, explica os operadores e tipos de dados primitivos em Java, incluindo exemplos.
O documento discute boas práticas de programação orientada a objetos em Java, incluindo encapsulamento, herança, interfaces, injeção de dependência e padrões de projeto como Strategy e Template Method. Ele também aborda princípios como responsabilidade única, substituição de Liskov e inversão de dependência.
O documento descreve classes Java e pacotes padrão, como pacotes de entrada e saída de dados, banco de dados e interface gráfica. Ele apresenta as classes Java.lang e pacotes como java.io, java.sql e java.swing.
O documento discute classes abstratas e interfaces em Java. Explica que classes abstratas podem conter métodos abstratos e não abstratos, enquanto interfaces contém apenas métodos abstratos. Interfaces permitem herança múltipla e definem contratos de implementação, ao contrário de classes abstratas que definem hierarquias. O documento também lista regras de ouro sobre preferir composição à herança e programar para interfaces.
O documento descreve brevemente a história e papéis dos samurais no Japão por quase oito séculos, desde os séculos VIII ao XV. Os samurais eram guerreiros que ocupavam a posição social mais alta no governo japonês da época e desempenhavam funções políticas e militares, tornando-se mais conhecidos como guerreiros.
O continente asiático é o mais populoso do mundo, com 4,2 bilhões de habitantes distribuídos entre grandes diversidades étnicas e religiosas. Sua história é marcada pelo desenvolvimento de importantes civilizações como a chinesa, hindu e mesopotâmica, além de ter sido berço de práticas fundamentais para a humanidade como agricultura, metalurgia e pecuária.
O documento apresenta uma aula introdutória sobre a linguagem de programação Java. Apresenta o que é Java, sua história, características e aplicações. Em seguida, explica os operadores e tipos de dados primitivos em Java, incluindo exemplos.
O documento discute boas práticas de programação orientada a objetos em Java, incluindo encapsulamento, herança, interfaces, injeção de dependência e padrões de projeto como Strategy e Template Method. Ele também aborda princípios como responsabilidade única, substituição de Liskov e inversão de dependência.
O documento descreve classes Java e pacotes padrão, como pacotes de entrada e saída de dados, banco de dados e interface gráfica. Ele apresenta as classes Java.lang e pacotes como java.io, java.sql e java.swing.
O documento discute classes abstratas e interfaces em Java. Explica que classes abstratas podem conter métodos abstratos e não abstratos, enquanto interfaces contém apenas métodos abstratos. Interfaces permitem herança múltipla e definem contratos de implementação, ao contrário de classes abstratas que definem hierarquias. O documento também lista regras de ouro sobre preferir composição à herança e programar para interfaces.
O documento descreve brevemente a história e papéis dos samurais no Japão por quase oito séculos, desde os séculos VIII ao XV. Os samurais eram guerreiros que ocupavam a posição social mais alta no governo japonês da época e desempenhavam funções políticas e militares, tornando-se mais conhecidos como guerreiros.
O continente asiático é o mais populoso do mundo, com 4,2 bilhões de habitantes distribuídos entre grandes diversidades étnicas e religiosas. Sua história é marcada pelo desenvolvimento de importantes civilizações como a chinesa, hindu e mesopotâmica, além de ter sido berço de práticas fundamentais para a humanidade como agricultura, metalurgia e pecuária.
1. O documento apresenta os principais conceitos da linguagem de programação Java, incluindo sua história, características, tipos primitivos, operadores, estruturas de controle, classes, métodos, pacotes, exceções e outros tópicos.
2. É dividido em seções que abordam cada um desses conceitos de forma detalhada, com exemplos de código.
3. Também fornece exercícios relacionados a cada tópico para que o leitor possa praticar o conteúdo apresentado.
O documento discute as principais religiões asiáticas, incluindo o hinduísmo, budismo, islamismo e judaísmo. Resume os fundadores, ensinamentos-chave e práticas de cada uma, destacando que o hinduísmo não tem um fundador único, enquanto o budismo foi fundado por Sidarta Gautama e o islamismo por Maomé.
A linguagem Java possui as seguintes características principais:
1) É orientada a objetos e possui mecanismos como herança, polimorfismo e encapsulamento.
2) Programas Java são compilados para bytecode, que é executado por uma máquina virtual Java (JVM) em diferentes sistemas operacionais.
3) Fornece portabilidade e independência de plataforma.
O documento apresenta os principais conceitos da linguagem Java, como sua estrutura, histórico, compilação, execução, tipos de
O documento apresenta os fundamentos da programação orientada a objetos. Resume os principais conceitos como objetos, classes, encapsulamento, herança e polimorfismo. Explica a diferença entre a programação estruturada e orientada a objetos.
O documento descreve as principais características físicas e humanas da Ásia. A Ásia é delimitada pelos oceanos Ártico, Índico e Pacífico e contém importantes relevos como as montanhas Himalaia, planaltos e planícies férteis irrigadas por longos rios como o Ganges. A população asiática é extremamente numerosa e diversificada, concentrada principalmente na China e Índia. A região possui uma grande variedade de climas e economias, que vão desde tradicionais até
Parte 2 linguística geral saussure - apresentaçãoMariana Correia
O documento apresenta um resumo histórico dos estudos linguísticos, desde a Índia antiga até Ferdinand de Saussure. Aborda as principais ideias de Saussure sobre linguística, destacando a distinção entre linguagem e língua, e entre língua e fala. Explora ainda os conceitos saussureanos de signo linguístico, sincronia e diacronia.
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
O documento discute conceitos fundamentais de lógica de programação, incluindo:
1) O objetivo de desenvolver o raciocínio lógico do aluno para programação de computadores.
2) Diferentes tipos de linguagens de programação como imperativa, funcional, lógica e orientada a objetos.
3) Conceitos como algoritmos, variáveis, constantes, diagramas de blocos e pseudocódigo para representar algoritmos.
O documento apresenta o conteúdo programático de um curso de Lógica de Programação. Aborda tópicos como introdução aos conceitos básicos, tomada de decisões, laços de repetição, matrizes, registros e sub-rotinas. O objetivo é desenvolver o raciocínio lógico dos alunos aplicando técnicas recomendadas de programação.
Este documento apresenta os fundamentos da linguagem de programação Java, incluindo sua história, características como orientação a objetos, portabilidade e segurança, e o passo a passo para instalação do ambiente de desenvolvimento Java.
O documento fornece um resumo abrangente sobre a Ásia, cobrindo seus aspectos físicos, sociais, culturais e econômicos. Ele descreve a localização e principais países da Ásia, suas sub-regiões, relevo, aspectos demográficos, cultura baseada na cultura chinesa, hindu e islâmica, aspectos econômicos como agricultura, pecuária e indústrias, e aspectos sociais como etnias, línguas e religiões predominantes.
O documento fornece um resumo das principais características geográficas, políticas, econômicas e culturais das diferentes regiões da Ásia, incluindo: divisões políticas e físicas, clima, recursos naturais, desenvolvimento econômico, distribuição da população, agricultura, indústria e religião.
O documento discute os conceitos de conceito, linha criativa e execução na publicidade. Explica que o conceito é a ideia central da campanha, a linha criativa é como transmitir o conceito de forma criativa e prática, e a execução é implementar o conceito e linha criativa nas peças da campanha de forma consistente. Também fornece dicas para criar um bom conceito, linha criativa e executá-los com sucesso.
Carol Tod discute a importância da pesquisa e experimentação prática em design, enfatizando a necessidade de validar hipóteses com usuários e métodos quantitativos para gerar impacto real no negócio. Ela fornece seis aprendizados sobre como conduzir pesquisas de forma estratégica, compor amostras representativas e planejar experimentos em ondas para responder perguntas de negócio com diferentes níveis de certeza.
O documento discute como projetar produtos para trazer confiança aos usuários, mencionando que pequenas empresas precisam ganhar credibilidade com os primeiros usuários e manter a experiência confiável do início ao fim para reter os clientes. Também fornece dicas como documentação, depoimentos, certificações e atendimento ao cliente para ajudar a estabelecer confiança.
Oficina de Carreira e Currículos da Contratado.me na SEQEP 2017Mateus Alves de Pinho
O documento discute as carreiras em startups, incluindo dados cientistas e gerentes de produto, e como encontrar empregos em startups. Apresenta também detalhes sobre estágios em startups, investimentos, fundadores e cultura, e estrutura de remuneração, incluindo equity.
Oficina de Carreira e Currículos da Contratado.me na SEQEP 2017Contratado.me
O documento discute as carreiras em startups, incluindo dados cientistas e gerentes de produto, e como encontrar empregos em startups. Apresenta também detalhes sobre estágios em startups, investimentos, fundadores e estrutura de remuneração.
1) O documento discute os conceitos de conceito, linha criativa e execução na publicidade.
2) Um bom conceito é simples, objetivo e impactante, dramatizando o benefício do produto.
3) A linha criativa torna o conceito prático através de abordagens criativas, mantendo-se em sintonia com o conceito.
4) A execução deve executar o conceito e linha criativa de forma consistente nas peças, mantendo argumentos e assinaturas.
O documento discute o conceito de marca e design thinking. Apresenta que uma marca é um sentimento que as pessoas desenvolvem em relação a um produto ou empresa, e não é definida apenas pelo que a empresa diz sobre si mesma. Também discute como o design thinking pode ajudar a reduzir a distância entre pensamento analítico e criativo por meio de pesquisa, prototipagem e pensamento integrativo.
Palestra: Sites 8x mais persuasivas 2016 - SlidesLeonardo Passos
O documento fornece dicas sobre como persuadir clientes através de sites, incluindo a importância do layout, escolha de mídias, narração e uso de gatilhos mentais. É destacado que cada página deve ser tratada como um momento de vendas e que é importante focar na persona do cliente para melhor direcionar a comunicação.
1. O documento apresenta os principais conceitos da linguagem de programação Java, incluindo sua história, características, tipos primitivos, operadores, estruturas de controle, classes, métodos, pacotes, exceções e outros tópicos.
2. É dividido em seções que abordam cada um desses conceitos de forma detalhada, com exemplos de código.
3. Também fornece exercícios relacionados a cada tópico para que o leitor possa praticar o conteúdo apresentado.
O documento discute as principais religiões asiáticas, incluindo o hinduísmo, budismo, islamismo e judaísmo. Resume os fundadores, ensinamentos-chave e práticas de cada uma, destacando que o hinduísmo não tem um fundador único, enquanto o budismo foi fundado por Sidarta Gautama e o islamismo por Maomé.
A linguagem Java possui as seguintes características principais:
1) É orientada a objetos e possui mecanismos como herança, polimorfismo e encapsulamento.
2) Programas Java são compilados para bytecode, que é executado por uma máquina virtual Java (JVM) em diferentes sistemas operacionais.
3) Fornece portabilidade e independência de plataforma.
O documento apresenta os principais conceitos da linguagem Java, como sua estrutura, histórico, compilação, execução, tipos de
O documento apresenta os fundamentos da programação orientada a objetos. Resume os principais conceitos como objetos, classes, encapsulamento, herança e polimorfismo. Explica a diferença entre a programação estruturada e orientada a objetos.
O documento descreve as principais características físicas e humanas da Ásia. A Ásia é delimitada pelos oceanos Ártico, Índico e Pacífico e contém importantes relevos como as montanhas Himalaia, planaltos e planícies férteis irrigadas por longos rios como o Ganges. A população asiática é extremamente numerosa e diversificada, concentrada principalmente na China e Índia. A região possui uma grande variedade de climas e economias, que vão desde tradicionais até
Parte 2 linguística geral saussure - apresentaçãoMariana Correia
O documento apresenta um resumo histórico dos estudos linguísticos, desde a Índia antiga até Ferdinand de Saussure. Aborda as principais ideias de Saussure sobre linguística, destacando a distinção entre linguagem e língua, e entre língua e fala. Explora ainda os conceitos saussureanos de signo linguístico, sincronia e diacronia.
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
O documento discute conceitos fundamentais de lógica de programação, incluindo:
1) O objetivo de desenvolver o raciocínio lógico do aluno para programação de computadores.
2) Diferentes tipos de linguagens de programação como imperativa, funcional, lógica e orientada a objetos.
3) Conceitos como algoritmos, variáveis, constantes, diagramas de blocos e pseudocódigo para representar algoritmos.
O documento apresenta o conteúdo programático de um curso de Lógica de Programação. Aborda tópicos como introdução aos conceitos básicos, tomada de decisões, laços de repetição, matrizes, registros e sub-rotinas. O objetivo é desenvolver o raciocínio lógico dos alunos aplicando técnicas recomendadas de programação.
Este documento apresenta os fundamentos da linguagem de programação Java, incluindo sua história, características como orientação a objetos, portabilidade e segurança, e o passo a passo para instalação do ambiente de desenvolvimento Java.
O documento fornece um resumo abrangente sobre a Ásia, cobrindo seus aspectos físicos, sociais, culturais e econômicos. Ele descreve a localização e principais países da Ásia, suas sub-regiões, relevo, aspectos demográficos, cultura baseada na cultura chinesa, hindu e islâmica, aspectos econômicos como agricultura, pecuária e indústrias, e aspectos sociais como etnias, línguas e religiões predominantes.
O documento fornece um resumo das principais características geográficas, políticas, econômicas e culturais das diferentes regiões da Ásia, incluindo: divisões políticas e físicas, clima, recursos naturais, desenvolvimento econômico, distribuição da população, agricultura, indústria e religião.
O documento discute os conceitos de conceito, linha criativa e execução na publicidade. Explica que o conceito é a ideia central da campanha, a linha criativa é como transmitir o conceito de forma criativa e prática, e a execução é implementar o conceito e linha criativa nas peças da campanha de forma consistente. Também fornece dicas para criar um bom conceito, linha criativa e executá-los com sucesso.
Carol Tod discute a importância da pesquisa e experimentação prática em design, enfatizando a necessidade de validar hipóteses com usuários e métodos quantitativos para gerar impacto real no negócio. Ela fornece seis aprendizados sobre como conduzir pesquisas de forma estratégica, compor amostras representativas e planejar experimentos em ondas para responder perguntas de negócio com diferentes níveis de certeza.
O documento discute como projetar produtos para trazer confiança aos usuários, mencionando que pequenas empresas precisam ganhar credibilidade com os primeiros usuários e manter a experiência confiável do início ao fim para reter os clientes. Também fornece dicas como documentação, depoimentos, certificações e atendimento ao cliente para ajudar a estabelecer confiança.
Oficina de Carreira e Currículos da Contratado.me na SEQEP 2017Mateus Alves de Pinho
O documento discute as carreiras em startups, incluindo dados cientistas e gerentes de produto, e como encontrar empregos em startups. Apresenta também detalhes sobre estágios em startups, investimentos, fundadores e cultura, e estrutura de remuneração, incluindo equity.
Oficina de Carreira e Currículos da Contratado.me na SEQEP 2017Contratado.me
O documento discute as carreiras em startups, incluindo dados cientistas e gerentes de produto, e como encontrar empregos em startups. Apresenta também detalhes sobre estágios em startups, investimentos, fundadores e estrutura de remuneração.
1) O documento discute os conceitos de conceito, linha criativa e execução na publicidade.
2) Um bom conceito é simples, objetivo e impactante, dramatizando o benefício do produto.
3) A linha criativa torna o conceito prático através de abordagens criativas, mantendo-se em sintonia com o conceito.
4) A execução deve executar o conceito e linha criativa de forma consistente nas peças, mantendo argumentos e assinaturas.
O documento discute o conceito de marca e design thinking. Apresenta que uma marca é um sentimento que as pessoas desenvolvem em relação a um produto ou empresa, e não é definida apenas pelo que a empresa diz sobre si mesma. Também discute como o design thinking pode ajudar a reduzir a distância entre pensamento analítico e criativo por meio de pesquisa, prototipagem e pensamento integrativo.
Palestra: Sites 8x mais persuasivas 2016 - SlidesLeonardo Passos
O documento fornece dicas sobre como persuadir clientes através de sites, incluindo a importância do layout, escolha de mídias, narração e uso de gatilhos mentais. É destacado que cada página deve ser tratada como um momento de vendas e que é importante focar na persona do cliente para melhor direcionar a comunicação.
Palestra caro é o que não vale - ExpoVendaMais 2006INSTITUTO MVC
O documento discute porque os clientes acham que algo é "caro", fornecendo várias razões como não estabelecer o valor corretamente, não focar nos benefícios para o cliente, vender produtos em vez de soluções, e não praticar estratégias de vendas adequadas. O documento argumenta que os vendedores precisam concentrar-se em entender as necessidades do cliente, comunicar claramente os benefícios, e vender valor em vez de apenas produtos ou preços.
Como planejar suas vendas em 2017 com o GoogleMendelson Thomé
O documento fornece orientações sobre como planejar as vendas da empresa em 2017 utilizando o Google de forma estratégica. Ele explica a importância de identificar comportamentos de busca dos clientes e criar conteúdos relevantes com a estrutura correta para aparecer nos resultados de busca e gerar vendas. Também oferece a opção de contratar uma empresa para realizar esse trabalho.
O documento apresenta os conceitos e estratégias de marketing pessoal para o desenvolvimento de uma marca individual. Em três frases, destaca-se a importância de (1) se preparar através de autoconhecimento, planejamento e desenvolvimento contínuo, (2) comunicar-se efetivamente para se tornar conhecido e vender-se, e (3) recrutar aliados que apoiem o sucesso por meio de networking.
Jornada Projetos Culturais - AULA 3 | Marketing | Kluk Neto - Setembro de 201...Cultura e Mercado
O projeto cultural ocupa um lugar central na produção cultural brasileira. As leis de incentivo, o patrocínio e até mesmo os empreendimentos criativos funcionam dentro dessa lógica. Jornada Projetos Culturais traz os elementos mais sensíveis para quem desenvolve, gere e comercializa projetos. Com presença de alguns dos mais renomados nomes da produção cultural brasileira, a Jornada pretende introduzir ferramentas e conhecimentos aplicados ao mercado de projetos, ampliando a performance de produtores e gestores que atuam com projetos.
Fast track - Fundamentos do Marketing Digital - Aldeia CoworkingAldeia Coworking
O documento resume os principais conceitos do marketing digital, como definir objetivos, falar a linguagem do consumidor ao longo da jornada de compra, manter estratégias relevantes medindo resultados com KPIs importantes como aquisição, ativação, retenção, referência e receita.
O documento descreve um plano de negócios para uma loja online voltada para produtos relacionados à cultura otaku, com quatro empreendedoras. A loja tem como objetivo atender jovens de 15 a 35 anos com itens como anime, mangá e jogos a preços acessíveis, oferecendo qualidade e diversidade de produtos.
O documento discute estratégias de vendas provocativas, enfatizando a importância de identificar e gerenciar múltiplos influenciadores dentro do processo de compra do cliente, ao invés de focar apenas no comprador. Também destaca a necessidade de respeitar o processo de compras do cliente e entender como a área de marketing pode auxiliar no processo de vendas.
Habilidades sociais no mundo do trabalho (Aula 01)Henrique
O documento discute habilidades sociais no mundo do trabalho e como se conhecer melhor para encontrar um emprego adequado. Ele enfatiza a importância de se conhecer bem, identificar talentos e objetivos, e pedir feedback de outras pessoas. Também fornece dicas sobre como evitar erros comuns na procura por emprego e melhorar a empregabilidade.
O documento discute os desafios enfrentados por programadores e como mudar mentalidades e processos para criar valor e experiências que melhorem a vida das pessoas de forma autônoma. Algumas dicas incluem focar no que se gosta e sabe fazer bem, vender valor em vez de escopo, aprender sobre finanças e modelos de negócios alternativos.
O documento discute estratégias de anúncios no Facebook e Instagram, mostrando exemplos de empresas que tiveram sucesso ao explorar diferenciais de produto, segmentar público-alvo com base na idade e mostrar produtos em uso de forma atraente.
Semelhante a Introdução a Orientaçãoo a Objetos (20)
2. Agenda
Introdução a Orientação a Objetos
● Definição;
● Tudo é Objeto. Será?
● Resolvendo um problema (quase) real.
● Classe
● Herança
● Polimorfismo
● Encapsulamento
3. Ao final...
Você será capaz de:
● Entender o básico de Orientação a Objetos;
● Identificar e criar um Diagrama de Classe;
● Identificar uma composição de objetos;
● Entender a importância da herança entre
objetos e do polimorfismo.
4. Quem sou?
Hoje
● Senior Game Developer na Gazeus Games;
○ Maior empresa brasileira de jogos sociais.
No passado...
● VIVO, Ponto-Frio, Embratel, SEFAZ (Cupom Mania) e
TECPAR (Instituto de Tecnologia do Paraná);
● Consultoria para pequenas empresas de desenvolvimento de
software;
● Há 15 anos desenvolvendo softwares (profissionalmente) de
um total de 22 brincando com computadores (tk90!).
5.
6. Introdução a OO
Segundo a Wikipédia:
“A orientação a objetos é um paradigma de
análise, projeto e programação de sistemas
de software baseado na composição e
interação entre diversas unidades de
software chamadas de objetos.”
7. Introdução a OO
Existem quase 30 paradigmas de programação
e os principais (ou mais comuns) são:
● Imperativa (e.g. Fortran, BASIC e C)
● Funcional (e.g. Haskell, Scala e SQL)
● Declarativa (e.g. HTML e SQL)
● Orientada a Objetos (e.g. Java e C++)
8. Introdução a OO
Tudo é Objeto!
● Identidade;
○ O que o distingue de outros objetos?
● Possui características;
○ Dados armazenados “dentro” do objeto;
● Comportamento
○ Conjunto de ações que descrevem como o objeto
pode ser usado.
Desafio: vocês conseguem pensar em algo que não se enquadre nesta regra?
9. Introdução a OO
Minha caneta azul possui:
● Identidade: o que a difere das outras canetas
azuis existentes no mundo?
10. Introdução a OO
Minha caneta azul possui:
● Identidade: o que a difere das outras canetas
azuis existentes no mundo?
○ Esta caneta azul é minha e de mais ninguém.
11. Introdução a OO
Minha caneta azul possui:
● Identidade: o que a difere das outras canetas
azuis existentes no mundo?
○ Esta caneta azul é minha e de mais ninguém.
● Características: quais os dados desta caneta?
12. Introdução a OO
Minha caneta azul possui:
● Identidade: o que a difere das outras canetas
azuis existentes no mundo?
○ Esta caneta azul é minha e de mais ninguém.
● Características: quais os dados desta caneta?
○ Tinta: azul, preço: R$500 e recarregável: sim.
13. Introdução a OO
Minha caneta azul possui:
● Identidade: o que a difere das outras canetas
azuis existentes no mundo?
○ Esta caneta azul é minha e de mais ninguém.
● Características: quais os dados desta caneta?
○ Tinta: azul, preço: R$500 e recarregável: sim.
● Comportamento: quais ações posso realizar
com a caneta?
14. Introdução a OO
Minha caneta azul possui:
● Identidade: o que a difere das outras canetas
azuis existentes no mundo?
○ Esta caneta azul é minha e de mais ninguém.
● Características: quais os dados desta caneta?
○ Tinta: azul, preço: R$500 e recarregável: sim.
● Comportamento: quais ações posso realizar
com a caneta?
○ Escrever, tampar, destampar, recarregar, ...
15. Introdução a OO
Um fusca fabricado em 1977, preto e de placa
ABC-1234 como um Objeto:
● Identidade?
● Características?
● Comportamento?
16. Introdução a OO
Um fusca fabricado em 1977, preto e de placa
ABC-1234 como um Objeto:
● Identidade?
○ ABC-1234
● Características?
○ Cor: preto, ano de fabricação: 1977, fabricante:
Volkswagen
● Comportamento?
○ Ligar, desligar, acelerar, frear, ...
17. Introdução a OO
Definir um programa usando o conceito de
objetos vai forçá-lo a ver o problema a ser
resolvido baseado no que o objeto (ou coleção
de objetos) faz e/ou é capaz de fazer.
18. Introdução a OO
Definir um programa usando o conceito de
objetos vai forçá-lo a ver o problema a ser
resolvido baseado no que o objeto (ou coleção
de objetos) faz e/ou é capaz de fazer.
Modelar um programa como um conjunto de
procedimentos isolados?
Modelar um programa usando objetos com
nomes e termos reais!
19. Introdução a OO
Definir um programa usando o conceito de
objetos vai forçá-lo a ver o problema a ser
resolvido baseado no que o objeto (ou coleção
de objetos) faz e/ou é capaz de fazer.
Problema: empresa familiar produz artesanato,
possui website mas não realiza vendas online.
20. Introdução a OO
Definir um programa usando o conceito de
objetos vai forçá-lo a ver o problema a ser
resolvido baseado no que o objeto (ou coleção
de objetos) faz e/ou é capaz de fazer.
Problema: empresa familiar produz artesanato,
possui website mas não realiza vendas online e
em 1 mês irá à falência se não aumentar suas
vendas.
23. Introdução a OO
Você é funcionário da ACME Software.
Um time de desenvolvedores (incluindo você) irá
criar um e-commerce simples.
Você está encarregado de começar a
documentar e criar os primeiros códigos.
24. Introdução a OO
São requisitos funcionais do sistema:
● Permitir que a empresa faça o cadastro de
produtos a serem vendidos;
● Permitir que o usuário realize a compra de um
único produto por vez.
25. Introdução a OO
São requisitos funcionais do sistema:
● Permitir que a empresa faça o cadastro de
produtos a serem vendidos;
Vela
Cor: vermelho
Peso: 500g
Preço: R$10
Boneca
Peso: 200g
Tecido: algodão
Preço: R$20
26. Introdução a OO
São requisitos funcionais do sistema:
● Permitir que o usuário realize a compra de um
único produto por vez.
Como será concluída a venda?
● Da forma mais simples possível.
Quais informações compõem uma venda?
27. Introdução a OO
São requisitos funcionais do sistema:
● Permitir que o usuário realize a compra de um
único produto por vez.
Joaquim José da Silva Xavier
Endereço de entrega
E-mail
Número do cartão de crédito
Nome do produto
Valor da venda
28. Introdução a OO
Vela e Boneca são Produtos:
● Compartilham de características semelhantes;
Biologia: gatos, cachorros, golfinhos e humanos
são mamíferos;
29. Introdução a OO
A compra por um cliente é um Registro de
Venda:
● Contém informações de entrega, cobrança e
produto vendido.
30. Introdução a OO
Produto Registro de Venda
Vela
Cor: vermelho
Peso: 500g
Preço: R$10
Boneca
Peso: 200g
Tecido: algodão
Preço: R$20
Joaquim José da Silva Xavier
Endereço de entrega
E-mail
Número do cartão de crédito
Nome do produto
Valor da venda
31.
32. O que define um Objeto?
● Identidade;
● Características;
● Comportamento.
Introdução a OO
Produto
Vela
Cor: vermelho
Peso: 500g
Preço: R$10
Boneca
Peso: 200g
Tecido: algodão
Preço: R$20
33. O que define um Objeto?
● Identidade;
○ Nome ou código do produto.
● Características;
○ Cor, peso, preço e tecido.
● Comportamento.
○ Vamos ver isso depois...
Introdução a OO
Produto
Vela
Cor: vermelho
Peso: 500g
Preço: R$10
Boneca
Peso: 200g
Tecido: algodão
Preço: R$20
34. Introdução a OO
Produto
+ nome
+ peso
+ preco
+ cor
+ tecido
O que define um Objeto?
● Identidade;
○ Nome ou código do produto.
● Características;
○ Cor, peso, preço e tecido.
● Comportamento.
○ Vamos ver isso depois...
35. Introdução a OO
Produto
+ nome : String
+ peso : Integer
+ preco : Double
+ cor : String
+ tecido : String
O que define um Objeto?
● Identidade;
○ Nome ou código do produto.
● Características;
○ Cor, peso, preço e tecido.
● Comportamento.
○ Vamos ver isso depois...
36. Introdução a OO
Produto
+ nome : String
+ peso : Integer
+ preco : Double
+ cor : String
+ tecido : String
Parabéns!
Você acaba
de criar seu
primeiro
diagrama
UML!
Diagrama de Classe
39. Introdução a OO
RegistroVenda
+ codigoVenda
O que define um Objeto?
● Identidade;
○ Código da venda.
● Características;
● Comportamento.
40. Introdução a OO
RegistroVenda
+ codigoVenda
+ nomeCliente
+ emailCliente
+ enderecoEntrega
+ numeroCartaoCredito
O que define um Objeto?
● Identidade;
○ Código da venda.
● Características;
○ Dados do cliente.
● Comportamento.
41. O que define um Objeto?
● Identidade;
○ Código da venda.
● Características;
○ Dados do cliente e da venda.
● Comportamento;
○ ...
Introdução a OO
RegistroVenda
+ codigoVenda
+ nomeCliente
+ emailCliente
+ enderecoEntrega
+ numeroCartaoCredito
+ nomeProduto
+ valorVenda
42. O que define um Objeto?
● Identidade;
○ Código da venda.
● Características;
○ Dados do cliente e da venda.
● Comportamento;
○ Vamos ver isso depois...
Introdução a OO
RegistroVenda
+ codigoVenda
+ nomeCliente
+ emailCliente
+ enderecoEntrega
+ numeroCartaoCredito
+ nomeProduto
+ valorVenda
50. Introdução a OO
Produto
+ nome : String
+ peso : Integer
+ preco : Double
Vela
+ cor : String
Boneca
+ tecido : String
Em Orientação a Objetos, herança é um
mecanismo que permite que você crie uma nova
classe com base em uma já existente, aproveitando
suas propriedades e comportamentos.
51. Introdução a OO
Produto
+ nome : String
+ peso : Integer
+ preco : Double
Vela
+ nome : String
+ peso : Integer
+ preco : Double
+ cor : String
Boneca
+ nome : String
+ peso : Integer
+ preco : Double
+ tecido : String
Em Orientação a Objetos, herança é um
mecanismo que permite que você crie uma nova
classe com base em uma já existente, aproveitando
suas propriedades e comportamentos.
52. Introdução a OO
RegistroVenda
+ codigoVenda : Integer
+ nomeCliente : String
+ emailCliente : String
+ enderecoEntrega : String
+ numeroCartaoCredito : Integer
+ nomeProduto : String
+ valorVenda : Double
Continuando com
nosso processo de
melhoria...
60. Introdução a OO
Relembrando o que é um Objeto...
● Identidade;
● Possui características;
● Comportamento
○ Conjunto de ações que descrevem como o objeto
pode ser usado.
61. Comportamento
● Conjunto de ações que descrevem como o
objeto pode ser usado.
Introdução a OO
Humano
+ nome : String
+ dataNascimento : Date
+ peso : Integer
+ produzirSom()
62. Comportamento
● Conjunto de ações que descrevem como o
objeto pode ser usado.
Introdução a OO
Humano
+ nome : String
+ dataNascimento : Date
+ peso : Integer
+ produzirSom()
public class Humano {
public String nome;
public Date dataNascimento;
public Integer peso;
public void produzirSom() {
System.out.println("Olá pessoal");
}
}
63. Seria impresso na tela...
Olá pessoal!
Introdução a OO
Humano
+ nome : String
+ dataNascimento : Date
+ peso : Integer
+ produzirSom()
public class Humano {
public String nome;
public Date dataNascimento;
public Integer peso;
public void produzirSom() {
System.out.println("Olá pessoal!");
}
}
64. Seria impresso na tela...
Olá pessoal!
Introdução a OO
Humano
+ nome : String
+ dataNascimento : Date
+ peso : Integer
+ produzirSom()
public class Humano {
public String nome;
public Date dataNascimento;
public Integer peso;
public void produzirSom() {
System.out.println("Olá pessoal!");
}
}
Parabéns!
Você acaba de
entender seu
primeiro código
Java!
65. Introdução a OO
Comportamento
● Conjunto de ações que descrevem como o
objeto pode ser usado.
Mamifero
+ nome : String
+ dataNascimento : Date
+ peso
+ produzirSom()
Cão Humano Gato
66. Introdução a OO
Comportamento
● Conjunto de ações que descrevem como o
objeto pode ser usado.
Mamifero
+ nome : String
+ dataNascimento : Date
+ peso
+ produzirSom()
Cão
+ ...
Humano
+ ...
Gato
+ ...
67. Introdução a OO
A herança permite que novas classes
aproveitem atributos e comportamentos.
Mamifero
+ nome : String
+ dataNascimento : Date
+ peso
+ produzirSom()
Cão
+ ...
Humano
+ ...
Gato
+ ...
68. Introdução a OO
Mamifero
+ nome : String
+ dataNascimento : Date
+ peso
+ produzirSom()
Cão
+ produzirSom()
Humano
+ produzirSom()
Gato
+ produzirSom()
71. Introdução a OO
Solução: declarar na classe base e implementar
o método apenas nas classes herdeiras.
Palavra-chave: abstract.
Mamifero
+ nome : String
+ dataNascimento : Date
+ peso
+ produzirSom()
Cão
+ produzirSom()
Humano
+ produzirSom()
Gato
+ produzirSom()
72. Introdução a OO
public class Mamifero {
public String nome;
public Date dataNascimento;
public Integer peso;
public abstract void produzirSom();
}
public class Cao extends Mamifero {
public void produzirSom() {
System.out.println("Au au!");
}
}
public class Humano extends Mamifero {
public void produzirSom() {
System.out.println("Olá pessoal!");
}
}
public class Gato extends Mamifero {
public void produzirSom() {
System.out.println("Miau!");
}
}
73. Introdução a OO
public class Mamifero {
public String nome;
public Date dataNascimento;
public Integer peso;
public abstract void produzirSom();
}
public class Cao extends Mamifero {
public void produzirSom() {
System.out.println("Au au!");
}
}
public class Humano extends Mamifero {
public void produzirSom() {
System.out.println("Olá pessoal!");
}
}
public class Gato extends Mamifero {
public void produzirSom() {
System.out.println("Miau!");
}
}
Cão: Au au!
Humano: Olá pessoal!
Gato: Miau!
74. Referência Bibliográfica
● Sams Teach Yourself Object Oriented Programming in 21 Days - 2002 - Sams
Publishing - Tony Sintes
● Head First Object-Oriented Analysis & Design, O'Reilly, McLaughlin et. al., 2007
● ROY, Peter Van. Programming Paradigms for Dummies: What Every Programmer
Should Know. Disponível em <http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf>.
Acesso em: 10 maio 2013.
● COHEN, Marcelo. Introdução à Programação Orientada a Objetos. Disponível em
<http://www.inf.pucrs.br/flash/lapro2/lapro2_1.pdf>. Acesso em: 10 maio 2013.
● WIKIPEDIA, Orientação a Objetos. Disponível em <http://pt.wikipedia.
org/wiki/Orientação_a_objetos>. Acesso em: 10 maio 2013.
● COSTA, André Luiz Monteiro da. Orientação a Objetos na Prática. Disponível em
<http://www.slideshare.net/tiinfnet/orientao-a-objetos-na-prtica>. Acesso em: 10
maio 2013.