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

Documentos relacionados
Programação Orientada a Objetos

Classe. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos

Classes e Objetos. Sintaxe de classe em Java

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

COMPORTAMENTOS - Observações

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

Conceitos Básicos da Programação OO

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

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

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

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

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

Herança e Propriedades

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

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Programação Orientada a Objetos

Análise de Programação

Linguagem de Programação III

Técnicas de Programação:

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

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

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

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Atributos e Métodos Estáticos

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Estrutura de Dados Funções e Procedimentos

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

Relacionamentos entre objetos

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Programação Orientada a Objetos

Programação Orientada aos Objectos I

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica

Linguagem de Programação II Implementação

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

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

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

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

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

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

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Linguagem de Programação II Implementação

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

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Aula 04 Introdução à Programação Orientada à Objetos

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

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama]

Linguagem de Programação III

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Laboratório de programação II

E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O

Linguagem de programação Programação Orientada a objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

1 Introdução e Conceitos básicos

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

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

LINGUAGEM DE PROGRAMAÇÃO

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

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

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Lição 7 Array em Java

Aprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

AULA 15 CONSTRUTORES. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

DATA ACCESS OBJECT (DAO)

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

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

Classes e Encapsulamento

Orientação a Objetos e Java

Programação Orientada a Objetos

Programação Orientada a Objetos para Redes de Computadores

Visibilidade e Encapsulamento

Transcrição:

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; Aprender o conceito de instância e referência de objetos; Aprender a criar métodos estáticos; Saber aplicar a sobrecarga de métodos.

Plano de Aula Revisão Conceitos Classes e Objeto Construtor e Instanciação Construtor padrão; Instância e referência de objeto; Destruição de Objeto; Igualdade de Objeto Métodos Métodos: parâmetros e retorno Método que referencia o próprio objeto; Métodos acessadores e modificadores Sobrecarga de Método

Revisão Conceitos: Classes e Objeto Classes São especificações para objetos; Representam um conjunto de objetos que compartilham características e comportamentos comuns. Objeto É uma instância de uma classe. As três características-chave Estado: Define característica do objeto; Comportamento: Operações que o objeto pode realizar Identidade: instância do objeto.

Construtor e Instanciação São utilizados para criar novas instâncias de objetos; Não possui tipo de retorno; O nome deve coincidir exatamente com o nome da classe; Normalmente os construtores são utilizados para inicializar variáveis de instância; Se não definir o construtor da classe, será usado um construtor padrão sem argumentos; se você tiver inserido um construtor com argumentos, não terá um sem argumentos a menos que o insira por conta própria.

Construtor e Instanciação public class Contato { private string nome; public string Nome { get { return nome; } set { nome = value; } } private string telefone; } public string Telefone { get { return telefone; } set { telefone = value; } } public Contato(String nome, String telefone) { this.nome = nome; this.telefone = telefone; } Construtor da classe, mesmo nome da classe.

Construtor e Instanciação Operador new cria uma novo objeto (cria uma instância) a partir de uma classe especificada. Ao utilizar o operador new: Novo objeto é alocado dinamicamente na memória, e todas as suas variáveis de instancia são inicializadas com valores-padrão predefinidos. null para variáveis objeto 0 para todos os tipos básicos (exceto boolean) false para boolean O construtor do novo objeto é ativado; Após a execução do construtor, o operador new retorna uma referência (endereço de memória) para o objeto recém criado

Instanciando Objeto Declarar variável Associa variável a tipo (classe) Sintaxe NomeClasse nomevariável; Exemplo Carro carro1; Criar objeto (instanciar) e fazer variável referenciar o objeto carro1 = new Carro(); Ambos em um passo Carro carro1 = new Carro();

Instanciando Objeto

Referência

Exercício Represente a heap para o código a seguir Circulo c1,c2,c3; Carro carro1, carro2; c1 = new Circulo(); Quadrado q1 = new Quadrado(); c2 = c1; carro1 = new Carro(); Quadrado q2 = q1; q1 = new Quadrado(); c3 = c1; c1 = new Circulo(); carro2 = carro1;

Exercício - Resposta Representação no heap C#

Igualdade Entre variáveis Compara o valor das variáveis O valor de uma variável (referência) para um objeto é o endereço do objeto O operador == compara se as duas variaveis referenciam o mesmo objeto obj1 == obj2 Entre objetos Metodo equals verifica se dois objetos são iguais

