Programação por Objectos. Java
|
|
- Ana Carolina Sabina Caldeira Branco
- 8 Há anos
- Visualizações:
Transcrição
1 Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52
2 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode ser vista como generalização das subclasses. A herança é dita como uma relação is-a. As subclasses herdam os atributos e métodos das superclasses. Os métodos herdados podem ser modificados. Novos atributos e métodos podem ser adicionados às subclasses. LEEC@IST Java 2/52
3 Herança revisão O polimorfismo ocorre quando há múltipla definição, ou redefinição, de métodos da superclasse nas subclasses, com a mesma assinatura. Em OO o polimorfismo é normalmente implementado através de ligação dinâmica, i.e., o método a ser executado é determinado apenas em tempo de execução (e não em tempo de compilação). LEEC@IST Java 3/52
4 Herança revisão Na herança simples cada subclasse tem apenas uma superclasse (directa). Na herança múltipla uma subclasse pode ter mais do que uma superclasse (directa). Java 4/52
5 Herança (1) O Java adopta as seguintes estratégias na herança: Só há herança simples de classes. Todas as classes são subclasses de Object (explícita ou implicitamente). A subclasse herda todos os atributos e métodos das superclasses. Os construtores não são métodos, e por isso não são herdados. Os atributos private não são visiveis na subclass, os atributos protected e public mantem a mesma visibilidade. No caso de atributos e métodos sem qualificador de visibilidade (visibilidade de pacote), a subclasse herda estes atributos e métodos se estiver definida no mesmo pacote que a superclasse, e apenas neste caso. LEEC@IST Java 5/52
6 Herança (2) Se a subclasse declarar um método com o mesmo identificador e parâmetros (número e tipo) que uma das superclasses, então a subclasse redefine esse método. Se a subclasse declarar um atributo com o mesmo identificador que uma das superclasses, então o atributo da subclasse esconde o atributo da superclasse (mas continua a existir!) LEEC@IST Java 6/52
7 Herança (3) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif: qualificador (visibilidade, entre outros) Ident: identificador da classe extends IdentC: especialização de superclasse implements IdentI: realização de interfaces LEEC@IST Java 7/52
8 Herança (4) public class ContaPrazo extends Conta { private static float juro=0.05; private long inicio; private int intervalo; public void vencimentojuros() { long today = System.currentTimeMillis(); if(today==inicio+intervalo) { quantia *= (1+juro); inicio = today; LEEC@IST Java 8/52
9 Construtores em subclasses (1) É da responsabilidade da subclasse inicializar os atributos definidos na sua classe, assim como os atributos que herda das suas superclasses. O construtor da subclasse pode delegar a inicialização dos atributos herdados para a superclasse, chamando, implicita ou explicitamente, o construtor da superclasse. Um construtor da subclasse pode fazer uma chamada explícita dum construtor da superclasse através do super(). Se o construtor da superclasse tiver N parâmetros, estes devem ser passados na chamada explícita: super(param1,...,paramn). Se existir, a chamada explícita do construtor da superclasse deve ser a primeira instrução no construtor. LEEC@IST Java 9/52
10 Construtores em subclasses (2) Pode se chamar outro construtor da classe usando o this(parametros). Se nenhum construtor da superclasse é chamado, ou se nenhum construtor da classe é chamado, como primeira instrução do construtor, o construtor sem argumentos da superclasse é implicitamente chamado antes de qualquer instrução no construtor. Se a superclasse não tiver um construtor sem argumentos, é necessário chamar explicitamente um construtor da superclasse. Note que um construtor implícito é automaticamente criado se não existir mais nenhum construtor, mas apenas neste caso. LEEC@IST Java 10/52
11 Construtores em subclasses (3) public class A { protected int a; A() { a = 5; A(int var) { a = var; Não é necessário chamar explicitamentesuper() poissuper() é implicitamente chamado! public class DuplicaA extends A { DuplicaA () { a *= 2; DuplicaA (int var) { super(var); a *= 2; LEEC@IST Java 11/52
12 Construtores em subclasses (4) public class A { protected int número; A(int num) { número=num; public class B extends A { protected String nome= não-definido ; B() { super(-1); É necessário chamar explicitamente super(-1) pois a superclasse não tem construtor sem argumentos! B(int num) { super(num); B(int num, String str) { this(num); nome = str; LEEC@IST Java 12/52
13 Construtores em subclasses (5) Quando um objecto é criado, é afectada memória para todos os seus atributos, incluindo os herdados das superclasses. Os atributos são inicializados com um valor por omissão, dependendo do seu tipo. Após isto a construção tem 3 fases: 1. Chamar o construtor da superclasse (através de uma chamada implícita ou explícita). Se uma chamada a this(parametros) é encontrada então esta é efectuada e o processo reinicia-se no novo construtor. Se houver uma chamada super(parametros) é encontrada então é chamado o construtor da super classe correspondente. Caso contrário e chamado o constructor por defeito da super class. Este processo é repetido até chegar a object. LEEC@IST Java 13/52
14 Construtores em subclasses (6) Nesta fase, qualquer expressão que é passada como argumento ao construtor explícito não deve incluir nem atributos nem métodos do objecto a ser criado. 2. Inicializar os atributos (inicialização na declaração dos mesmos e através de blocos de inicialização). Nesta fase, referências para outros membros do objecto a ser criado são permitidas, desde que estas já tenham sido declaradas. 3. Chamar o corpo do construtor. LEEC@IST Java 14/52
15 Construtores em subclasses (7) Quando é criado um objecto do tipo B public class A { protected int a=1; protected int total; A() { total=a; public class B extends A { protected int b=2; B () { total+=b; a b total 1. Atributos com valores por omissão Construtor de B é chamado Constructor de A é chamado (super()) Construtor Object é chamado Inicialização dos atributos dea Execução do construtor dea Inicialização dos atributos deb Execução do construtor deb LEEC@IST Java 15/52
16 Herança e redefinição Numa classe derivada podem: ser adicionados novos atributos e métodos à classe. ser redefinidos métodos na classe. LEEC@IST Java 16/52
17 Herança e redefinição Um método da subclasse é considerado uma redefinição dum método da superclasse se: Ambos têm o mesmo identificador e parâmetros (número e tipo). O tipo de retorno é covariante: Se o tipo de retorno é uma referência, então o método redefinido pode declarar como tipo de retorno um subtipo do tipo de retorno do método da superclasse. Se o tipo de retorno é um tipo primitivo, então o tipo de retorno do método redefinido tem que ser idêntico ao tipo de retorno do método da superclasse. LEEC@IST Java 17/52
18 Herança e redefinição Um método só pode ser redefinido na subclasse se for visível da superclasse para a subclasse. Se um método definido na superclasse não é visível na subclasse então não é herdado. Se um método não é herdado, mesmo que um método com o mesmo identificador, mesmos parâmetros (número e tipo) e retorno covariante seja definido na subclasse, este método não é uma redefinição do método na superclasse. LEEC@IST Java 18/52
19 Herança e redefinição A visibilidade dos métodos redefinidos pode ser diferente da dos métodos da superclasse, mas apenas para dar mais acesso. Por exemplo, um método declarado na superclasse como protected pode ser redefinido protected ou public, mas não private ou com visibilidade de pacote. LEEC@IST Java 19/52
20 Herança e redefinição Um método de instância não pode ter o mesmo identificador tipo e número de parâmetros que um método estático herdado, e vice-versa, ou seja não podemos passar um método para estático ou não estático. Um método redefinido pode ser declarado abstracto, mesmo que o método da superclasse não o seja. LEEC@IST Java 20/52
21 Herança e redefinição A propriedade final dos parâmetros dum método duma superclasse, pode ser retirada ou colocada num método redefinido (trata-se apenas um detalhe de implementação). Um método redefinido pode ser declarado final, mas obviamente o método na superclasse não o poderia ser. LEEC@IST Java 21/52
22 Herança e redefinição A redefinição de métodos que substituem uma sequência de parâmetros por uma tabela é possível, mas é desanconselhável. Um método de argumento variável, com uma sequência de parâmetros T, tem a mesma assinatura que um método que converte essa última sequência de parâmetros na tabela T[]. LEEC@IST Java 22/52
23 Herança e redefinição Se um método definido numa subclasse tiver o mesmo identificador, mas diferente número ou tipo de parâmetros, que um método (visível) da superclasse então é uma sobreposição. Se um método definido numa subclasse tiver o mesmo identificador, mesmos número e tipo de parâmetros, mas o retorno não for covariante relativamente a um método (visível) da superclasse então existe um erro de compilação. LEEC@IST Java 23/52
24 Herança e redefinição Um atributo da superclasse que é declarado na subclasse com o mesmo nome (independentemente do tipo) é escondido. Não há redefinição de atributos, estes são sempre escondidos. O atributo da superclasse continua a existir, mas deixa de ser possível à subclasse aceder-lhe directamente. É necessário usar a referência super, ou outra referência para o objecto da superclasse, para aceder ao atributo escondido. LEEC@IST Java 24/52
25 Polimorfismo Numa hierarquia de classes, quando há redefinição de um método a sua implementação é substituída. Na presença de uma referência para um objecto na hierarquia de classes, a chamada sobre esse objecto ao método redefinido refere-se ao método de que classe? Quando um método é chamado através de uma referência para um objecto, a classe de instânciação do objecto (não necessariamente a classe de declaração) dita a implementação a ser usada. SuperClasse sub = new SubClasse(); classe de declaração de sub classe de instanciação de sub LEEC@IST Java 25/52
26 Polimorfismo A classe de declaração de um objecto é determinada em tempo de compilação. O compilador tem acesso a essa informação na própria declaração da referência. Conta conta = new ContaOrdem(); Conta conta;... //num outro ponto do programa conta = new ContaOrdem(); LEEC@IST Java 26/52
27 Polimorfismo A classe de instânciação de um objecto é determinada apenas em tempo de execução. A classe de instânciação pode sempre ser de uma classe mais abaixo na hierarquia, relativamente à classe declarada. A instanciação de um objecto pode ser feita num ponto do programa completamente diferente do ponto onde a declaração foi feita. Apenas o fluxo do programa dirá qual a classe de instanciação. Conta conta;... //num outro ponto do programa Conta = new ContaOrdem(); LEEC@IST Java 27/52
28 Polimorfismo public class Conta { protected String str = Conta ; public void imprime() { System.out.println( ComtaImprime(): +str); public class ContaOrdem extends Conta { protected String str = ContaOrdem ; public void imprime() { System.out.println( ContaOrdemImprime(): +str); LEEC@IST Java 28/52
29 Polimorfismo //... Continuação do slide anterior public static void main(string[] args) { ContaOrdem contaordem = new ContaOrdem(); Conta conta = contaordem; conta.imprime(); contaordem.imprime(); System.out.println( conta.str = +conta.str); System.out.println( contaordem.str = +contaordem.str ); No terminal é impresso: Notar que os métodos são redefinidos mas não os atributos ContaOrdemImprime(): ContaOrdem ContaOrdemImprime(): ContaOrdem conta.str = Conta contaordem.str = ContaOrdem LEEC@IST Java 29/52
30 Polimorfismo Relativamente ao slide anterior: A classe de declaração e instanciação de contaordem é contaordem. contaordem é tipo contaordem. contaordem contem um objecto contaordem. A classe de declaração de conta é Conta mas a instanciação de conta écontaordem. conta é tipo conta. Conta contem um objecto contaordem definido em memória. LEEC@IST Java 30/52
31 Polimorfismo Exemplo: num jogo existem três objectos Nave, Asteróide e Meteoro. Para uma das nove colisões possíveis pretende-se chamar um método diferente, determinado em tempo de compilação: Public abstract Classe ObjectoJogo { abstract colisão(objectojogo outro); LEEC@IST Java 31/52
32 Polimorfismo Public abstract Classe Nave { colisão(objectojogo outro){ outro.colisãocomnave(this); colisãocomnave(nave outro){ colisãocomasteroide(asteroide outro){ colisãocommeteoro(meteoro outro){ Public abstract Classe Asteroide { colisão(objectojogo outro){ outro.colisãocomasteroide(this); colisãocomnave(nave outro){ colisãocomasteroide(asteroide outro){ colisãocommeteoro(meteoro outro){ Public abstract Classe Meteoro { colisão(objectojogo outro){ outro.colisãocommeteoro(this); colisãocomnave(nave outro){ colisãocomasteroide(asteroide outro){ colisãocommeteoro(meteoro outro){ LEEC@IST Java 32/52
33 Referência super (1) A referência super está disponível em todos os métodos de instância duma subclasse. No acesso a atributos e chamada de métodos, a referência super funciona como uma referência vista como uma instância da superclasse. A chamada super.método usa sempre a implementação do método da superclasse (definido ou herdado). LEEC@IST Java 33/52
34 Referência super (2) public class SuperClasse { protected void nome() { System.out.println( SuperClasse ); public class SubClasse extends SuperClasse { protected void nome() { System.out.println( SubClasse ); LEEC@IST Java 34/52
35 Referência super (3) //... Continuação do slide anterior protected void imprimenome() { SuperClasse sup = (SuperClasse) this; System.out.print( this.nome(): ); this.nome(); System.out.print( sup.nome(): ); sup.nome(); System.out.print( super.nome(): ); super.nome(); No terminal é impresso this.nome(): SubClasse sup.nome(): SubClasse super.nome(): SuperClasse LEEC@IST Java 35/52
36 Membros estáticos (1) Os membros estáticos duma classe, atributos ou métodos, não podem ser redefinidos, são sempre escondidos. Se uma referência é usada para aceder aos membros estáticos, o membro a aceder é sempre determinado pela classe de declaração da referência. LEEC@IST Java 36/52
37 Membros estáticos (2) public class SuperClasse { protected static String str = SupCStr ; public static void imprime() { System.out.println( SuperCImprime(): +str); public class SubClasse extends SuperClasse { protected static String str = SubCStr ; public static void imprime() { System.out.println( SubCImprime(): +str); LEEC@IST Java 37/52
38 Membros estáticos (3) //... Continuação do slide anterior public static void main(string[] args) { SubClasse sub = new SubClasse(); SuperClass sup = sub; sup.imprime(); sub.imprime(); System.out.println( sup.str = +sup.str); System.out.println( sub.str = +sub.str; No terminal é impresso SupCImprime(): SupCStr SubCImprime(): SubCStr sup.str = SupCStr sub.str = SubCStr LEEC@IST Java 38/52
39 Conversão explícita (1) Um cast é usado para dizer ao compilador que uma expressão deve ser vista como tendo o tipo espeficicado pelo cast. Upcast: cast de um classe para outra acima na hierarquia de classes (de subclasse para superclasse, não necessariamente directa). Downcast: cast de uma classe para outra abaixo na hierarquia de classes (de superclasse para subclasse, não necessariamente directa). Se o objecto não pertencer a classe especificada é gerado um excepção de tempo de execução. O upcast é também conhecido como cast seguro, porque é sempre válido. No o downcast é verificado em tempo de execução. LEEC@IST Java 39/52
40 Conversão explícita (2) No Java, um atributo ou variável local de uma superclasse pode referenciar qualquer das suas subclasses. No entanto, só podem ser (directamente) chamados os atributos e métodos definidos na superclasse. Ou seja o objecto é tratado como se fosse da superclasse. public class A { void foo() { public class B extends A { void b() { public class Armazem { A var[] = new A[2]; void xpto(){ var[0] = new A(); var[0].foo(); var[1] = new B(); var[1].foo(); LEEC@IST Java 40/52
41 Conversão explícita (3) Relativamente ao exemplo anterior: Tanto var[0] como var[1] não têm acesso (directo) ao método foo() de B (mesmo tendo sido var[1] instanciado como um objecto de tipo B). No entanto, var[1] pode aceder ao método b() através dum downcast:((b)var[1]).b(); Se a subclasse B redefinir o método foo(), qual o código executado na chamada var[1].foo()? Executa-se sempre o método mais abaixo na hierarquia de classes, portanto a resposta correcta seria foo() de B (ver slide 25). LEEC@IST Java 41/52
42 Herança e sobreposição (1) Uma classe X diz-se compatível (assignment compatible) com uma classe Y se: X=Y, ou X é uma subclasse de Y (directa ou indirecta) Uma classe X é mais específica que classe Y X é uma subclasse de Y (directa ou indirecta) Z Y A compatibilidade também pode ser aplicada a tipos primitivos, usando-se neste caso a ordenação dada na conversão implícita dos mesmos: byte->short->int->long->float->double X LEEC@IST Java 42/52
43 Herança e sobreposição (2) Quando um método é chamado e há sobreposição de métodos, de tal forma que o tipo dos parâmetros dos métodos sobrepostos se encontram numa mesma hierarquia, o compilador escolhe o método mais específico (se existir). A determinação do método a chamar é feita em tempo de compilação, baseada no tipo declarado das referências passadas aos métodos, e no valor dos argumentos. Este processo determina apenas qual o método a chamar, não qual a implementação. Em tempo de execução, a classe de instanciação do objecto sobre o qual o método é chamado é que vai determinar qual a implementação do método, escolhido em tempo de compilação, que vai ser usada. LEEC@IST Java 43/52
44 Herança e sobreposição (3) Determinação do método mais específico: 1. Determinar a classe sobre a qual procurar pelo método. 2. Determinar todos os métodos dessa classe que possam ser aplicados: a) Métodos com visibilidade correcta. b) Métodos com o mesmo identificador. c) Métodos que possam receber o número de argumentos passados. d) Métodos cujos tipos dos parâmetros sejam compatíveis com os tipos declarados das referências passadas como argumento. LEEC@IST Java 44/52
45 Herança e sobreposição (4) 2. (cont.) A compatibilidade dos tipos em 2.d) é feita em 3 fases: i. A compatibilidade é considerada sem tentar nenhuma conversão de embrulho (boxingconversion), e sem considerar a possibilidade de número variável de argumento. ii. iii. Se 1. falhar, a compatibilidade é considerada com a possibilidade de conversão de embrulho (boxing conversion). Se 2. falhar, a compatibilidade é considerada com a possibilidade de número variável de argumentos. LEEC@IST Java 45/52
46 Herança e sobreposição (5) São eliminados todos os métodos m em todos os argumentos sejam superclasses dos argumentos de outro métodom todo. Ou seja aqueles em que exista um método com todos os argumentos mais específicos que os de outro método. Exemplo: O Método3 é eliminado porque todos seus argumento são super classes tanto Metodo1 como de Método2. Método2 e Método1 não são eliminados porque alguns dos seus argumentos são superclasses do outro enquanto que outros são subclasses. Nenhum dos métodos é definitivamente o mais especifico que outro e um erro de compilação será gerado. Chamada do método: foo( 123, abc ); Método1: Void foo(string a, Object b); Método2: Void foo(object a, String b); Método3: Void foo(object a, Object b); LEEC@IST Java 46/52
47 Herança e sobreposição (6) 4. Determinar o método a chamar: a) Se apenas um método foi escolhido em 3., esse método é o mais específico e é chamado. b) Se foi escolhido mais de um método em 3. temos duas hipóteses: i. Se os métodos têm assinaturas diferentes, a chamada é ambígua e o código que o chama é inválido. ii. Se os métodos têm a mesma assinatura temos três hipóteses: Se todos os métodos são abstractos, é escolhido um ao acaso. Se apenas um método não é abstracto, é escolhido esse método. De qualquer outra forma a chamada é ambígua e o código que o chama é inválido. LEEC@IST Java 47/52
48 Herança e sobreposição (7) Sobremesa Bolo Scone As seguintes chamadas: xpto(sobremesaref, sconeref); xpto(bolochocref, sobremesaref); xpto(bolochocref, sconeamanteigadoref); xpto(boloref, sconeref); xpto(sconeref, boloref); resultam na chamada de que forma do métodoxpto? BoloChocolate SconeAmanteigado void xpto(sobremesa d, Scone s) {... // 1ª forma void xpto(bolo c, Sobremesa d) {... // 2ª forma void xpto(bolochocolate cc, Scone s) {... // 3ª forma void xpto(sobremesa... ds) {... // 4ª forma LEEC@IST Java 48/52
49 Herança e sobreposição (8) Sobremesa Relativamente ao exemplo anterior: xpto(dessertref, sconeref); resulta na chamada da 1ª forma do métodoxpto. xpto(chocolatecakeref, dessertref); resulta na chamada da 2ª forma do métodoxpto. xpto(chocolatecakeref, butteredsconeref); resulta na chamada da 3ª forma do métodoxpto. xpto(cakeref, sconeref); é inválida. xpto(sconeref, cakeref); resulta na chamada da 4ª forma do métodoxpto. Bolo BoloCh ocolat e Scone Scone Amant eigad o LEEC@IST Java 49/52
50 Herança e sobreposição (9) No exemplo anterior, xpto(boloref, sconeref); é uma chamada inválida, contudo: Com o cast(sobremesa)boloref a chamada xpto((sobremesa)boloref, sconeref); resultaria na chamada da 1ª forma de xpto. Com o cast(sobremesa)sconeref a chamada xpto(boloref, (Sobremesa)sconeRef); resultaria na chamada da 2ª forma de xpto. LEEC@IST Java 50/52
51 Herança e sobreposição (10) void xpto(byte b) {... void xpto(short s) {... void xpto(int i) {... void xpto(long i) {... void xpto(float f) {... void xpto(double d) {... // 1ª forma // 2ª forma // 3ª forma // 4ª forma // 5ª forma // 6ª forma As seguintes chamadas: xpto(byteref); xpto(shortref); xpto(intref); xpto(longref); xpto(floatref); xpto(doubleref); resultam na chamada de que forma do método xpto? (cuidado com conversões de boxing e unboxing) LEEC@IST Java 51/52
52 Herança e sobreposição (11) Relativamente ao exemplo anterior: xpto(byteref); resulta na chamada da 1ª forma do métodoxpto. xpto(shortref); resulta na chamada da 3ª forma do métodoxpto. xpto(intref); resulta na chamada da 3ª forma do métodoxpto. xpto(longref); resulta na chamada da 5ª forma do métodoxpto. xpto(floatref); resulta na chamada da 5ª forma do métodoxpto. xpto(doubleref); resulta na chamada da 6ª forma do métodoxpto. LEEC@IST Java 52/52
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Leia maisProgramaçã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:
Leia maisCapí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
Leia maisJava 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
Leia maisProgramaçã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,
Leia maisProgramaçã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
Leia maisMó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.
Leia maisReuso 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:
Leia maisCapí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
Leia maisOrientação a Objetos e a Linguagem Java
Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1 Reutilizição com Herança e Composição Novembro/2006 2 Introdução Separar as partes que podem mudar das partes que
Leia maisHeranç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
Leia mais7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.
Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Leia maisUm 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,
Leia mais8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.
Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Leia maisAná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
Leia maisHerança. Algoritmos e Programação II. Aula 5 Herança
Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com
Leia maisProgramaçã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
Leia maisLinguagem 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
Leia maisATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Leia maisAula 3 Objeto atual com referencia THIS e Classes com Herança
Aula 3 Objeto atual com referencia THIS e Classes com Herança Profº Msc. Alexsandro M. Carneiro Engenharia de Computação Tec. Análise e Des. De Sistemas Tópicos Abordados Controlee de Acesso Herança Definição:
Leia maisA Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação
A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los
Leia maisEXERCÍ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
Leia maisCapítulo 4. Packages e interfaces
Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias
Leia maisTé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.
Leia maisCurso 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
Leia maisCapítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo
Leia maisLista 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:
Leia maisMó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
Leia maisProf. 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
Leia maisCurso 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
Leia maisNoçõ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
Leia maisImplementando 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
Leia maisProgramaçã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
Leia maisComandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Leia maisAná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
Leia maisExemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame
6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java
Leia maisPolimorfismo. Prof. Leonardo Barreto Campos 1
Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções
Leia maisProgramaçã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
Leia maisProgramação Orientada a Objetos C++
Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs
Leia maisCapítulo 5 Reuso de Classes
Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes
Leia maisProgramação com Objectos. Processamento de Dados I. 4. Classes Abstractas
Programação com Objectos Processamento de Dados I 4. Classes Abstractas 1 Conceito de classe abstracta Declaração de uma classe abstracta Implicações e características das classes abstractas Utilização
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 maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 6 Polimorfismo Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof.
Leia maisProgramaçã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
Leia maisJava Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
Leia maisConstruçã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(
Leia maisComputação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
Leia maisAlgoritmos 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
Leia maisConversão de Tipos e Arrays
Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter
Leia maisProgramaçã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
Leia maisMaterial 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
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato
Leia maisHERANÇA. Prog. Orientada a Objetos em Java
HERANÇA Prog. Orientada a Objetos em Java Lembrando: Acoplamento slide 2 O acoplamento se refere às ligações entre distintas unidades de um programa. Se duas classes dependem rigorosamente de muitos detalhes
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisProgramação Concorrente em java - Exercícios Práticos Abril 2004
Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente
Leia maisClasses, Superclasses e Subclasses
Herança Herança A idéia é criar novas Classes construindo-as sobre outras existentes Ao herdar de uma classe, reusamos (herdamos) seus métodos E podemos adicionar novos métodos e campos para adaptar a
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisPadrã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
Leia maisProva 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
Leia maisParadigmas 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
Leia maisUNIVERSIDADE 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
Leia maisLinguagem 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
Leia maisFUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO
FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO Dado que a UML é uma ferramenta inserida no paradigma da orientação a objetos, vamos rever alguns conceitos fundamentais, dentre os quais, destacamos: Classificação,
Leia maisExercí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
Leia maisProgramação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...
Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public
Leia mais3 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
Leia maisPOO 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
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETO EM PHP
PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas
Leia maisIntroduçã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
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br
Leia maisTópicos da Aula. Classes e Objetos. Classe Pública em Java. Classes em Java. Assinatura de Métodos. Corpo de Classes e Métodos. Conceitos de classe
DCC / ICEx / UFMG Tópicos da Aula Classes e Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Conceitos de classe Membros Construtores, métodos de classe e métodos de objeto, atributos de classe
Leia maisIntroduçã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)
Leia maisOrientaçã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
Leia maisProgramação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Classes Abstratas Técnico em Informática, M.Sc. Classes Abstratas 2 Classes Abstratas Abstração Devemos considerar as qualidades e comportamentos independentes dos objetos a que pertencem, isolamos seus
Leia mais15-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.
Leia maisJava. 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
Leia maisRevisã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
Leia maisAula 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
Leia maisSobre o Professor Dr. Sylvio Barbon Junior
5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005
Leia maisLinguagem de Programação III Herança
Linguagem de Programação III Herança Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Vantagens da orientação a objetos
Leia maisSlide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education
Java Como Programar, 8/E Slide 1 Slide 2 Slide 3 Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados ou, com
Leia maisÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.
PROGRAMAÇÃ ÇÃO COM OBJECTOS TUDO É UM OBJECTO Programação com Objectos ÍNDICE Introdução aos objectos Polimorfismo TUDO É UM OBJECTO Interface e classes internas Instruções de controlo Guardar os objectos
Leia maisLição 9 Trabalhando com bibliotecas de classes
Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus
Leia maisCurso 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
Leia maisBSI UFRPE Prof. Gustavo Callou gcallou@gmail.com
BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados
Leia maisProgramaçã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
Leia maisUnidade 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
Leia maisCurso Java Starter. www.t2ti.com 1
1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do
Leia maisKeeper of Knowledge. Capítulo 2 Classes em Java
Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisMó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
Leia maisProgramação por Objectos UML LEEC@IST UML 1/87
Programação por Objectos UML LEEC@IST UML 1/87 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo
Leia maisProgramação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço
Leia maisA ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
Leia maisProgramação por Objectos UML MEEC@IST UML 1/83
Programação por Objectos UML MEEC@IST UML 1/83 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo
Leia maisProjeto 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
Leia maisOrientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Leia maisModificador static e Pacotes. Alberto Costa Neto DComp - UFS
Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()
Leia mais