Apresentação da semana 10 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Apresentação da semana 3 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...Manuel Menezes de Sequeira
Fundamentos da Programação 10:
• Encapsulação
• Cópia de instâncias
• Igualdade de instâncias
Apresentação 10 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Apresentação da semana 4 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...Manuel Menezes de Sequeira
Fundamentos da Programação 11:
• Enumerações
• Instrução switch
• Gama limitada dos inteiros
Apresentação 11 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...Manuel Menezes de Sequeira
Fundamentos da Programação 9:
• Operação toString()
• Classes, instâncias e objectos
• Leituras com Scanner
Apresentação 9 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...Manuel Menezes de Sequeira
Fundamentos da Programação 7:
• Arrays multidimensionais
• Estratégias de resolução de problemas
Apresentação 7 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Fundamentos da Programação 4:
• Introdução à linguagem de programação Java
Apresentação 4 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Apresentação da semana 3 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...Manuel Menezes de Sequeira
Fundamentos da Programação 10:
• Encapsulação
• Cópia de instâncias
• Igualdade de instâncias
Apresentação 10 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Apresentação da semana 4 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...Manuel Menezes de Sequeira
Fundamentos da Programação 11:
• Enumerações
• Instrução switch
• Gama limitada dos inteiros
Apresentação 11 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...Manuel Menezes de Sequeira
Fundamentos da Programação 9:
• Operação toString()
• Classes, instâncias e objectos
• Leituras com Scanner
Apresentação 9 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...Manuel Menezes de Sequeira
Fundamentos da Programação 7:
• Arrays multidimensionais
• Estratégias de resolução de problemas
Apresentação 7 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Fundamentos da Programação 4:
• Introdução à linguagem de programação Java
Apresentação 4 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Semana 1: Programação como arte de resolver problemas, algoritmos e problema...Manuel Menezes de Sequeira
Apresentação da semana 1 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
Fundamentos da Programação 13:
• Polimorfismo de subtipos
• Análise, desenho e implementação
Apresentação 13 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
Fundamentos da Programação 5:
• Atribuições especiais
• Arrays em Java
• Tipos de ciclos (while e do-while, for e foreach)
• Classes-pacote
Apresentação 5 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
Fundamentos da Programação 14:
• Interfaces
• Listas e cadeias ligadas
• Iteradores
Apresentação 14 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Aula teórica 6 da unidade (disciplina) de Programação Orientada por Objectivos para os cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...Manuel Menezes de Sequeira
Fundamentos da Programação 2:
• Programação como arte de resolução de problemas
• Algoritmos
• Descrição de algoritmos em… Snap!
Apresentação 2 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Novidades da versão 8 do Java: métodos de extensão para interfaces; expressões lambda; referências para métodos; streams e operações em massa para coleções; e nova API DateTime.
Apresentação da semana 2 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Semana 1: Programação como arte de resolver problemas, algoritmos e problema...Manuel Menezes de Sequeira
Apresentação da semana 1 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
Fundamentos da Programação 13:
• Polimorfismo de subtipos
• Análise, desenho e implementação
Apresentação 13 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
Fundamentos da Programação 5:
• Atribuições especiais
• Arrays em Java
• Tipos de ciclos (while e do-while, for e foreach)
• Classes-pacote
Apresentação 5 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
Fundamentos da Programação 14:
• Interfaces
• Listas e cadeias ligadas
• Iteradores
Apresentação 14 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Aula teórica 6 da unidade (disciplina) de Programação Orientada por Objectivos para os cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...Manuel Menezes de Sequeira
Fundamentos da Programação 2:
• Programação como arte de resolução de problemas
• Algoritmos
• Descrição de algoritmos em… Snap!
Apresentação 2 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Novidades da versão 8 do Java: métodos de extensão para interfaces; expressões lambda; referências para métodos; streams e operações em massa para coleções; e nova API DateTime.
Apresentação da semana 2 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Aula teórica 4 da unidade (disciplina) de Programação Orientada por Objectivos para os cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
Programação Orientada por Objectos - Aula 4guestd521d1f
Aula teórica 4 da unidade (disciplina) de Programação Orientada por Objectivos para os cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
Aula teórica 7 da unidade (disciplina) de Programação Orientada por Objectivos para os cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
Palestra introdutória sobre Clean Code, ministrada na Universidade Estadual do Ceará como palestra do mês de Novembro do ciclo de palestras mensais organizadas pelo grupo PET Computação UECE.
Apresentação da semana 9 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Android DevConference - Dagger 2: uso avançado em projetos AndroidiMasters
Rafael Toledo, Concrete Solutions, fala sobre Dagger 2: uso avançado em projetos Android no Android DevConference 2016. Saiba mais em: http://androidconference.com.br/
Semelhante a Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias (20)
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...Manuel Menezes de Sequeira
Fundamentos da Programação 12:
• Paradigmas da programação
• Programação orientada por objectos
• Modularização em pacotes
Apresentação 12 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Fundamentos da Programação 8:
• Classes e instâncias
• Cadeias de caracteres
Apresentação 8 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...Manuel Menezes de Sequeira
Fundamentos da Programação 3:
• Funções/repórteres e listas em Snap!
• Utilizações típicas de variáveis
Apresentação 3 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...Manuel Menezes de Sequeira
Fundamentos da Programação 1:
• Computador como máquina programável
• Conceitos de línguas naturais, linguagens de programação de baixo e de alto nível, e linguagens máquina
• Noções de algoritmo e de programa
Apresentação 1 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...Manuel Menezes de Sequeira
Fundamentos da Programação 6:
• Manipulação de caracteres
• Relação entre os tipos char e int
• Tipos de valor vs. tipos de referência
Apresentação 6 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Apresentação da semana 8 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Apresentação da semana 6 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaManuel Menezes de Sequeira
Apresentação da semana 5 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Semana 0: Computadores, linguagens e linguagens de programação, Noções de al...Manuel Menezes de Sequeira
Apresentação da semana 0 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Apresentação da semana 11 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.
Introdução à programação orientada para aspectos em AspectJ. Diapositivos de seminário realizado no contexto da disciplina de Engenharia do Software II, DCTI, ISCTE-IUL.
Desenho de interfaces com o utilizador. Unidade de Engenharia do Software I para o curso de METI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
2. Da aula anterior… Operação toString Classes, instâncias e objectos Leituras com Scanner 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 2
3. Encapsulação Aplica ocultação de informação a elemento de linguagem Oculta implementação e revela interface Produtores: acesso exclusivoà implementação Consumidores: acedem apenas a interface Resultado são módulos Rotinas Objectos/classes Pacotes 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 3 Ou “encapsulamento”. A ver mais tarde.
4. Interface vs. implementação Interface Como se usa? O que faz? Qual o contrato entre produtor e consumidor? Implementação Como funciona? Qual o mecanismo? 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 4
5. Encapsulação: vantagens Implementação pode mudar sem afectar consumidores Produtores podem garantir bom comportamento dos módulos Mais fácil localizar erros Mais fácil corrigir erros Facilita abstracção do consumidor! 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 5
6. Encapsulação: interface Métodos e rotinas Cabeçalho apenas Classes Operações Propriedades … 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 6
7. Encapsulação: implementação Métodos e rotinas Corpo apenas Classes Métodos auxiliares Métodos enquanto implementação de operações Atributos … 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 7
9. { if (m == 0 && n == 0) thrownew IllegalArgumentException("Illegal call with " + "m = 0 and n = 0."); m = Math.abs(m); n = Math.abs(n); if (m == 0 || n == 0) return Math.max(m, n); intpossibleGcd = Math.min(m, n); while (m % possibleGcd != 0 || n % possibleGcd != 0) possibleGcd--; returnpossibleGcd; } /** * Returns the greatest common divisor (GCD) of two integer numbers. * * @param m first of the two integer numbers whose GCD will be returned. * @param n second of the two integer numbers whose GCD will be returned. * @return the greatest common divisor of m and n. * @pre m ≠ 0 ∨n ≠ 0 * @post gcd = gcd(m, n) */ publicstaticintgcd(intm, intn) 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 9 Interface: o que faz, contrato. { if (m == 0 && n == 0) thrownew IllegalArgumentException("Illegal call with " + "m = 0 and n = 0."); m = Math.abs(m); n = Math.abs(n); if (m == 0 || n == 0) return Math.max(m, n); intpossibleGcd = Math.min(m, n); while (m % possibleGcd != 0 || n % possibleGcd != 0) possibleGcd--; returnpossibleGcd; } Interface: como se usa. Implementação: como funciona.
10. /** * Returns the greatest common divisor (GCD) of two integer numbers. * * @param m first of the two integer numbers whose GCD will be returned. * @param n second of the two integer numbers whose GCD will be returned. * @return the greatest common divisor of m and n. * @pre m ≠ 0 ∨n ≠ 0 * @post gcd = gcd(m, n) */ publicstaticintgcd(intm, intn) 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 10 public staticintgcd(int m, intn) { if (m == 0 && n == 0) thrownew IllegalArgumentException("Illegal call with " + "m = 0 and n = 0."); m = Math.abs(m); n = Math.abs(n); while (m != 0) { inttemporary = m; m = n % m; n = temporary; } returnn; } /** * Returns the greatest common divisor (GCD) of two integer numbers. * * @param m first of the two integer numbers whose GCD will be returned. * @param n second of the two integer numbers whose GCD will be returned. * @return the greatest common divisor of m and n. * @pre m ≠ 0 ∨n ≠ 0 * @post gcd = gcd(m, n) */ publicstaticintgcd(intm, intn) Implementação alternativa: funcionamento diferente. Mesma interface: usa-se da mesma forma, faz o mesmo.
20. Cópia de instâncias Cópia com inicialização e atribuição afecta apenas referências! Necessário construtor por cópia publicclass Point { … public Point(final Point aPoint) { abscissa= aPoint.getAbscissa(); ordinate= aPoint.getOrdinate(); } … privatefinalintabscissa; privatefinalintordinate; } Point a = newPoint(1.0, -2.0); Point b = a; Point c = new Point(a); 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 19 a b c (1; -2) (1; -2)
21. Igualdade de instâncias Operador == com referências verifica identidade e não igualdades! Necessária operação! publicclass Point { … publicbooleanisEqualTo( final Point aPoint) { returngetAbscissa() == aPoint.getAbscissa() && getOrdinate() == aPoint.getOrdinate(); } … } Point a = newPoint(1.0, -2.0); Point b = a; Point c = new Point(a); 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 20 Mais tarde usaremos equals(). a b c (1; -2) (1; -2) b == a? Sim. c == a? Não! b.isEqualTo(a)? Sim. c.isEqualTo(a)? Sim!
22. A reter Encapsulação em Java Abstracção Módulos em Java Interface vs. implementação Modificadores de acesso public eprivate Vantagens da encapsulação Cópia de instâncias usando construtor Igualdade entre instâncias usando método 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 21
23. A ler... Capítulos 8 e 9 do livro: Y. Daniel Liang, Introduction to Java Programming, 8.ª edição, Prentice-Hall, 2010. ISBN: 978-0-13-213080-6 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 22
24. Sumário Encapsulamento Cópia de instâncias Igualdade entre instâncias 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 23