Linguagem de Programação III

Documentos relacionados
Linguagem de Programação III

Classes e Objetos. Sintaxe de classe em Java

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Linguagem de Programação II Implementação

Linguagem de Programação III

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Linguagem de Programação III

Array em Java. Figura 1 - Exemplo de um array de inteiros

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Linguagem de Programação II Implementação

Análise de Programação

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Conceitos Básicos da Programação OO

Palavras Reservadas da Linguagem Java

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Universidade Estadual de Santa Cruz

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos

Orientação a Objetos e Java

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Programação Orientada a Objetos

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

Classes, Métodos e Propriedades

Programação Orientada a Objetos (DPADF 0063)

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Linguagem C Princípios Básicos (parte 1)

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

AULA 6 - ARRAYS. Array de 10 elementos

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Lição 7 Array em Java

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

Laboratório de Programação II

Programação por Objectos. Java

Métodos Computacionais

Programação Orientada a Objeto (POO)

1 Introdução e Conceitos básicos

Programação Orientada a Objetos Introdução a POO

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Revisão C++ - Parte 1

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Linguagem de Programação I. Aula 10 Funções

Introdução à Programação

Programação: Vetores

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

CURSO DE POO COM JAVA

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

C++ - Funções. Forma geral das funções C++

Estrutura de Dados Funções e Procedimentos

Linguagem de programação Java

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

Introdução ao Java. Prof. Herbert Rausch Fernandes

Programação Orientada a Objetos

Relacionamentos entre objetos

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

COMPORTAMENTOS - Observações

Ponteiros de Variáveis

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Transcrição:

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 Sintaxes de atributos e métodos Criando instâncias de classes Aplicativos em Java

Na Aula de Hoje Inicialização dos atributos de uma classe Construtores de objetos em Java Sobrecarga de métodos Declaração de atributos static de uma classe (que serão compartilhados entre todas as instâncias). Métodos static (que não precisam de instâncias da classe para ser executados).

Valores Padrão dos Atributos boolean: São inicializados como false char: São inicializados com o caractere Unicode zero que representa um espaço. byte, short, long, int, float, double: São inicializados como zero. Instâncias: São inicializadas como null.

Criando Instâncias da Classe Até agora criamos instâncias da classe com a cláusula new e depois utilizamos métodos para inicializar seus atributos. Isto pode gerar conflitos na hora de criar as instâncias se o programador não lembrar de chamar os métodos de inicialização. Por que então não inicializar as instâncias no momento que estão sendo criadas?

Construtores Construtores são métodos especiais, que são chamados automaticamente quando quando instâncias da classe são criadas, através da cláusula new. Já que os construtores são executados antes que qualquer método da classe, criar eles de forma apropriada garante que os atributos da instâncias são inicializados apropriadamente, ou seja, que eles tenham o valor desejado e não o valor padrão.

Construtores Devem ter exatamente o mesmo nome da classe a que pertencem. Não devem retornar nenhum valor, nem mesmo void, portanto devem ser declarados sem tipo de retorno. Não devem receber modificadores de acesso. Eles serão públicos se a classe for pública. Nunca podem ser chamados diretamente, somente através da cláusula new quando a instância for criada.

Construtores Quando as classe criadas pelo programador não têm um construtor declarado explicitamente o compilador Java cria um construtor padrão O construtor padrão não recebe argumentos nem executa qualquer código e inicializa os atributos com valores padrão. Quando o programador cria um construtor o compilador não inclui o construtor padrão.

Construtores Criar uma instância de uma classe pode precisar ser feito de formas diferentes em função de que atributos tem que ser inicializados e em que forma. Já constatamos que métodos para inicializar os atributos podem gerar confusão na hora de serem utilizados no futuro. Em Java podemos implementar diferentes versões do construtor da classe utilizando a sobrecarga de métodos, uma ferramenta de programação típica de POO.

Sobrecarga de Métodos Java (e outras linguagens orientadas a objeto) permite a criação de métodos com nomes iguais, contanto que sua assinatura seja diferente. A assinatura de um método é composta pelo seu nome mais os tipos dos argumentos passados para este método, independente dos nomes utilizados para estes atributos. O tipo que retorna o método não é considerado parte da assinatura. A possibilidade de criar métodos com mesmo nome e assinaturas diferentes é conhecida como sobrecarga de métodos

Sobrecarga de Métodos void inicializadata(byte d, byte m, short a) void inicializadata(data data) void inicializadata(data data, int incdias) boolean inicializadata(data data) public int maior(ina a, int b) public float maior(float a, float b) public float maior(float x, float y)

Clausula this Somente construtores podem chamar construtores como sub-rotinas. Se um construtor for chamado a partir de outro, a chamada deve ser a primeira linha de código do construtor. Construtores são chamados utilizando a cláusula this. Construtores não podem ser chamados recursivamente.

Instâncias de uma Classe Cada objeto ou instância de uma classe tem uma cópia de todos os atributos declarados nela. Os atributos de uma determinada instância são independentes dos de outra. Até agora não foi apresentado nenhum mecanismo que permita compartilhar informações entre as instâncias de uma classe.

Exemplos C1 C2 C3 C4 C5

Exemplos C1 C2 C3 C4 C5

Atributos static Java permite que campos numa classe sejam declarados como static. Isto significa que independentemente de quantas instâncias da classe sejam criadas, somente um valor será armazenado para cada atributo declarado desta forma. O modificador static se utiliza quando: Queremos compartilhar um atributo entre as instâncias da classe, Queremos criar constantes que serão utilizadas por todas as instâncias da classe.

Atributos static Para criar constantes a ser utilizadas por todas as instâncias da classe é recomendável também utilizar o modificador final. O modificador final, quando utilizado na declaração do atributo, faz com que o valor atribuído a ele não seja modificado no futuro. Já que os atributos declarados como final não podem ser modificados eles podem ser declarados como public. Desta forma se pode acessar diretamente a estes atributos sem ter que criar instâncias desta classe.

Métodos static Métodos de classes também podem ser declarados com o modificador static. Os métodos static, também conhecidos como métodos da classe, tem como principal característica que eles podem ser chamados sem criar uma instância da classe. Métodos static são utilizados para: Implementar a função main dos aplicativos. Implementar rotinas que não dependam dos atributos da classe e que gerem o mesmo resultado independentemente de qual instância seja usada. Métodos static são muito utilizados para criar bibliotecas de métodos.

Exercício Os professores da Astro-Física estão interesados em criar um sistema para catalogar os diferentes corpos selestes em estudo. Os Físicos querem que o sistema permita atribuir a cada novo corpo um ID incremental, um nome e uma referência ao corpo celeste que está no centro da orbita. Vamos criar um modelo destes corpos celestes e implementar ele numa classe em Java.