Programação com Acesso a BD. Programação com OO Acesso em Java
|
|
|
- Ronaldo Palhares Gentil
- 10 Há anos
- Visualizações:
Transcrição
1 Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática Costa [email protected] [email protected] Programação com Acesso a BD Aqueles que não conseguem captar novas idéias ficam com medo delas ou as ignoram. David F. Hinnant 1
2 Programação com Acesso a BD Unidade III: Objetos, Classes e Encapsulamento O paradigma de orientação a objetos consiste basicamente em organizar o software como uma coleção de objetos que incorporam a estrutura de dados e o comportamento; Orientação a objetos contrasta com a programação convencional, na qual a estrutura de dados e o comportamento são fracamente conectados; Foco nos dados (objetos) do sistema, não nas funções; O comportamento muda mais que a estrutura de dados; 2
3 Objetos Um objeto é qualquer coisa, real ou abstrata, na qual nós armazenamos dados e as operações que manipulam os dados [ Martin ]; Um objeto ou uma instância é uma abstração de alguma coisa no domínio do problema, refletindo as capacidades do sistema de manter informações sobre ele, interagir com ele, ou ambos, um encapsulamento de valores de atributos e seus serviços exclusivos [ Yourdon ]; Objetos 3
4 Objetos Um objeto é um ente independente, composto por: Estado Interno: uma memória interna em que valores podem ser armazenados e modificados ao longo da vida do objeto (conjunto de atributos ou variáveis de instância). Comportamento: conjunto de ações prédefinidas (denominadas métodos) através das quais o objeto responderá a demanda de processamento por parte de outros objetos; Objetos numero saldo credito(int v) debito(int v) getsaldo() OBJETO CONTA 4
5 Objetos Passagem de Mensagem M3(); M3 M2 Obj 1 M1 M4 M2 M3 Obj 2 M1 M4 M2 Obj 3 M3 M4; M1 M4 credito(20) credito Crédito credito saldo numero Saldo Número 875, , saldo 895,32 numero debito Débito debito ESTADOS DO OBJETO CONTA 5
6 Objetos Um objeto possui: Identidade: É uma propriedade imutável e permanente que distingue um objeto de outros, independentemente de seu estado interno, e que não é perdida pelo objeto ao longo de toda a sua vida; M3 M2 Obj 1 M1 M4 Classes Classe é o agrupamento de objetos com a mesma estrutura de dados (atributos) e comportamento (operações) [ Rumbaugh ]; Classe é uma coleção de um ou mais objetos com um conjunto uniforme de atributos e serviços, incluindo uma descrição de como criar novos objetos na classe [ Yourdon ]; Descreve um conjunto infinito de objetos; Cada objeto é dito ser uma instância de uma classe; 6
7 Classes Classes 7
8 Representação de uma classe Conta saldo : double numero: int data : date credito(double) : debito(double) : Classes X Objetos Cada instância da classe tem seus próprios valores para cada atributo, mas compartilham as operações com outras instâncias da classe; Em programação orientada a objetos, os termos principais têm a seguinte correspondência aproximada com termos tradicionais de programação: classe -> tipo objeto -> variável de um tipo método -> procedimento ou função mensagem -> chamada de procedimento 8
9 Relacionamentos Entre Classes; Entre Classe e Objeto; Entre Objetos; Relacionamentos Entre Classes; GENERALIZAÇÃO / ESPECIALIZAÇÃO (É-UM-TIPO-DE)... METACLASSE... 9
10 Generalização X Especialização Impressora Matricial Laser Jato de Tinta Metaclasse 10
11 Relacionamentos Entre Classe e Objeto; UM OBJETO É INSTÂNCIA DE UMA CLASSE Relacionamentos Entre Objetos; UTILIZAÇÃO... Apartamento AGREGAÇÃO OU COMPOSIÇÃO Sala Cozinha Banheiro Quarto ASSOCIAÇÃO... 11
12 Utilização M3 M2 Obj 1 M1 M4 M3(); M2 M1 Obj 2 M3 M4 Composição Apartamento Sala Cozinha Banheiro Quarto 12
13 Associação Pessoa Empregado Empregador Trabalha para Empresa Sintaxe de uma classe [public] class <nome da classe> [ extends <classe pai> ] [ implements <interface1>,..., <interfacen> ] { [ public/protected/private] [ final ] [ static ] <DADOS> [ public/protected/private] [ final ] [ static ] [abstract ] <MÉTODOS> 13
14 Classe de Contas em Java Nome da classe. class Conta { String numero; Atributos. double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; Métodos. Criando Instâncias DECLARAÇÃO: < ID-CLASSE > < LISTA-ID >; CRIAÇÃO: < ID > = new < ID-CLASSE > ( < ARGS > ); DECLARAÇÃO E CRIAÇÃO JUNTAS: < ID-CLASSE > < ID > = new < ID-CLASSE > ( < ARGS > ); 14
15 Programa que cria e manipula uma conta class CriaConta { /** Criando um objeto do tipo Conta */ public static void main (String [] args) { Conta conta1 = new Conta (); conta1.numero = ; conta1.saldo = 0; Criação de um objeto da classe conta. Acessando os atributos do objeto conta1. conta1.credito (500.87); conta1.debito (45.00); System.out.println(conta1.saldo); Utilizando os métodos do objeto conta1. Acessando os dados de um objeto... conta1.numero = ;... Identificador. Nome do atributo. Ponto. 15
16 Utilizando métodos de um objeto... conta1.credito (500.87);... Identificador. Nome do método. Ponto. Classe Circle Nome da classe. class Circle { Atributos. double x, y, r; double circunferencia () {return 2 * * r; double area () {return * r * r; Métodos. 16
17 Acessando os dados de um objeto Circle c = new Circle( ); c.x = 2.0; c.y = 2.0; c.r = 1.0; Utilizando métodos de um objeto Circle c = new Circle( ); double a; c.r = 2.5; a = c.area( ); Definindo Construtores Construtores são métodos especiais chamados pelo sistema no momento da criação de um objeto; Servem para inicializar objetos de forma organizada; Devem ter o mesmo nome da respectiva classe; Não possuem valor de retorno; Pode haver mais de um construtor por classe (overloading ou sobrecarga de métodos); 17
18 Exemplo de Construtores class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; Conta (String n) {numero = n; saldo = 0; Método Construtor. Criando Objetos com Construtores... Conta conta1; conta1 = new Conta( ); conta1.credito(500.87); conta1.debito(45.00); System.out.println(conta1.saldo);... 18
19 Criando Objetos com Construtores... Conta conta1; conta1 = new Conta(); conta1.credito(500.87); conta1.debito(45.00); System.out.println(conta1.saldo);... O construtor default foi perdido. Sobrecarga de Métodos Em java, os métodos são diferenciados pelo nome, e pelo número, tipo e posição dos argumentos; Isto vale para qualquer método e não apenas para os construtores; 19
20 Sobrecarga de Métodos class Conta { Construtor default. String numero; double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; Conta () {saldo = 0; Conta (String n) {numero = n; saldo = 0; Conta (String n, double v) {numero = n; saldo = v; Sobrecarga de Construtores. Sobrecarga de Métodos class CriaConta { public static void main (String[] args) { Conta conta1 = new Conta ( ); Conta conta2 = new Conta ( , 300); Conta conta3 = new Conta (); System.out.println(conta1.saldo); System.out.println(conta2.saldo); 20
21 Sobrecarga de Métodos class CriaConta { public static void main (String [] args) { Conta conta1 = new Conta ( ); Conta conta2 = new Conta (300, ); Conta conta3 = new Conta (900); System.out.println(conta1.saldo); System.out.println(conta2.saldo); Sobrecarga de Métodos class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; void debito () {saldo = saldo - (int)saldo; Conta (String n) {numero = n; saldo = 0; 21
22 Sobrecarga de Métodos class CriaConta { public static void main (String[] args) { Conta conta1 = new Conta ( ); conta1.credito(500.86); conta1.debito(100); System.out.println(conta1.saldo); conta1.debito(); System.out.println(conta1.saldo); Sobrecarga de Métodos class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; void debito (double v) { if (saldo >= v) saldo = saldo - v; Conta (String n) {numero = n; saldo = 0; 22
23 Sobrecarga de Métodos class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; boolean debito (double v) { if (saldo < v) return false; else {saldo = saldo - v; return true Conta (String n) {numero = n; saldo = 0; Sobrecarga de Métodos class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; boolean debito () { if (saldo < 0) return false; else {saldo = saldo - (int)saldo; return true Conta (String n) {numero = n; saldo = 0; 23
24 Encapsulamento Encapsulamento Consiste em separar os aspectos externos de um objeto, que são acessíveis para outros objetos, dos detalhes internos de implementação do objeto [ Rumbaugh ]; Qualquer mecanismo que nos permita esconder a implementação do objeto fazendo com que outros componentes do sistema não tenham conhecimento do conteúdo interno dos dados armazenados no objeto [ Yourdon ]; 24
25 Encapsulamento É o resultado (ou ato) de se esconder os detalhes de implementação de um objeto do usuário [ Martin ]; Information hiding; A comunicação entre objetos é feita através de mensagens enviadas para as operações; A implementação de um objeto pode ser mudada sem afetar as aplicações que o usam; Facilidade de manutenção; Encapsulamento Métodos públicos Métodos privados Atributos públicos Atributos privados 25
26 Controle de Acesso Normalmente, é conveniente proibir o acesso a certos atributos (ou mesmo métodos); Controle de Acesso Public: permite acesso a partir de qualquer classe; Private: permite acesso apenas na própria classe; Protected: permite acesso apenas a objetos da mesma classe e de suas sub-classes; Default: permite acesso a todas as classes do mesmo pacote; 26
27 Classe conta com atributos privados class Conta { Atributos privados. private String numero; private double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; Conta (String n) {numero = n; saldo = 0; Consequências de tornar um atributo privado class CriaConta { public static void main (String[] args) { Conta conta1 = new Conta ( ); conta1.saldo = 1000; conta1.numero = ; System.out.println(conta1.saldo); Atributos privados não podem ser diretamente acessados fora de sua classe. 27
28 Consequências de tornar um atributo privado Tentar acessar um componente privado (de fora da classe) resulta em erro de compilação; Mas como torná-lo acessível apenas para consulta (leitura)? Isto é possível definindo-se um método que retorna o atributo (na própria classe onde o atributo se encontra); Classe conta com atributos privados class Conta { private String numero; private double saldo; void credito (double valor) {saldo = saldo + valor; void debito (double valor) {saldo = saldo - valor; String getnumero() {return numero; double getsaldo() {return saldo; Conta (String n) {numero = n; saldo = 0; 28
29 Recuperando o valor de um atributo privado class CriaConta { public static void main (String[] args) { Conta conta1 = new Conta ( ); conta1.credito(1000); System.out.println(conta1.getSaldo()); O método getsaldo() retorna o valor do atributo privado saldo. Métodos Destrutores A presença de coleta automática de lixo torna o conceito de destrutores um pouco diferente de seus equivalentes em outras linguagens OO; Em Java destrutores são métodos chamados pelo sistema quando a memória de um objeto está para ser liberada pelo coletor automático de lixo (não quando está para ser coletada); Você pode chamar o destrutor, mas isso não implica que o objeto será deletado; 29
30 Exemplos de Destrutores protected void finalize{ this.my_database.close( ); Os destrutores são úteis para limpar a casa quando um objeto deixa de ser usado; Atributos x Variáveis Estáticas Cada instância de uma classe tem seus próprios atributos; As variáveis estáticas (ou de classe) são compartilhadas por todas as instâncias da classe; As variáveis de classe são usadas como variáveis globais; 30
31 prox_num = 132 Classe conta com variável estática Exemplo de Variável Estática class ContaComGerador { private String numero; private double saldo; private static int proxnum = 1; void credito... ContaComGerador () { numero = String.valueOf(proxNum); saldo = 0; proxnum = proxnum + 1; 31
32 Exemplo de Variável Estática class CriaContaComGerador { public static void main (String[] args) { ContaComGerador conta1 = new ContaComGerador(); ContaComGerador conta2 = new ContaComGerador(); System.out.println(conta1.getNumero()); System.out.println(conta2.getNumero()); conta1.credito(400); System.out.println(conta1.getSaldo()); Exemplo de Variável Estática class CriaContaComGerador { public static void main (String[] args) { ContaComGerador conta1 = new ContaComGerador(); ContaComGerador conta2 = new ContaComGerador(); System.out.println(conta1.getNumero()); System.out.println(conta2.getNumero()); System.out.println( Número da próxima conta: + ContaComGerador.proxNum); A variável deve ser visível (no caso public). 32
33 Acessando Variáveis Estáticas Fora da classe ContaComGerador. System.out.println( Número da próxima conta: + ContaComGerador.proxNum); System.out.println( Número da próxima conta: + conta1.proxnum); ContaComGerador () { numero = proxnum; saldo = 0; proxnum = proxnum + 1; Dentro da classe ContaComGerador. Dados Finais Não podem ser alterados (constantes); Devem ser inicializados na declaração; Exemplos public final int a = 10; // atributo final public static final string nome = pedro ; // variável estática final 33
34 Exemplo de um Atributo Final class Circle { public final double pi = ; double x, y, r; double circunferencia () {return 2 * pi * r; double area () {return pi * r * r; Exemplo de um Atributo Final class Circle { public final double pi = ; double x, y, r; double circunferencia () { pi = 3.14; return 2 * pi * r; double area () {return pi * r * r; 34
35 Exemplo de um Atributo Final class CriaCirculo { public static void main (String[] args) { Circulo c1 = new Circulo(); System.out.println(c1.area()); System.out.println(c1.circunferencia()); c1.pi = 3.14; Mét. de Instância x Mét. de Classe Os métodos de classe também são chamados de métodos estáticos; Os métodos estáticos pertencem à classe e não às instâncias; Os métodos estáticos acessam apenas as variáveis estáticas da classe; 35
36 Exemplo de Métodos Estáticos class Maior { private static int maior (int x, int y) { if (x > y) return x; else return y; public static void main (String [] args) { int m, x, y; x = Util.readInt(); y = Util.readInt(); m = maior (x,y); // m = Maior.maior (x,y); System.out.println(m); Acessando Métodos Estáticas int x, y, resp; x = 10; y = 5; resp = Maior.maior(x, y); Maior m = new Maior(); resp = m.maior(x,y);... resp = maior(x,y); Fora da classe Maior. Dentro da classe Maior. 36
37 Métodos Finais Não podem ser redefinidos em sub-classes (versão final do método); Exemplos public final void draw( Graphics g ) ; // Método de Instância public final static void draw( Graphics g ) ; // Método de Classe Inicializadores Estáticos Um inicializador estático é um método utilizado para a inicialização das variáveis estáticas; 37
38 Exemplo de Inic. Estáticos public class Circle{ static private double sines[ ] = new double [ 1000 ]; static private double cosines[ ] = new double [ 1000 ]; static { double x, delta_x; int i; delta_x = (Circle.PI/2)/(1000-1); for (i = 0, x = 0.0; i < 1000; i++ ; x + = delta_x) { sines[ i ] = Math.sin( x ); cosines[ i ] = Math.cos( x);... Ainda estou para ver um problema que, por mais complicado que seja, ao analisa-lo pelo modo correto, não se tornasse ainda mais complicado. Paul Anderson 38
39 Exercícios Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o nome do candidato e inicializa o número de votos com zero. Exercícios Desenvolva um programa que cria um candidato com nome de sua escolha. Em seguida, deve ser lido um nome. Se o nome lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos. 39
40 Ousar é perder o equilíbrio momentaneamente. Não ousar é perder-se Soren Kierkegaard 40
Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos
Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado
Unidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Encapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:
O Paradigma Orientado a Objetos Paradigma e Programação Orientada a Objetos Prof. João Carlos Pinheiro [email protected] 1 Não é um paradigma no sentido estrito: é uma subclassificacão do imperativo
Programação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a
EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Programação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
POO Programação Orientada a Objetos. Classes em Java
+ POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos
Técnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Reuso com Herança a e Composiçã
Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:
3 Classes e instanciação de objectos (em Java)
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
Módulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming
Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados
Noções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
Java TM e o Modelo de Objetos
Java TM e o Modelo de Objetos Java Deployment Course: Aula 1 por Jorge H C Fernandes ([email protected]) DIMAp-UFRN Java e o Modelo de Objetos Objetivos desta Aula Introduzir conceitos básicos do modelo
Desenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos
Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Introdução à Orientação a Objetos Introdução Paradigmas de programação Programação Estruturada Composição
Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
Prof. Jhonatan Fernando
Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Profº. Enrique Pimentel Leite de Oliveira
Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Orientação a Objetos e Java
Orientação a Objetos e Java Daves Martins [email protected] Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características
Programação Orientada a Objetos em Java. Herança
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados
Programação Orientada a Objetos. Encapsulamento
Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências
Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes
Métodos de Construção de Software: Orientação a Objetos Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Problemas com Modelagem Funcional Falta de aproximação de conceitos com o mundo real
Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010
Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente
Guia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Projeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo
Introdução à Programação. Interface, Polimorfismo e Dynamic Binding
Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
BSI UFRPE Prof. Gustavo Callou [email protected]
BSI UFRPE Prof. Gustavo Callou [email protected] HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados
8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.
Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Herança. Alberto Costa Neto DComp - UFS
Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais
Roteiro do Programa e Entrada/Saída
Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de
Curso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Construção de novas Classes em Java. Classes Atributos Métodos Herança...
Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(
Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;
um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Algoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
Módulo 06 Desenho de Classes
Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.
Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)
pg. 1/6 Material de Apoio 5 Herança Observe o código das classes Fatorial e Fibonacci apresentados abaixo. class Fatorial { class Fibonacci { private int n, res; private int n, res; public Fatorial( int
Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?
Bibliografia Desenvolvimento Orientado a Objetos Prof.: Edson dos Santos Cordeiro LARMAN, Graig. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. STAA, Arndt von. Programação modular. Rio de Janeiro:
UML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação
FBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Revisão OO Básico. Orientação a Objetos em Java
Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a
15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido
PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.
Capítulo 3. Programação por objectos em Java
Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas
Tópicos em Engenharia de Computação
Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas
Aula 1 Tipo Abstrato de Dados
Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para
DEFINIÇÃO DE MÉTODOS
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos
3. PARADIGMA ORIENTADO A OBJETOS
Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a
Análise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Programação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO
Programação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
NetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33
PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos
OO -Objetos, classes, atributos, métodos, estado, comportamento e identidade (Slide) Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Introdução Programas eram lineares e com poucos
Exercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.
Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 13 Encapsulamento Objetivos do Capítulo Indicar a importância do mecanismo de encapsulamento no contexto do desenvolvimento de software utilizando a programação orientada a objetos. Apresentar
PHP INTRODUÇÃO CLASSES E OBJETOS
INTRODUÇÃO PHP AULA 8 ORIENTAÇÃO A OBJETOS Professor: Leonardo Pereira E-mail: [email protected] Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si A orientação a objetos ou OO é o paradigma
Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares
Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e
Padrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode
Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
A Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
UNIVERSIDADE FEDERAL DO PARANÁ
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos
Programação por Objectos. Java
Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,
Programação Orientada a Objetos em java. Polimorfismo
Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa
Orientação à Objetos. Aécio Costa
Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Padrão Básico de Projeto: Interfaces e Polimorfismo
Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação
public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.
import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)
Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação
Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 3 Prof. ISVega Fevereiro de 2004 Estilo de Codificação CONTEÚDO 3.1 Regras
Capítulo 8. Introdução UML
Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação
Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite
Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Linguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