Igualdade c1 == c2 true Referenciam o mesmo objeto q1 == q2 false Mesmo que os objetos sejam iguais

Métodos Um método pode retornar algum valor assim como podemos passar valores na sua execução, sintaxe: tiporetorno nomemetodo ( listaparamentros opcional ){ } // corpo do método Quando não desejamos que o método retorne algum velor usamos Void

Métodos Quando NÃO desejamos que o método retorne algum valor usamos void void semresultado(int tipo){ // corpo do método } Quando desejamos que o método retorne algum valor usamos um tipo basico ou objeto. Além disso é necessário o uso do comando return Int comresultado(int tipo){ // corpo do método return resultado; }

Métodos Especificando a sintaxe para se chamar um método nomedometodo (listadeargumentos opcional) Importante: Você precisa escrever os parênteses ao final de cada método, mesmo que o método não tenha nenhum parâmetro.

Métodos Usamos o operador. (ponto) Sintaxe: objeto.método(); Executa método em objeto Objeto deve existir A variável deve referenciar objeto válido Se referenciar null ocorre erro Exemplos: obj1.nomemetodo(); obj1.nomemetodo(arg1, arg2); (new NomeClasse()).nomeMetodo();

Métodos acessadores e modificadores Forma de manter o encapsulamento. Mantem os atributos protegidos (visibilidade private); Cria métodos de acesso public para acessar os atributos. Benefícios: fácil manutenção, flexibilidade e extensibilidade. Métodos set e get. set :utilizado para modificar uma variável de instância Sintaxe: public void setnomevariavelinstancia(tipo nome) {} get: utilizado para acessar uma variável de instância Sintaxe: public Tipo getnomevariavelinstancia() {}

Métodos acessadores e modificadores Forma clássica através de métodos public class Contato { private string nome; public void getnome(){ return nome;} public string setnome(string s){ nome=s;} }

Métodos acessadores e modificadores com propriedades Outra forma é o uso de propriedades. Cria-se atributos extras chamados de propriedades. public class Contato { private string nome; public string Nome { get { return nome; } set { nome = value; } }... }

Métodos Sobrecarregados A sobrecarga de método permite reutilizar o mesmo nome do método de uma classe, mas com argumentos diferentes. Regras básicas: a sobrecarga de método devem alterar a lista de argumentos; podem alterar o tipo de retorno; podem alterar o modificador de acesso.

Métodos Sobrecarregados Exemplo public void inserircontato(contato c) { listacontato[qtd++] = c; } public void inserircontato(string nome, String telefone){ listacontato[qtd++] = new Contato(nome, telefone); }

Construtores Sobrecarregados Exemplo public Contato(String nome, String telefone) { this.nome = nome; this.telefone = telefone; } public Contato(String nome) { this.nome = nome; }

This Todo objeto possui um atributo que é uma referência a ele mesmo Usado para acesso a membros do próprio objeto this.membro Evita conflito com parâmetros de métodos, por exemplo

Exercício Passo 1: Criar uma classe Aluno com os atributos nome, matricula, curso, email, disciplinas (array de string). Passo 2: Criar os métodos acessadores e modificadores (gets e sets) desses atributos, exceto o atributo disciplinas. Passo 3: Inicializar os atributos (nome, matricula, curso, email) em branco e o array disciplinas com 5 posições no construtor padrão. Passo 4: Criar um construtor que permita passar (nome, matricula,curso e email) e o tamanho do array como parâmetros. Usar os nomes das variáveis de parâmetros iguais às variáveis de instância. Utilize o atributo this para evitar conflitos de parâmetro. Passo 5: Criar um método para cadastrar disciplinas. O método recebe o nome da String e adiciona ao último item do array. Passo 6: Fazer a sobrecarga do método anterior para receber além do nome, a posição do array onde o nome deverá ser armazenado. Passo 7: Criar o método para remover uma disciplina, recebe como parâmetro o nome da disciplina. Passo 8:Criar um mecanismo para fornecer um identificador único (id) para cada objeto criado. Passo 9: Criar um método para exibir o estado de cada objeto, ou seja, o conteúdo de suas variáveis (id, nome, matricula, curso, email e lista de disciplinas);

Dúvidas