1 / 31

Programação Orientada a Objetos II

Programação Orientada a Objetos II. Definição de Diretrizes para o Semestre. Objetivo da Aula. “Construir diretrizes para trabalhar o conteúdo de Programação Orientada a Objetos II ao longo do semestre”. Como vamos avaliar se o objetivo foi atingido?.

urian
Download Presentation

Programação Orientada a Objetos II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação Orientada a Objetos II Definição de Diretrizes para o Semestre

  2. Objetivo da Aula “Construir diretrizes para trabalhar o conteúdo de Programação Orientada a Objetos II ao longo do semestre” Como vamos avaliar se o objetivo foi atingido? • Participação de TODOS durante o dia; • Quadro com as dificuldades, pontos fortes e visão de futuro; • Lista de habilidades já desenvolvidas;

  3. Plano de Trabalho

  4. Apresentação – Geral • Kaléu Caminha, 21 anos; • 8ª Fase do curso de Sistemas de Informação na UFSC; • 4 Anos de experiência com programação; • 1 ano de experiência em iniciação científica; • Experiência com Empresa Júnior, Centro Acadêmico e Organização de Eventos; • Freelancer, Estagiário, CLT... • Cursos de Desenvolvimento Pessoal pela UNIPAZ- SUL;

  5. Apresentação – Competência Técnica • Foco em Desenvolvimento Web com PHP5 OO, Interfaces Ricas com JavaScript e AJAX, XHTML, CSS; • Uso de Diversos Frameworks e Construção de framework para interfaces gráficas; • Java Durante todo o curso de Sistemas de Informação;

  6. Apresentação – Atividades Atuais • Professor SENAI Web Design, iniciação profissional e Programação OO; • Freelancer em Desenvolvimento Web com Elgg, Wordpress e outros; • TCC: Criação de um ambiente de suporte a Comunidades de Prática;

  7. Apresentação - Contato • http://kaleucaminha.com • kaleu.caminha@gmail.com

  8. Dinâmica “O Objetivo dessa dinâmica é construirmos um quadro com as principais dificuldades que vocês tem em programação, seus pontos fortes (o que gostam de fazer) e o que buscamos para o nosso futuro como profissionais.” Pontos Fortes Visão de Futuro O que não entendo? Quais as atividades e matérias mais difíceis? Quais conceitos ainda são confusos? Dificuldades O que mais gostei de fazer até agora? O que acho que faço bem e que gosto de construir? Com qual matéria mais me identifiquei? Com o que quero trabalhar? Quanto quero ganhar? O que gosto de fazer?

  9. Iniciando... Testes de Software. Simplicidade; Algoritmos complexos e matemáticos. Dificuldades Uso de Frameworks, API’s, Design Patterns, Libs, enfim, tudo que me ajuda a nunca repetir trabalho; Desenvolvimento de Interfaces e Design de Interação; Qualidade de Código e Código Limpo; Aplicãções Sociais. Pontos Fortes Criação de Ambientes Sociais para troca de conhecimento; Mestrado em Engenharia e Gestão do Conhecimento; Trabalhar com Ensino. Visão de Futuro

  10. Esquema da Dinâmica 2 min Criação de Quadro de Referência com as principais dificuldades, pontos fortes e Visões de Futuro da turma 20 min 30min

  11. Habilidades e Competências “O Objetivo agora é ter uma visão ampla e clara das competências técnicas em Programação que vocês já viram. Para isso utilizaremos uma escala que vai de ‘Nunca ouvimos falar’ até ‘Somos experts’ . Serão apresentados os temas, algum exemplo e cada aluno será chamado a responder alguma pergunta ou apresentar algum exemplo.”

  12. Programação Estruturada Sequência / Linear Estruturas de Decisão Estruturas de Iteração Exemplo de outra estrutura de decisão além do IF... Exemplo de outra estrutura de iteração além do FOR...

  13. Programação Orientada a Objetos Abstração Se esta classe pessoa fosse utilizada para registrar informações de alunos no sistema do SENAI. Quais atributos e métodos seriam relevantes? E se utilizássemos a abstração Pessoa para um jogo como “theSims”, quais métodos e atributos ela poderia ter?

  14. Classes e Objetos Aluno kaleu = new Aluno(“Kaléu Caminha”); Aluno pedro = new Aluno(“Pedro Antônio”); Aluno joana = new Aluno(“Joana Rebello”); cursoInformatica.addAluno(kaleu); cursoInformatica.addAluno(pedro); cursoInformatica.addAluno(joana); classAluno protectedString matricula; protectedString nome; protected Curso curso; ... publicStringgetNome(); publicvoidsetNome(String nome); publicbooleanestaMatriculado(); ... Outro exemplo de classe do mundo real... E alguns exemplos de objetos...

  15. Variáveis e Tipos ... String nome = “Kaléu Caminha”; Aluno kaleu = new Aluno(nome); Aluno pedro = new Aluno(“Pedro Antônio”); Aluno joana = new Aluno(“Joana Rebello”); Curso cursoInformatica = new Curso(“Técnico em Informática”); cursoInformatica.addAluno(kaleu); cursoInformatica.addAluno(pedro); cursoInformatica.addAluno(joana); ... Tipos Primitivos Exemplos de tipos primitivos além de int... Tipos Compostos

  16. Atributos e Encapsulamento public protected private classJogoTabuleiro { public Tipo qualquerAtributo; //não deve ser utilizado em nenhuma hipótese... protected Jogador jogador1; protected Jogador jogador2; privateintcontroleJogadorDaVez; } Exemplos...

  17. Métodos ... publicbooleanrealizaLogin(Stringlogin, String senha){ ... returntrue; // Se login e senha existem. } publicvoidenviaEmail(Stringdestinatario, String mensagem, String assunto){ ... } ... Tipo do valor de retorno Parâmetros O que significa o “void mesmo?”

  18. Associação, Composição e Agregação Qual a diferença entre Associação e Composição? Exemplos...

  19. Herança Outro Exemplo...

  20. Polimorfismo class Moto extends Veiculo { ... publicintgetNumRodas(){ return 2; } ... } class Carro extends Veiculo { ... publicintgetNumRodas(){ return4; } ... } ... publicint quadrado(int x){ return x * x; } publicfloat quadrado(floatx){ return x * x; } ... ... publicint soma(int x, int y){ return x + y; } publicint soma(int x, int y, int z){ return x + y + z; } ...

  21. Classes Interface Quem Realiza O que? Onde mais podemos utilizar Interfaces?

  22. Classes Abstratas O que uma classe abstrata tem que uma interface não tem? Como saber se devo utilizar uma ou outra?

  23. Classes e Métodos estáticos publicclass Calculo { publicstaticint soma(int x, int y){ returnx+y; } publicintmultiplicacao(intx, int y){ returnx*y; } } ... int valor1 = 10; int valor2 = 15; Intresult = Calculo.soma(valor1, valor2); ... Qual a diferença entre métodos estáticos e não-estáticos?

  24. IDE’s Alguma outra? Quais recursos você utiliza? Geração de código?

  25. Interfaces Gráficas

  26. Frameworks e Design Patterns O que é um Framework? Tem um exemplo? O que é um Design Pattern? Um exemplo?

  27. E além... O que mais foi visto em aula? E fora do curso, viram algo diferente?

  28. O Mercado de TI - Possibilidades

  29. O Mercado de TI - Salários

  30. O Mercado de TI – Algumas Empresas de Floripa

  31. Fechamento • Obrigado e Feliz Páscoa.!!!!

More Related