Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
|
|
- Milton Carrilho Alcântara
- 5 Há anos
- Visualizações:
Transcrição
1 Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br
2 Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de código? public void move(){ if(direcaoatual=='n') posicaoyatual = posicaoyatual+1; if(direcaoatual=='s') posicaoyatual public = posicaoyatual-1; void move(int passos){ if(direcaoatual=='l') if(direcaoatual=='n') posicaoxatual = posicaoxatual+1; posicaoyatual = posicaoyatual+passos; if(direcaoatual=='o') if(direcaoatual=='s') posicaoxatual = posicaoxatual-1; posicaoyatual = posicaoyatual-passos; if(direcaoatual=='l') posicaoxatual = posicaoxatual+passos; if(direcaoatual=='o') posicaoxatual = posicaoxatual-passos; 2
3 Relembre: Clase RoboSimples Podemos executar um método dentro do outro: O método move(int passos) pode ser invocado dentro do método move() sendo passos = 1 public void move(){ if(direcaoatual=='n') posicaoyatual = posicaoyatual+1; if(direcaoatual=='s') posicaoyatual public = posicaoyatual-1; void move(int passos){ if(direcaoatual=='l') if(direcaoatual=='n') posicaoxatual = posicaoxatual+1; posicaoyatual = posicaoyatual+passos; if(direcaoatual=='o') if(direcaoatual=='s') posicaoxatual = posicaoxatual-1; posicaoyatual = posicaoyatual-passos; if(direcaoatual=='l') posicaoxatual = posicaoxatual+passos; if(direcaoatual=='o') posicaoxatual = posicaoxatual-passos; 3
4 Relembre: Clase RoboSimples Podemos executar um método dentro do outro: O método move(int passos) pode ser invocado dentro do método move() sendo passos = 1 public void move(){ move(1); public void move(int passos){ if(direcaoatual=='n') posicaoyatual = posicaoyatual+passos; if(direcaoatual=='s') posicaoyatual = posicaoyatual-passos; if(direcaoatual=='l') posicaoxatual = posicaoxatual+passos; if(direcaoatual=='o') posicaoxatual = posicaoxatual-passos; 4
5 Palavra-chave this Ou seja, pode-se chamar (i.e. invocar, executar) métodos dentro de outros métodos; Entretanto, com construtores não funciona assim Nestes casos, pode-se usar a palavra-chave this; A palavra-chave this cria uma auto-referência para cada instância do objeto da classe. 5
6 Palavra-chave this Para chamar um construtor dentro do outro, utiliza-se a palavra-chave this no lugar do construtor! RoboSimples(String n, int px, int py, char d){ nomedorobo = n; posicaoxatual = px; posicaoyatual = py; direcaoatual = d; RoboSimples(String n){ nomedorobo = n; posicaoxatual = 0; posicaoyatual = 0; direcaoatual = 'N'; RoboSimples(){ nomedorobo = ; posicaoxatual = 0; posicaoyatual = 0; direcaoatual = 'N'; 6
7 Palavra-chave this Para chamar um construtor dentro do outro, utiliza-se a palavra-chave this no lugar do construtor! RoboSimples(String n, int px, int py, char d){ nomedorobo = n; posicaoxatual = px; posicaoyatual = py; direcaoatual = d; RoboSimples(String n){ this(n, 0, 0, 'N'); RoboSimples(){ this(, 0, 0, 'N'); 7
8 Palavra-chave this Para chamar um construtor dentro do outro, utiliza-se a palavra-chave this no lugar do construtor! 1 RoboSimples(String n, int px, int py, char d){ nomedorobo = n; posicaoxatual = px; posicaoyatual = py; direcaoatual = d; RoboSimples(String n){ this(n, 0, 0, 'N'); RoboSimples(){ this(, 0, 0, 'N'); O construtor 1 é chamado completo Inicializa explicitamente todos os campos da classe com argumentos passados; 8
9 Palavra-chave this Para chamar um construtor dentro do outro, utiliza-se a palavra-chave this no lugar do construtor! 1 RoboSimples(String n, int px, int py, char d){ nomedorobo = n; posicaoxatual = px; posicaoyatual = py; direcaoatual = d; RoboSimples(String n){ this(n, 0, 0, 'N'); RoboSimples(){ this(, 0, 0, 'N'); 2 O construtor 2 recebe apenas o nome e delega ao construtor 1 a inicialização dos outros campos; 9
10 Palavra-chave this Para chamar um construtor dentro do outro, utiliza-se a palavra-chave this no lugar do construtor! 1 RoboSimples(String n, int px, int py, char d){ nomedorobo = n; posicaoxatual = px; posicaoyatual = py; direcaoatual = d; RoboSimples(String n){ this(n, 0, 0, 'N'); RoboSimples(){ this(, 0, 0, 'N'); 2 3 O construtor 3 faz a mesma coisa que o construtor 2, mas passando uma String vazia como sendo o nome; 10
11 Palavra-chave this ATENÇÃO: construtores não podem ser chamados indiscriminadamente de dentro de qualquer método!!! Existem regras para chamada de construtores: 1) Somente construtores podem chamar construtores; 2) A chamada de um construtor a partir de outro deve ser a primeira linha de código dentro do corpo do construtor; 3) Construtores são chamados por this; 4) Contrutores podem chamar outros métodos; 5) Construtores não podem ser chamados recursivamente; 11
12 Outros usos de this this também pode ser usada para referenciar métodos e campos de uma instância; É bastante utilizado quando argumentos de um método ou construtor possuem o mesmo nome dos campos da classe Neste caso o uso é obrigatório, embora sua omissão não gera erro de compilação; 12
13 Outros usos de this Como o compilador vai saber inicializar os campos no construtor Musica(String titulo, String cantor)? public class Musica{ String titulo; String cantor; Musica(String titulo, String cantor){ titulo = titulo; cantor = cantor; 13
14 Outros usos de this Como o compilador vai saber inicializar os campos no construtor Musica(String titulo, String cantor)? public class Musica{ String titulo; String cantor; Musica(String titulo, String cantor){ this.titulo = titulo; this.cantor = cantor; 14
15 Resumo sobre sobrecarga Programador usuário: Facilita o trabalho: Chama o método adequado aos dados que quer passar; Programador de classes: Deve definir que métodos e que argumentos estarão disponíveis para o programador usuário; 15
16 Exemplo: classe Tempo public class Tempo{ int hora, minuto, segundo; Tempo( ){ this(0, 0, 0); Tempo(int h){ this(h, 0, 0); Tempo(int h, int m){ this(h, m, 0); Tempo(int h, int m, int s){ this.hora = h; this.minuto = m; this.segundo = s; Tempo(Tempo t){ this.hora = t.hora; this.minuto = t.minuto; this.segundo = t.segundo; 16
17 Campos e métodos estáticos Modificar os campos de uma instância de uma classe afeta os valores dos mesmos campos de outra instância da mesma classe? Não! Isso, porque, objetos diferentes reservam espaços diferentes na memória do computador! Essa é uma das características mais úteis das linguagens OO! 17
18 Campos e métodos estáticos Por vezes, pode ser necessário que um campo tenha seu valor compartilhado por todas as instâncias de determinada classe! Esse mecanismo pode ser útil para algum tipo de controle interno do sistema; Para isso estudaremos os campos e os métodos estáticos das classes! 18
19 Campos estáticos Campos estáticos de uma classe são compartilhados por todas as instâncias dessa classe; Ou seja, somente um valor será armazenado em um campo estático Esse valor não será armazenado como parte do objeto (da instância); A mudança do valor de um campo estático será refletida em todas as outras instâncias da classe. 19
20 Campos estáticos Campos estáticos são definidos com o modificador static Deve ser declarado antes do tipo de dado do campo; Pode ser combinado com modificadores de acesso, como public e private; Campos estáticos são também conhecidos como campos de classes Isso, porque eles podem ser acessados diretamente usando o nome da classe, sem instanciar um objeto da classe; Em contraste, campos que podem ter diferentes valores para cada instância (ou seja, não estáticos), são conhecidos como campos de instância. 20
21 Campos estáticos - exemplos Considere o problema de simulação de um caixa de banco: Nesse banco não existe um sistema de senhas ou fila única; Cada caixa tem que gerenciar qual o próximo cliente; C1 C2 C3 C4 C5 21
22 Campos estáticos - exemplos Este exemplo pode ser representado pela classe CaixaIndependente public class CaixaIndependente{ private int senhadocliente; private int iddocaixa; CaixaIndependente(int id){ iddocaixa = id; senhadocliente = 0; System.out.println( Caixa + iddocaixa + iniciou a operação. ); public void proximoatendimento(){ senhadocliente= senhadocliente + 1; System.out.println( Cliente com a senha + senhadocliente + favor dirigir-se ao caixa + iddocaixa +. ); 22
23 Campos estáticos - exemplos A classe CaixaIndependente pode ser utilizada como demonstrado na classe Banco public class Banco{ C1 C2 C3 C4 C5 public static void main(string args[]){ CaixaIndependente c1 = new CaixaIndependente(1); CaixaIndependente c2 = new CaixaIndependente(2); CaixaIndependente c3 = new CaixaIndependente(3); CaixaIndependente c4 = new CaixaIndependente(4); CaixaIndependente c5 = new CaixaIndependente(5); c1.proximoatendimento(); c2.proximoatendimento(); c3.proximoatendimento(); c4.proximoatendimento(); c5.proximoatendimento(); c1.proximoatendimento(); c2.proximoatendimento(); c3.proximoatendimento(); c1.proximoatendimento(); 23
24 Campos estáticos - exemplos Considere agora que será implementado um sistema de senhas, ou seja, de fila única: Assim, o caixa não mais se preocupará em gerenciar as senhas. A gerência da senha é feita por um atributo estático Seu valor é conhecido por todas as instâncias da classe, ou seja, por todos os caixas. C1 C2 C3 C4 C5 24
25 Campos estáticos - exemplos public class CaixaFilaUnica{ static private int senhadocliente; private int iddocaixa; Este CaixaFilaUnica(int exemplo pode id){ ser representado pela classe iddocaixa CaixaFilaUnica = id; senhadocliente = 0; System.out.println( Caixa + iddocaixa + iniciou a operação. ); public void proximoatendimento(){ senhadocliente= senhadocliente + 1; System.out.println( Cliente com a senha + senhadocliente + favor dirigir-se ao caixa + iddocaixa +. ); 25
26 Prática Reimplemente a classe Banco de modo que ela instancie agora objetos da classe CaixaFilaUnica; C1 C2 C3 C4 C5 26
27 Campos estáticos Podemos ver, portanto, que instâncias de uma classe que possui um campo estático compartilham o mesmo valor É o caso dos objetos da classe CaixaFilaUnica e o campo senhadocliente; É comum se utilizar de campos estáticos para criação de constantes Constantes são campos que não mudam seu valor; Constantes são comumente acessadas através da classe, e não através de instâncias da classe. 27
28 Exemplo de classe de Constantes A classe ConstantesMatematicas contém valores que são constantes: public class ConstantesMatematicas{ final static public double raizde2 = 1.41; final static public double raizde3 = 1.73; final static public double raizde5 = 2.23; final static public double raizde6 = raizde2*raizde3; final static public double pi = 3.14; A classe ConstantesMatematicas não contém métodos, e todos os campos são declarados como static Não é necessário criar instâncias dessa classe para acessar seus valores. 28
29 Exemplo de classe de Constantes A classe ConstantesMatematicas contém valores que são constantes: public class ConstantesMatematicas{ final static public double raizde2 = 1.41; final static public double raizde3 = 1.73; final static public double raizde5 = 2.23; final static public double raizde6 = raizde2*raizde3; final static public double pi = 3.14; Os campos são declarados também como final Campos final não podem ser modificados. 29
30 Exemplo de classe de Constantes A classe DemoConstantesMatematicas demonstra o uso dos campos estáticos da classe ConstantesMatematicas: public class DemoConstantesMatematicas{ public static void main(string args[]){ ConstantesMatematicas const1 = new ConstantesMatematicas(); ConstantesMatematicas const2 = new ConstantesMatematicas(); System.out.println(const1.raizDe2 == const2.raizde2); System.out.println(const1.raizDe3 == const2.raizde3); System.out.println(const1.raizDe4 == const2.raizde4); System.out.println(const1.raizDe5 == const2.raizde5); System.out.println(const1.raizDe6 == const2.raizde6); double raizde10 = ConstantesMatematicas.raizDe2 * ConstantesMatematicas.raizDe5; System.out.println( A raiz quadrada de 10 é + raizde10); 30
31 public class DemoConstantesMatematicas{ public static void main(string args[]){ ConstantesMatematicas const1 = new ConstantesMatematicas(); ConstantesMatematicas const2 = new ConstantesMatematicas(); System.out.println(const1.raizDe2 == const2.raizde2); System.out.println(const1.raizDe3 == const2.raizde3); System.out.println(const1.raizDe4 == const2.raizde4); System.out.println(const1.raizDe5 == const2.raizde5); System.out.println(const1.raizDe6 == const2.raizde6); Exemplo de classe de Constantes double raizde10 = ConstantesMatematicas.raizDe2 * ConstantesMatematicas.raizDe5; System.out.println( A raiz quadrada de 10 é + raizde10); Valores constantes são iguais para todas as instâncias da classe ConstantesMatematicas; 31
32 public class DemoConstantesMatematicas{ public static void main(string args[]){ ConstantesMatematicas const1 = new ConstantesMatematicas(); ConstantesMatematicas const2 = new ConstantesMatematicas(); System.out.println(const1.raizDe2 == const2.raizde2); System.out.println(const1.raizDe3 == const2.raizde3); System.out.println(const1.raizDe4 == const2.raizde4); System.out.println(const1.raizDe5 == const2.raizde5); System.out.println(const1.raizDe6 == const2.raizde6); Exemplo de classe de Constantes double raizde10 = ConstantesMatematicas.raizDe2 * ConstantesMatematicas.raizDe5; System.out.println( A raiz quadrada de 10 é + raizde10); A criação de instâncias de uma classe onde todos os campos são declarados como static não é necessária Pode-se acessar os campos diretamente através do nome da classe, já que são public 32
33 Métodos Estáticos São declarados com modificador static, que deve preceder o tipo de retorno do método; Pode ser combinado com modificadores de acesso; Podem ser chamados sem a necessidade de criação de instâncias de classes às quais pertencem. 33
34 Aplicação: métodos independentes Métodos estáticos podem ser utilizados para implementar rotinas que sejam independentes de dados armazenados em classes Ou seja, métodos que fazem uso, apenas, dos dados passados como argumentos. public static int elevaa2(int a){ return a*a; 34
35 Aplicação: o método main O método main é o método estático mais conhecido; Permite que uma classe seja executada como uma aplicação ou programa; Se uma classe Teste tem um método main declarado, não precisamos criar instâncias de Teste para executar o método main. 35
36 Aplicação: biblioteca de métodos É a aplicação mais frequente de métodos estáticos; Classes que contêm somente métodos estáticos, geralmente agrupados por função; Por exemplo: Classe que contém métodos para calcular várias conversões de unidades de cumprimento. 36
37 Exemplo: ConversaoUnidades A classe ConversaoUnidades contém vários métodos estáticos que convertem unidades de comprimento. public class ConversaoUnidades{ public static double polparacm(double pol){ double cm = pol*2.54; return cm; public static double pesparacm(double pes){ double cm = pes*30.48; return cm; public static double milhasparakm(double milhas){ double km = milhas*1.609; return km; 37
38 public class ConversaoUnidades{ public static double polparacm(double pol){ double cm = pol*2.54; return cm; Exemplo: ConversaoUnidades public static double pesparacm(double pes){ double cm = pes*30.48; return cm; public static double milhasparakm(double milhas){ double km = milhas*1.609; return km; Essa classe não tem campos, e todos os seus métodos são declarados como static; Não é necessário criar instâncias desta classe para usar estes métodos; Para que esses métodos possam ser acessados de qualquer lugar, eles são declarados como public. 38
39 Exemplo: ConversaoUnidades A classe TestaConversao demonstra o uso dos métodos de ConversaoUnidades public class TestaConversao{ public static void main(string args[]){ ConversaoUnidades conv = new ConversaoUnidades(); System.out.println( 20 pés = + conv.pesparacm(20) + centímetros. ); System.out.println( 5 pol = + conv.polparacm(5) + centímetros. ); System.out.println( 20 pés = + ConversaoUnidades.pesParaCm(20) + centímetros. ); System.out.println( 5 pol = + ConversaoUnidades.polParaCm(5) + centímetros. ); 39
40 public class TestaConversao{ Exemplo: ConversaoUnidades public static void main(string args[]){ ConversaoUnidades conv = new ConversaoUnidades(); System.out.println( 20 pés = + conv.pesparacm(20) + centímetros. ); System.out.println( 5 pol = + conv.polparacm(5) + centímetros. ); System.out.println( 20 pés = + ConversaoUnidades.pesParaCm(20) + centímetros. ); System.out.println( 5 pol = + ConversaoUnidades.polParaCm(5) + centímetros. ); Nota-se que não é necessário criar uma instância de ConversaoUnidades para acessar seus métodos Até se conv fosse inicializada com null, o código funcionária!!! 40
41 Atenção!!! Variáveis declaradas dentro de métodos estáticos serão automaticamente estáticas; Métodos estáticos não podem invocar métodos não estáticos da classe sem que a classe seja instanciada; 41
42 Exemplos A classe CalculoPrecoTerreno calcula o preço de um terreno baseado em sua área e localização; O cálculo é feito por um método estático da classe, permitindo sua reutilização. public class CalculoPrecoTerreno{ public static void main(string args[]){ double preco; System.out.println( O preço do terreno N1 é ); preco = precodoterreno(450,1); System.our.println(preco); System.out.println( O preço do terreno Q2 é ); preco = precodoterreno(475m4); System.our.println(preco); 42
Linguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Leia maisAtributos e Métodos Estáticos
Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos
Leia maisProgramação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização
Leia maisParadigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 3 Abstração Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Leia maisEncapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisEsta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Leia maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisLinguagem de Programação Orientada a Objeto Construtores e Sobrecarga
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisRelacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos
Leia maisConceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
Leia maisC com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Leia maisInterfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Leia maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Leia maisClasses e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010
Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisClasses, Métodos e Propriedades
Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisAnálise de Programação
Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisArray em Java. Figura 1 - Exemplo de um array de inteiros
Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:
Leia maisProgramaçã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 maisAula 6 POO 1 Construtores. Profa. Elaine Faria UFU
Aula 6 POO 1 Construtores Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisProgramação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
Leia maisNamespaces, Classes e Métodos.
. Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de
Leia maisProgramação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III
Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços
Leia maisFundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisOrientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento
Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes
Leia maisEx: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)
Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo
Leia maisAlgoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisAtributos e Métodos de Classe
Algoritmos e Programação II Aula 5 Atributos e Métodos de Carga *Adaptado do material do Prof. Júlio Machado e Profa. Isabel Manssour Atributos e Métodos de Classe Java permite declarar duas categorias
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisClasses, instâncias e métodos de acesso. prática
Classes, instâncias e métodos de acesso prática Exercício 01 Crie a classe Ponto que possui duas dimensões (int x, int y). Crie os métodos get e set. Faça o main para instanciar e testar a classe. Adicione
Leia maisProgramação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert
Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que
Leia maisFundamentos de programação
Fundamentos de programação Métodos Modularização de código Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é um método? Um método é um trecho de código identificado Possuem um
Leia maisCONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Leia maisDCC / ICEx / UFMG. Membros de Classes. Eduardo Figueiredo.
DCC / ICEx / UFMG Membros de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Membros de Uma Classe Construtor Métodos De classe De objeto Variáveis De classe De Objeto Constantes Construtores
Leia maisEspecificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisIntrodução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.
Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
Leia maisMódulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)
Módulo 5 Programação Orientada a Objetos Programação Orientada a Objetos I Java (Rone Ilídio) Programação Orientada a Objetos Registro em Pascal: Type Cliente = Record Nome: String; Telefone: String; Idade:
Leia maisClasses abstratas: não podem ser instanciadas. Poderoso Mecanismo de Abstração:
Classes abstratas: não podem ser instanciadas Poderoso Mecanismo de Abstração: Permite a herança do código sem violar a noção de subtipo Diz o que deve ter a subclasse, mas não diz como! A classe abstrata:
Leia maisSobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
Leia maisFundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes
Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações
Leia maisProgramação Orientada a Objetos em Java
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Classes e Objetos, Construtores e Desconstrutores, Atributos e
Leia maisProgramação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos. Departamento de Informática Prof. Anselmo C.
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
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisVetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli
Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisProgramação Orientada a Objetos SANTOS, Rafael
Programação Orientada a Objetos SANTOS, Rafael Neste capítulo e nos seguintes serão usados intensamente os conceitos básicos de OO e da linguagem estudados até agora, com ênfase para os de número 1, 2
Leia maisMétodos em Java. Prof. Esp. André Aparecido da Silva (Aulas 31 a 33) Disponível em:
Métodos em Java Prof. Esp. André Aparecido da Silva (Aulas 31 a 33) Disponível em: http://www.oxnar.com.br/aulas/java/ Os métodos são conhecidos como funções, ações de execuções ou procedimentos, sendo
Leia maisfinal class UltimosDiasMeses{ static final int[] DIAS_DO_MES = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; }
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP1 1 semestre de 2017. Nome Assinatura Observações:
Leia maisClasses o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Leia maispackage especificadores1; public class Alpha { public static void alphapublic(){ System.out.println("Alpha public!"); }
package especificadores1; public class Alpha { public static void alphapublic(){ System.out.println("Alpha public!"); protected static void alphaprotected(){ System.out.println("Alpha protected!"); static
Leia maisGenéricos. Profa. Thienne Johnson EACH/USP
Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,
Leia maisThreads. O que é uma Thread? Paralelismo
Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisEstrutura de Dados Funções e Procedimentos
Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisAtribuições: Valores, Ponteiros e Referências
Atribuições: Valores, Ponteiros e Referências Estruturas de Dados Prof. Vilson Heck Junior Sobre Variáveis Aprendemos, em introdução à programação, que possuem 3 partes mais importantes: Nome; Tipo de
Leia maisConstrutores e Especificadores de Acesso
Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação
Leia maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Sobrecarga de Métodos e Palavras Reservadas: this, static e final Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Sobrecarga de Métodos Métodos sobrecarregados devem
Leia maisProgramação I Funções. Prof. Carlos Alberto
Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções
Leia maisModificadores de Acesso e Atributos de Classe
Modificadores de Acesso e Atributos de Classe 1 Controlando o acesso p Um dos problemas mais simples que temos no nosso sistema de contas é que o método saca permite sacar mesmo que o limite tenha sido
Leia maisIntrodução à Programação. Conceitos Básicos de Orientação a Objetos
Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1
Leia maisDados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Leia maisClasse Interna (Inner)
Classe Interna (Inner) Primeira versão da linguagem não possuia esse conceito, autores consideravam um complicador para linguagem; A partir da versão 1.1 o conceito foi introduzido; Verificou-se que o
Leia maisProgramação Orientada aos Objectos I
Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisDesenvolvimento Modular de Procedimentos
Desenvolvimento Modular de Procedimentos Em Java os Procedimentos implementam-se com Métodos Desenho Modular de Procedimentos A melhor metodologia para o desenvolvimento de procedimentos com alguma dimensão
Leia maisJava - Sobrecarga/Composição
Java - Sobrecarga/Composição BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Métodos static Embora os métodos sejam executados em resposta a chamadas
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA
Leia maisProgramação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011
Programação Orientada por Objectos 2010/11 2º Exame 28 de Junho de 2011 Instruções (leia com cuidado): Escreva de forma CLARA o seu nome e número em todas as folhas. O exame contém 8 páginas dividido em
Leia maisRESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de
Leia maisUNIFEI Disciplina Professor
UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO02 Enganharia de Software II Enzo Seraphim Nota de aula de Java Encapsulamento
Leia maisInstituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA
Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA 01) A negação de eu não gosto de acordar cedo e eu sou
Leia maisProgramação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia mais