Buscar

CCT0695 - Programacao II - Aulas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2021.1
PROGRAMAÇÃO II
CCT0695
PROFESSOR: HENRIQUE TAVARES
1
2021.1
CONTEÚDO
2
➢ MODELAGEM COMPORTAMENTAL
o Elementos Genéricos
o Anotações e Reflexividade Computacional
o Java Collection Framework (Coleções)
o Representação de entidades e relacionamentos com uso de coleções
➢ BANCO DE DADOS
o Manipulação de exeções
o Middleware
o Consulta e manipulação de dados com JDBC
o Padrão DAO
o Sistema de Banco de Dados na arquitetura MVC
2021.1 3
➢ INTERFACES GRÁFICAS
o Bibliotecas AWT e SWING
o Criação de janelas por composição
o Manipulação de eventos
o Biblioteca SWT
o Biblioteca JavaFX
o Arquitetura MVC no JavaFX
➢ PARALELISMO E REDE
o Criação e controle de tarefas em paralelo
o Criação de servidor e cliente de rede via Socket
o Comunicação assíncrona com Socket e Thread
o Sistema MVC com uso de Socket
o Clientes gráficos para ambiente Socket-MVC
CONTEÚDO
2021.1
METODOLOGIA 
DE 
AVALIAÇÃO
4
AVALIAÇÃO
O processo de avaliação oficial será composto de três etapas, Avaliação 1 (AV1),
Avaliação 2 (AV2) e Avaliação 3 (AV3), sendo AV2 e AV3 unificadas, a partir de um
banco de questões propostas pelos professores da Estácio de todo o Brasil.
As avaliações poderão ser realizadas através de provas teóricas, provas práticas,
e realização de projetos ou outros trabalhos, representando atividades que possam
vir a compor o grau final de cada avaliação não poderá ultrapassar o grau máximo
de 10, sendo permitido atribuir valor decimal às avaliações. Caso a disciplina,
atendendo o projeto pedagógico de cada curso, além de provas teóricas e/ou
práticas contemple outras atividades acadêmicas de ensino, estas não poderão
ultrapassar 20% da composição do grau final.
2021.1 5
AVALIAÇÃO
A avaliação AV1 contemplará o conteúdo da disciplina até a sua realização.
As avaliações AV2 e AV3 abrangerão todo o conteúdo da disciplina.
Para aprovação na disciplina, o aluno deverá:
1. Atingir resultado igual ou superior a 6,0, calculado a partir da média
aritmética entre os graus das avaliações, sendo consideradas apenas as duas
maiores notas obtidas dentre as três etapas de avaliação (AV1, AV2 e AV3). A
média aritmética obtida será o grau final do aluno na disciplina;
2. Obter grau ou superior a 4,0 em, pelo menos, duas das três avaliações;
3. Frequêntar, no mínimo 75% das aulas ministradas.
METODOLOGIA 
DE 
AVALIAÇÃO
2021.1
CARACTERÍSTICAS
DO JAVA
6
2021.1
JDK
- O que é JDK ?
- Java Development Kit
- É um produto da Sun direcionado a desenvolvedores Java;
- Seus principais componentes são:
• javac: O compilador, que converte código fonte em bytecodes Java.
• jar: O empacotador que empacota as classes em um arquivo JAR.
• javadoc: O gerador de documentação, que gera documentação
automaticamente a partir de comentários no código.
• jdb: O debugador.
2021.1
JDK
O JDK tem também uma JRE (Java Runtime Environment) completa:
• Máquina Virtual Java
• Bibliotecas de classes apresentadas no ambiente de produção e 
algumas bibliotecas que são úteis
2021.1
JDK - Instalação
- Download do JDK:
https://www.oracle.com/technetwork/pt/java/javase/downloads/index.html
https://www.oracle.com/technetwork/pt/java/javase/downloads/index.html
2021.1
Programas em Java
- Extensão .java
• Para compilar: javac Classe.java
• Para executar: java Classe
• Execução a partir de um arquivo JAR:
java -jar nomeDoPacote.jar
O programa java cria apenas objeto inicial e a primeira
mensagem.
2021.1
Documentação Oficial Java
- Documentação Oficial:
https://www.oracle.com/java/technologies/javase-documentation.html
https://www.oracle.com/java/technologies/javase-documentation.html
2021.1
Programas Java com uso
do NetBeans
- CRIAÇÃO DO PROJETO:
ARQUIVO > NOVO PROJETO > Java (APLICAÇÃO JAVA) > PRÓXIMO
1. ESCREVE O NOME DO PROJETO
2. ESCOLHE O LOCAL A SER GRAVADO O PROJETO
3. FINALIZA.
- CRIAÇÃO DE CLASSES:
ARQUIVO > NOVO ARQUIVO > JAVA > CLASSE JAVA > PRÓXIMO > NOME DA CLASSE > FINALIZA.
2021.1
Programas Java com uso
do NetBeans
public class Programa01 {
public static void main(String[ ] args) {
int A = 6;
int B = 8;
System.out.println("\tSoma do conteudo das variaveis A e B = "+(A+B));
System.out.println("\n\tPrimeiro programa em Java\n\n");
}
}
2021.1
INTRODUÇÃO
14
2021.1
Programação Procedural
Organização modular não respeita a similaridade das 
informações.
Tem por objetivo identificar procedimentos que 
realizarão algum tipo de processamento que mistura
dados com diferentes semânticas. 
2021.1
Clientes
Funcionários
Vendas
Itens das Vendas
Parcelas da Vendas
Condições de Pagamento
Programação Procedural
2021.1
Programação OO
Informações organizadas em classes
São identificadas as entidades e seus relacionamentos para 
compor um sistema.
A computação flui por meio de um mar de mensagens
trocadas entre os objetos.
2021.1
Programação OO
Itens da Venda
Parcelas da Venda
Condições de Pagamento
Cliente
Troca de Mensagens
Funcionário
Venda
2021.1
Classes
Classes são utilizadas para caracterizar e descrever cenários: 
trata-se do uso de semântica!
Na linguagem de programação Java, programas são
construídos a partir de classes.
A partir de uma definição de classe, você pode criar qualquer
quantidade de objetos.
2021.1
Classes
Na classe são definidos os membros do objeto: seus atributos
(dados) e métodos (comportamentos)
2021.1
Pacotes (I)
As classes são "arrumadas" dentro de pacotes. 
2021.1
Pacotes (II)
Pacotes são unidades de agrupamento de classes.
Classes são agrupadas por vários motivos: 
Organização
Performance da aplicação
Solução de escopos de variáveis
Os pacotes podem ter sub-pacotes de qualquer profundidade.
Para evitar conflitos de nomes:
O nome do pacote deve ser único para classes e interfaces no pacote.
Escolher um nome que seja ao mesmo tempo significativo e único.
2021.1
Especialização
É a criação de subclasses a partir de superclasses.
As subclasses herdam de sua classe mãe:
Estrutura
Comportamento
Relacionamentos
Algumas destas características podem ser redefinidas, 
caracterizando uma especialização com relação à classe
mãe.
Características adicionais podem ser definidas.
2021.1
Generalização
É a criação de superclasses a partir de suas subclasses.
As características comuns entre as subclasses são
colocadas na superclasse.
Procedimento para criação de superclasse:
Observar a estrutura e comportamento comuns entre as 
subclasses.
Incorporar estas características à superclasse. 
As classes originais passam a ser subclasses da nova 
superclasse.
2021.1
Exemplos de Classes
Um cenário de uma agência bancária pode ser 
caracterizado com as seguintes classes:
⚫ PessoaFisica
⚫ PessoaJuridica
⚫ ContaCorrente
⚫ ContaPoupanca
⚫ TituloDeCapitalizacao
⚫ FundoInvestimento
⚫ DOC
⚫ EscriturarioCaixa
⚫ GerenteOperacional
⚫ GerenteDeRelacionamento
⚫ CaixaEletronico
⚫ Deposito
⚫ Saque etc.
2021.1
Similaridade dos Significados
Quais classes podem ser reunidas de acordo com a 
proximidade dos seus significados?
Conta
ContaCorrente
ContaPoupanca
Cliente
PessoaFisica
PessoaJuridica
Investimento
TituloDeCapitalizacao
FundoInvestimento
OperacaoBancaria
OperacaoOutroBanco
DOC
OperacaoMesmoBanco
Deposito
Saque
Funcionario
EscriturarioCaixa
GerenteOperacional
GereteDeRelacionamento
2021.1
Herança: 
a hierarquia dos Significados
• Java usa herançapara reutilizar classes existentes
• Herança estabelece uma relação de similaridade entre 
essas classes. 
• Exemplo:
ContaPoupanca é uma Conta
PessoaFisica é um Cliente
TituloDeCapitaliacao é um Investimento
Em Java:
class ContaPoupanca extends Conta {}
2021.1
java.lang.Object
É a raiz da hierarquia de classes da API do Java
Toda classe estende Object, direta ou indiretamente
Classes que não declaram estender ninguém, estendem
Object diretamente.
2021.1
java.lang.Object
Classes que declaram estender outra classe, herdam de 
Object pela outra classe com a hierarquia que começaem Object.
Todos os métodos de Object estão automaticamente
disponíveis para qualquer objeto
Porém, as implementações são default, e geralmente inúteis
para objetos específicos.
2021.1
Exercicio 1
Usando herança e aplicando generalização, crie o código
Java que exibe a relação de similaridade entre as 
classes: EscriturarioCaixa, GerenteOperacional, 
GerenteDeRelacionamento, CaixaEletronico, Deposito, 
Saque, PessoaFisica, PessoaJuridica, ContaCorrente, 
ContaPoupanca, TituloDeCapitalizacao, FundoInvestimento
e DOC.
2021.1
Objetos
Um objeto é uma entidade que engloba dados e os
métodos necessários à sua manipulação.
Objetos são unidades autocontidas que executam
tarefas personalizadas: trata-se de estruturas
semanticamente autosuficientes.
2021.1
Objetos – construção
Objetos sao criados à imagem da sua classe geradora.
2021.1
Objetos – destruição
Após sua utilização, objetos podem ser destruídos.
2021.1
Objetos
Pense em uma classe como uma fábrica com 
esquemas e instruções para construir artefatos: 
objetos são os artefatos que a fábrica produz.
Para construirmos um objeto a partir da classe
ContaCorrente:
ContaCorrente minhaConta = new ContaCorrente();
2021.1
Construtores de Objetos
Construtores são procedimentos realizados na construção de objetos e 
devem possuir o mesmo nome da classe em questão.
Podemos garantir que um objeto seja construído de varias formas
diferentes, por exemplo:
Conta minhaConta = new Conta();
OU AINDA…
Conta minhaConta = new Conta(“Flavia”);
OU AINDA…
Conta minhaConta = new Conta(“Flavia”, 2000);
2021.1
Encapsulamento
Algumas informações não devem ser construídas dentro de certos
objetos pois entram em discordância com o significado da classe de 
objetos.
Torna-se necessário isolar tais informações em outros objetos o que 
torna a programação mais coerente. 
Exemplo:
Cliente umCliente = new Cliente(“Flavia”);
LOGO DEPOIS…
Conta minhaConta = new Conta( umCliente , 2000);
2021.1
Encapsulamento
• Sendo assim, encapsulamento é uma forma de isolamento
de dados (atributos) e comportamento (métodos) dos 
objetos das classes.
• Classes Java encapsulam atributos e métodos da seguinte
forma:
class Conta {
float saldo;
void creditar( float valor ) { }
void debitar( float valor ) { }
void encerrar( ) { }
}
class Cliente {
String nome;
String endereco;
char sexo;
void enviarMalaDireta( ) { }
void realizarCobranca( ) { }
}
2021.1
Habilitando Construtores de 
Objetos
Construtores de objetos devem ser disponibilizados na
classe de onde serão criados os objetos:
class Conta {
float saldo;
Cliente titular;
void creditar( float valor ) { }
void debitar( float valor ) { }
void encerrar( ) { }
Conta ( ) { }
Conta ( Cliente cliente, double valor ) { }
}
2021.1
Variáveis
Variáveis são usadas em linguagens em geral para armazenar valores.
Valores são passados para variáveis através de operações de atribuição
Atribuição de valores
Atribuição de referências (variáveis de objeto)
numero = 44;
letra = ‘C’;
flag = false;
frase = “Saldo insuficiente!” ;
umCliente = new Cliente();
umaConta = new Conta(); 
2021.1
Declaração de variáveis
A declaração de uma variável é realizada quando
citamos o seu tipo:
int numero;
char letra;
boolean flag;
String frase;
Cliente umCliente;
Conta umaConta;
2021.1
Declaração com Atribuição
Frequentemente, ao declararmos uma variável
podemos logo atribuir um valor que a inicializa.
int numero = 44;
char letra = ‘C’;
boolean flag = false;
String frase = “Saldo insuficiente!” ;
Cliente umCliente = new Cliente();
Conta umaConta = new Conta();
2021.1
Tipos primitivos
Sao atômicos, por isso nao podem ser quebrados
em pedaços menores.
int numero = 44;
char letra = ‘C’;
boolean flag = false;
2021.1
Tipos primitivos
2021.1
Tipos Complexos
Tipos complexos são compostos por outros tipos:
Date data = new Date(2008, 2, 18);
int[] vetorInteiros = {1, 4, 7, 9};
OU AINDA…
String frase = “Saldo insuficiente!” ;
Cliente umCliente = new Cliente(“Flavia”);
Conta minhaConta = new Conta( umCliente , 2000);
2021.1
Declarando Variáveis, Atributos e 
Parâmetros na classe
• Variaveis sao declaradas no corpo dos metodos
• Parametros sao declarados no cabecalho dos metodos
• Atributos sao declarados no corpo da classe
class Conta {
double saldo; Cliente titular; boolean ativa;
void encerrar( ) { }
void creditar( double valor ) { }
void debitar( double valor ) {
double debito = valor;
saldo = saldo – debito;
}
Conta( ) {
ativa = true;
}
Conta(Cliente cliente, double valor ) {
ativa = true;
saldo = valor;
titular = cliente;
}
}
2021.1
Exercicio 2
Termine a programação da classe Conta
completando os métodos void encerrar() e 
void creditar(double valor)
2021.1
Exercício 3
Pergunta: de que forma podemos consultar o nome do 
titular de uma conta quando construimos objetos
assim:
Cliente umCliente = new Cliente(“Flavia”);
LOGO DEPOIS…
Conta minhaConta = new Conta( umCliente , 2000);

Continue navegando