Java Deployment Course Exercício de Fixação #1 Sistema Universidade. Jorge H. C. Fernandes Recife, 27 de Abril de 1999
|
|
- Eduarda Almeida
- 5 Há anos
- Visualizações:
Transcrição
1 Java Deployment Course Exercício de Fixação #1 Sistema Universidade Jorge H. C. Fernandes Recife, 27 de Abril de 1999
2 Java Deployment Course: Exercício de Fixação #1 Sistema Universidade Copyright 1999, Jorge H. C. Fernandes (jhcf( di.ufpe ufpe.br) Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, armazenada em sistema de retrieval,, ou transmitida, em quaisquer formas, ou através de quaisquer meios, eletrônicos, mecânicos, fotocópias, gravações, etc, sem a prévia autorização, por escrito, de Jorge Henrique Cabral Fernandes. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Java TM is a trademark of Sun Microsystems.
3 Sistema Universidade Requisitos Classes e Código Execução e Criação de Objetos Exercícios e Outras Propostas de Modificações
4 Requisitos do Sistema Universidade agrega Departamentos e Cursos Um Departamento agrega Disciplinas e Professores Um Curso agrega Alunos e Disciplinas Uma Disciplina está alocada a um único Departamento Um Professor está lotado em um único Departamento Departamentos criam Turmas apenas para as Disciplinas que agregam Uma Turma implementa uma única Disciplina em um único Período Um Aluno se matricula em um único Curso Alunos se inscrevem em várias Turmas que implementam apenas as Disciplinas do seu Curso Professores são responsáveis por várias Turmas Uma Turma tem um único Professor responsável
5 Modelo ER Estendido
6 Classes do Projeto Pessoa Aluno, AlunoGrad, AlunoIC, AlunoPos Professor Departamento, Curso, Disciplina, Turma SetorEventos, Convite SetorPagamento, Remunerável Universidade
7 Pessoa, Alunos, Professores Pessoa Remunerável Aluno Professor AlunoPos AlunoGrad AlunoIC
8 Remunerável interface Remuneravel { int getdiastrabalhados(); void setdiastrabalhados(int diastrabalhados); int getremuneracao();
9 Pessoa class Pessoa { // Toda pessoa possui um nome e um endereço String nome; String endereco; // construtor que recebe o nome e endereço Pessoa(String nome, String endereco) { this.nome = nome; this.endereco = endereco; // pessoa com endereço indefinido Pessoa (String nome) { this(nome, "Indefinido");
10 Classe Pessoa: Características do Código Dois construtores // construtor que recebe o nome e endereço Pessoa(String nome, String endereco) { this.nome = nome; this.endereco = endereco; // pessoa com endereço indefinido Pessoa (String nome) { this(nome, "Indefinido"); Sempre definir um construtor canônico Pessoa(String nome, String endereco) {...
11 Aluno abstract class Aluno extends Pessoa { Curso curso; // curso que o aluno freqüenta int creditospagos; // Créditos já pagos pelo aluno // cria um aluno (abstrato) Aluno (String nome, String endereco, Curso curso) { super(nome,endereco); this.curso = curso; this.creditospagos = 0; // adiciona créditos ao histórico do aluno int adicionacreditos(int creditos) {.. // indica se o aluno já concluiu o curso abstract boolean concluiu();
12 AlunoGrad (Graduação) public class AlunoGrad extends Aluno { AlunoGrad (String nome, String endereco, Curso curso) { super(nome, endereco, curso); // cria um aluno de IC a partir de um aluno de graduação AlunoIC iniciacaocientifica(string projeto, Professor orientador, int valorbolsa) { return (new AlunoIC(nome, endereco, curso, projeto, orientador, valorbolsa)); // indica se o aluno já cumpriu os requisitos para conclusão boolean concluiu() { if (creditospagos >= curso.creditosparaconclusao) return true; else return false;
13 Classe AlunoGrad: Características do Código Construtor de AlunoGrad utiliza construtor da superclasse AlunoGrad (String nome, String endereco, Curso curso) { super(nome, endereco, curso); Método para criar um AlunoIC a partir de um AlunoGrad AlunoIC iniciacaocientifica(string projeto, Professor orientador, int valorbolsa) { return (new AlunoIC(nome, endereco, curso, projeto, orientador, valorbolsa));
14 AlunoIC (Iniciação Científica) public class AlunoIC extends AlunoGrad implements Remuneravel { String projeto; // Projeto ao qual o aluno está alocado Professor orientador; // Professor orientador private int valorbolsa; // valor da bolsa private int diaspesquisa; // Quantos dias o aluno trabalhou no mês // construtor AlunoIC(String nome, String endereco, Curso curso, String projeto, Professor orientador, int valorbolsa) { super(nome, endereco, curso);... public int getremuneracao() {.. // retorna a remuneração do aluno // retorna a quantidade de dias trabalhados pelo aluno public int getdiastrabalhados() {.. // ajusta quantos dias o aluno trabalhou no mês public void setdiastrabalhados(int dias) {..
15 Professor public class Professor extends Pessoa implements Remuneravel {... // turmas pelas quais o professor é responsável private Turma[] turmas; int qtdturmas; Professor(String nomeprofessor, String formacaoprofessor, int salarioprofessor) {.. turmas = new Turma[3]; qtdturmas = 0; Turma[] getturmas() { return turmas; // inclui uma nova turma para o professor void incluiturma(turma novaturma) { if (qtdturmas < 3) { turmas[qtdturmas] = novaturma; qtdturmas++;
16 Classe Professor: Características do Código Armazenamento de objetos em um array // turmas pelas quais o professor é responsável private Turma[] turmas; int qtdturmas; Array com tamanho fixo turmas = new Turma[3]; Número Mágico (Por que 3 turmas?) turmas = new Turma[3]; Violação de encapsulamento do array Turma[] getturmas() { return turmas; Falha silenciosa na não inclusão da 4 a turma void incluiturma(turma novaturma) { if (qtdturmas < 3) { turmas[qtdturmas] = novaturma; qtdturmas++;
17 Disciplina public class Disciplina { String nome; // nome da disciplina int creditos; // quantidade de créditos Disciplina (String nomedisciplina, int creditosdisciplina) { nome = nomedisciplina; creditos = creditosdisciplina; Turma criaturma(string periodo) { return new Turma(this, periodo); public String tostring() { return "Nome Disciplina: "+nome +" Créditos: "+creditos;
18 Classe Disciplina: Características do Código Criação de Turma a partir de uma disciplina Turma criaturma(string periodo) { return new Turma(this, periodo); Implementação do Método tostring() public String tostring() { return "Nome Disciplina: "+nome +" Créditos: "+creditos;
19 Turma public class Turma { Disciplina disciplina; // turma implementa uma disciplina específica String periodo; // em um período de oferta Professor professor; // professor responsável pela disciplina private Aluno alunos[];// alunos inscritos na turma int qtdalunos; // quantidade de alunos inscritos Turma(Disciplina disciplina, String periodo) { // cria uma turma... alunos = new Aluno[30]; qtdalunos = 0; void alocaprofessor(professor prof) {.. //aloca professor à turma void incluialuno (Aluno aluno) { // inclui aluno à turma if (qtdalunos < 30) { alunos[qtdalunos] = umaluno; qtdalunos = qtdalunos + 1; public void liste() {.. // lista informações da turma
20 Classe Turma: Características do Código Armazenamento de objetos em um array Array com tamanho fixo Número Mágico (Por que 30 alunos?) Falha silenciosa na não inclusão do 31 o aluno
21 Departamento (1/2) public class Departamento { String nome; // nome do departamento Professor professores[]; //professores lotados no depto int qtdprofessores; Disciplina disciplinas[]; // disciplinas oferecidas int qtddisciplinas; Turma turmas[]; // turmas criadas int qtdturmas; static final int MAX_TURMAS = 300; Departamento (String umnome) {... // cria departamento boolean incluiprofessor(professor umprofessor) {... boolean incluidisciplina(disciplina umadisciplina) {... boolean incluiturma(turma umaturma) {... void listaprofessores() {... void listadisciplinas() {... void listaturmas() {...
22 Departamento (2/2) class Departamento {... // inclui uma turma no departamento boolean incluiturma (Turma turma) { if (qtdturmas < MAX_TURMAS) { turmas[qtdturmas] = turma; qtdturmas++; return true; return false; // lista as turmas ofertadas pelo departamento void listaturmas() { for(int i=0; i<qtdturmas; i++) { System.out.println(turmas[i]);
23 Class Departamento: Características do Código Substituição de Números Mágicos por constantes static final int MAX_TURMAS = 300; Possível inclusão de turma cuja disciplina não pertence ao departamento
24 Curso (1/2) public class Curso { String nome; // nome do Curso int creditosparaconclusao; // créditos para conclusão static final int MAX_ALUNOS = 300;// tamanho máximo do array private Aluno alunos[]; // alunos matriculados int qtdalunos; // quantidade de alunos no array Curso(String nome, int creditos) { this.nome = nome; this.creditosparaconclusao = creditos; this.alunos = new Aluno[MAX_ALUNOS]; this.qtdalunos = 0; void listaconcluintes() {... // lista os concluintes public String tostring() { // informações sobre o curso return "Curso: "+ nome + " "+ "Créditos: "+ creditosparaconclusao + " "+ "Qtd Alunos: "+ qtdalunos + " "; // testa criação de cursos public static void main(string[] args) {...
25 Curso (2/2) public class Curso {.. // testa criação de cursos public static void main(string[] args) { Curso curso1 = new Curso("Bach. Informática", 360); Curso curso2 = new Curso("Ph.D. Informática", 48); Curso curso3 = new Curso("M.Sc. Informatica", 36); System.out.println(curso1); System.out.println(curso2); System.out.println(curso3);
26 Classe Curso: Características do Código Implementação do Método tostring() Método de teste para criação de alguns objetos
27 Classe Universidade public class Universidade {... public static void main (String args[]) {... /* Criação de setor de pagamentos, eventos, departamento e curso */ /* Variáveis para armazenar professores, disciplinas, turmas */ /* Criando alguns professores */ /* Incluindo professores no departamento de Informática */ /* Criando algumas disciplinas */ /* Criando algumas turmas */ /* Incluindo disciplinas no departamento de informática */ /* Alocando professores a disciplinas */ /* Criando alunos */ /* Matriculando os alunos em turmas */ /* Emite relatório do Departamento */d /* Movimento do setor financeiro */
28 Exercícios Acompanhe a execução do método main da classe Universidade. Observe como ocorre a criação de objetos das várias classes: Departamento, SetorEventos, SetorPagamento, Curso, Disciplina, Professor, Turma, Aluno, AlunoGrad, AlunoIC Esboce um grafo dos objetos que são criados durante a execução de main Acompanhe a execução das rotinas de cálculo da folha Confrontando a implementação com os requisitos do sistema, percebe-se que existem várias falhas conceituais na implementação. Algumas destas falhas estão listadas no slide a seguir. Proponha soluções para elas. Tente identificar outras. O código apresenta algumas deficiências de lógica de programação, ou esquemas de codificação que tornam o sistema mais susceptível a falhas (menos robusto). Algumas destas deficiências estão listadas em um slide à frente. Proponha soluções para estas. Tente identificar outras deficiências.
29 Implementação versus Requisitos Departamento permite que se inclua uma Turma cuja Disciplina não pertença ao conjunto de disciplinas que ele agrega Um Professor pode ministrar Disciplinas que não pertençam ao seu Departamento Alunos podem se inscrevem em Turmas cuja Disciplina não são do seu Curso
30 Codificação Frágil Alguns métodos de inclusão de professor e turma falham silenciosamente quando se ultrapassa o limite do array utilizado. Existem alguns números mágicos que não estão documentados O limite no tamanho dos arrays é um requisito do sistema, ou um esquema de codificação frágil? Não existe teste de duplicidade na inserção de alunos, professores, turmas, disciplinas, etc
31 Fim
Java TM Applets. Java Deployment Course: Aula 3. por Jorge H. C. Fernandes DI-UFPE 30 de Abril de 1999
Java TM Applets Java Deployment Course: Aula 3 por Jorge H. C. Fernandes (jhcf@di.ufpe.br) DI-UFPE 30 de Abril de 1999 Java Applets Copyright 1999, 1998, 1997 Jorge H. C. Fernandes (jhcf@di.ufpe.br) Todos
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisJava Deployment Course
Java Deployment Course Atividade Prática Programação Visual com JBuilder Jorge H. C. Fernandes Recife, 12 de Maio de 1999 Tópicos Modelo da Aplicação Interface da Aplicação Conexão entre Modelo e Interface
Leia maisLÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz
LÓGICA DE PROGRAMAÇÃO (JAVA) Definição A herança é um princípio da POO que permite a criação de novas classes a partir de outras previamente criadas. Essas novas classes são chamadas de subclasses, ou
Leia maisFundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisComputação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1
Leia maisSistema Futebol - Java
Sistema Futebol - Java ARTEFATO 01 Indice 1. CLASSE PESSOA... 2 2. CLASSE JOGADOR... 3 3. CLASSE TECNICO... 5 4. CLASSE SISTEMAFUTEBOL... 6 5. CLASSE SISTEMAFUTEBOLMAIN... 10 6. EXERCÍCIOS... 10 AT01 Sistema
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisSabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.
JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisFabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisLinguagem Algorítmica OO. Linguagem Algorítmica
UFSC-CTC-INE INE5384 - Estruturas de Dados Linguagem Algorítmica OO Prof. Ronaldo S. Mello 2002/2 Linguagem Algorítmica Independente de linguagem de programação OO Utilizada para: Exemplificar os algoritmos
Leia maisQuando um Auto-Relacionamento não é mais um Auto-Relacionamento
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Quando um Auto-Relacionamento não é mais um Auto-Relacionamento! 1. Introdução!! Em algumas situações, durante o processo de modelagem,
Leia maisInterfaces POO. Prof. Marcio Delamaro
Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso
Leia maisOrientação a Objetos e Java
Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisEnterprise JavaBeans. Java Deployment Course. por Jorge H. C. Fernandes (jhcf@di.ufpe.br) DI-UFPE Julho de 1999
Enterprise JavaBeans Java Deployment Course por Jorge H. C. Fernandes (jhcf@di.ufpe.br) DI-UFPE Julho de 1999 Enterprise JavaBeans Java Deployment Course Copyright 1999 by Jorge H. C. Fernandes (jhcf@di.ufpe.br)
Leia maisAula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU
Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisUnidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01
Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir
Leia maisRESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Leia maisAula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU
Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisPalavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Leia maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisPara entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
Leia maisLinguagem de Programação II Herança
Linguagem de Programação II Herança Prof. Alessandro Borges 2 Tópicos Reutilização de classes Delegação Herança Definição Superclasse e Subclasse A palavra reservada extends Método construtor com herança
Leia maisRelacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisParadigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisALOCAÇÃO DINÂMICA DE MEMÓRIA
INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisAULA 6 - ARRAYS. Array de 10 elementos
1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto
Leia maisLição 7 Array em Java
Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisColeções. João Paulo Q. dos Santos
Coleções João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre coleções; Tipos de coleções; Como são classificadas; Exemplos. 04/02/14 2 Coleções Classes e interfaces do pacote java.util
Leia maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisProgramação Orientada a Objetos Classes Abstratas. Sérgio Soares
Programação Orientada a Objetos Classes Abstratas Sérgio Soares scbs@cin.ufpe.br Até aqui Quando usar herança? Ao redefinir um método manter o comportamento herdado! 2 Adivinhem... Surge um novo requisito
Leia maisAULA TEÓRICA 10. Tema 9. Interface. Tema 10. Recursividade
AULA TEÓRICA 10 Tema 9. Interface Tema 10. Recursividade 1 Interface Uma interface é como uma classe que não pode ser instanciada. Seu objectivo é espicificar um conjunto de métodos que uma classe deverá
Leia maisSobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisEncapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
Leia maisEx: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)
Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo
Leia maisLinguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
Leia maisProgramação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
Leia maisObjetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica
Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 03 Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão
Leia maisHerança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais).
Disciplina: Programação Orientada à Objetos AULA 08 Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais). Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio
Leia maisClasse Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia mais2 Vectores de objectos
2 Vectores de objectos Agenda de contactos 3 Objectivo Manipular uma agenda de contactos. Descrição e Funcionalides Cada contacto na agenda caracteriza-se por um nome, um telefone e um e-mail. Na agenda,
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisProgramação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Leia maisClasses e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010
Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisJava TM e o Modelo de Objetos
Java TM e o Modelo de Objetos Java Deployment Course: Aula 1 por Jorge H C Fernandes (jorge@dimap.ufrn.br) DIMAp-UFRN Java e o Modelo de Objetos Objetivos desta Aula Introduzir conceitos básicos do modelo
Leia maisEdital Nº. 04/2009-DIGPE 10 de maio de 2009
Caderno de Provas SISTEMAS DE INFORMAÇÃO Edital Nº. 04/2009-DIGPE 10 de maio de 2009 INSTRUÇÕES GERAIS PARA A REALIZAÇÃO DA PROVA Use apenas caneta esferográfica azul ou preta. Escreva o seu nome completo
Leia mais4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisConstrutores e Especificadores de Acesso
Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação
Leia maisJUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge
JUnit Alexandre Menezes Silva alexandre_crvg@hotmail.com Eduardo Manuel de Freitas Jorge emjorge1974@gmail.com 0 Sumário O que é?... 2 Pra que serve?... 2 Arquitetura... 2 Método de comparação assertequals...
Leia maisVetores Unimensionais
Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de
Leia maisProgramação Estruturada e Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisDATA ACCESS OBJECT (DAO)
Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015
Leia maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Leia maisCollections Framework
Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por
Leia maisAnálise de Programação
Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou
Leia mais1) Responda de acordo com os conceitos de orientação a objetos (0,5).
Avalição II (Teórica) 22/06/2017 Disciplina Linguagem de Programação II Prof. Wagner, dos Santos C. de Jesus Curso Engenharia da Computação Questões Solução da Avaliação 1) Responda de acordo com os conceitos
Leia maisAULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação
AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação 1 Vector Os vectores são semelhantes aos arrays, pois também podem conter um conjunto de objectos aos quais é atribuído um índice.
Leia maisSimulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Leia maisLinguagem de Programação Orientada a Objeto Abstração - Encapsulamento
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e
Leia maisA B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas
Leia maisIntrodução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça
Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa
Leia maisAula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisMULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci
MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente.
Leia maisProgramação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert
Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que
Leia maisRESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 14 Generics 1 Programa Capítulo 14 Generics Generics introdução Até
Leia maisExceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Exceções AULA 13 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Exceções Objetivo Depois desta aula você será capaz
Leia maisAlgoritmos II prof. Daniel Oliveira
Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional
Leia maisConceitos Básicos de Orientação a Objetos e Strings AULA 08
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Conceitos Básicos de Orientação a Objetos e Strings AULA 08 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Até
Leia maisJAVA. José de Siqueira UFMG - ICEx - DCC
ESTRUTURAS DE DADOS JAVA BÁSICAS EM José de Siqueira UFMG - ICEx - DCC 1 o semestre de 2005 O Tipo Abstrato de Dados Pilha O TAD pilha tem quase as mesmas operações apresentadas anteriormente: 1. empilha(o):
Leia mais