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

Documentos relacionados
AULA 13 MÉTODOS. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

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

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

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

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

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

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

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

Algoritmos I Aula 13 Linguagem de Programação Java

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Linguagem de Programação II Implementação

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

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

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

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

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

COMPORTAMENTOS - Observações

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

1 Introdução e Conceitos básicos

Programação Orientada a Objetos

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

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

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

Programação Orientada a Objetos

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

Atribuições: Valores, Ponteiros e Referências

Análise de Programação

Linguagem de Programação II Implementação

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

Orientação a Objetos e Java

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

Linguagem de Programação III

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

Conceitos Básicos da Programação OO

POO - Programação Orientada a Objetos

Programação Orientada a Objetos

CONTEÚDO 04 VETORES. Disciplina: Algoritmos e POO Professora: Alba Lopes.

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

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

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

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

Modelagem Orientada a Objetos com UML

Introdução ao Ambiente Java

Programação Orientada a Objetos II

Linguagem de Programação I

Universidade Estadual de Santa Cruz

Java Standard Edition (JSE)

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

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS - ORIENTAÇÃO A OBJETOS

AULA 6 - ARRAYS. Array de 10 elementos

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -

Linguagem de Programação II Relacionamento entre classes

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

Desenvolvimento Web TCC Turma A-1

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

POO Programação Orientada a Objetos

Classes e Objetos. Sintaxe de classe em Java

Implementando um Projeto. Programação em Java. Do Projeto para Implementação. Classe Pública em Java. Corpo de Classes e Métodos. Convenção de Nomes

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Relacionamentos entre objetos

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

Java Standard Edition (JSE)

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

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

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

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

Vetores Unimensionais

Sintaxe Básica de Java Parte 2

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

Algoritmos II Aula 11 Funções e Procedimentos

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

Programação Orientada a Objetos

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

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

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

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

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

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

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

Programação Orientada a Objetos JAVA - NETBEANS

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Programação Orientada a Objetos em Java

Orientação a Objetos Básica

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

Linguagem de programação métodos/funções

Orientação a Objetos. Vanessa Braganholo


Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Lição 7 Array em Java

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

CONTEÚDO 05 MATRIZES

CLASSES, OBJETOS, MÉTODOS E STRING

Linguagem de Programação III

Transcrição:

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

CONCEITOS FUNDAMENTAS Na computação, temos um problema a ser resolvido Devemos analisar o que deve ser feito Definir como deve ser feito Escrever um algoritmo/programa que implemente a solução Um programa realiza operações sobre dados

CONCEITOS FUNDAMENTAS Modelagem Orientada a Objetos (OO) O ser humano conhece o mundo e gerência sua complexidade através de objetos É como desenvolvemos nossa cognição (conhecimento). Desenvolvemos o conceito de OBJETO Exemplos de objetos: bola, carro, camisa, luz, casa, calça,música, conta bancária, poema, etc

CONCEITOS FUNDAMENTAS O que é um objeto? É a representação de uma coisa do mundo real. (BARNES,2009) Exemplos: O carro vermelho que está ali no estacionamento. Este lápis na minha mão. A peruca do Silvio Santos. OBJETO = DADOS + OPERAÇÕES

CONCEITOS FUNDAMENTAS Objetos Possuem: Estado: Representado pelos valores dos atributos de um objeto Comportamento: Definido pelo conjunto de operações (métodos) do objeto; Estado representa o resultado cumulativo de seu comportamento; Identidade: Dois objetos são distintos mesmo que os valores de seus atributos sejam exatamente iguais.

CONCEITOS FUNDAMENTAS Enfoque estruturado x Enfoque OO Exemplo: Calculadora Programação Estruturada Programação Orientada a Objetos Dados A = 10 B = 100 Função Somar Função Dividir Dados A = 10 B = 100 Calculadora Método Somar Método Dividir Agrupamento

CONCEITOS FUNDAMENTAS O que é uma classe? É um projeto de um objeto. Ela informa como cria um objeto de um tipo específico. (SIERRA & BATES, 2007)

CONCEITOS FUNDAMENTAS Analogia Classe Objeto

CONCEITOS FUNDAMENTAS Classe É onde conceituamos o objeto É a essência do objeto Define os atributos e métodos Objeto É a instância de uma classe Objetos semelhantes pertencem a uma mesma classe

CONCEITOS FUNDAMENTAS Atributos Atributos são as propriedades de um objeto Exemplo: Um objeto carro pode ter que propriedades? Cor Modelo Marca Potência do motor Quantidade de portas Velocidade atual Etc..

CONCEITOS FUNDAMENTAS Métodos Métodos são as ações que um objeto pode realizar Exemplo: Um objeto carro pode realizar que ações? Acelerar Frear Buzinar Etc..

CONCEITOS FUNDAMENTAS Como representamos uma Classe? Através da UML (Unified Modeling Language) Retângulo com três divisões: Nome da Classe Atributos Métodos (ações). Atributos Automóvel Métodos (ações) Automóvel + modelo : String + cor : String + velocidade : int + buzinar ( ) : void + acelerar( ) : void + reduzir( ) : void

CONCEITOS FUNDAMENTAS O que são Instâncias? Chamamos de instância, cada objeto criado a partir de uma classe. Automóvel + modelo : String + cor : String + velocidade : int + buzinar ( ) : void + acelerar( ) : void + reduzir( ) : void

CONCEITOS FUNDAMENTAS Se definirmos o objeto Pessoa, que atributos ela pode ter? Pessoa

CONCEITOS FUNDAMENTAS Se definirmos o objeto Pessoa, que atributos ela pode ter? Pessoa + nome : String + idade : int + profissao :String + rg : int

CONCEITOS FUNDAMENTAS E em relação aos métodos? Pessoa + nome : String + idade : int + profissao :String + rg : int

CONCEITOS FUNDAMENTAS E em relação aos métodos? Pessoa + nome : String + idade : int + profissao :String + rg : int + andar( ) + falar ( ) + trabalhar ( )

EXERCÍCIOS Definir os atributos e métodos para as classes abaixo: Conta Corrente Lâmpada Aluno Calculadora Data

CRIANDO CLASSES Até o momento, nossos códigos em Java eram construídos da seguinte maneira <DECLARAÇÃO_DA_CLASSE>{ } <MÉTODO_MAIN>{ <VARIÁVEIS> <OPERAÇÕES> } public class Calculadora{ public static void main(string [] args){ int numero1 = 10; int numero2 = 20; int soma; soma = numero1 + numero2; System.out.println( A soma é: + soma); } }

CRIANDO CLASSES A partir de agora, iremos abranger o nosso modo de construir as nossas classes <DECLARAÇÃO_DA_CLASSE>{ <ATRIBUTOS> <MÉTODOS> } Nossa classe passará a ter mais métodos além do método main.

CRIANDO CLASSES Definindo Atributos Atributo é o termo como se denomina uma variável de classe em Java Para definirmos um atributo em Java, devemos identificar o tipo de dado que o representa (int, float, string, boolean, etc) Que tipo de dados representam os atributos abaixo da classe Automóvel? Cor Modelo Marca Potência do motor Quantidade de portas Velocidade atual

CRIANDO CLASSES Definindo Atributos Que tipo de dados representam os atributos abaixo da classe Automóvel? Cor String Modelo String Marca String Potência do motor float Quantidade de portas int Velocidade atual int

CRIANDO CLASSES Definindo atributos Os atributos são definidos seguindo o padrão abaixo: <modificador_de_acesso> <tipo_de_dado> <nome_do_atributo> = <valor_inicial> ; opcional opcional Exemplo (omitindo o modificador de acesso): String marca; Com modificador de acesso: private String cor; Com valor inicial private int velocidade = 0;

Automóvel CRIANDO CLASSES Definindo atributos Exemplo: classe Automovel + modelo : String + cor : String + velocidade : int public class Automovel{ String modelo; String cor; int velocidade = 0; }

CRIANDO CLASSES Definindo métodos Métodos são similares às funções em linguagens de programação Um método é representado por uma operação que realiza ações e pode modificar os valores dos atributos do objeto Pode possuir ou não uma lista parâmetros. Pode retornar algum valor ou não. Caso retorne algum valor, deverá informar que tipo de valor o método retorna (int, float, String, boolean, etc) Caso não retorne nenhum valor, o tipo informado deverá ser void

CRIANDO CLASSES Definindo métodos A sintaxe de definição de métodos em Java é a seguinte: <modificador_de_acesso> <tipo_de_retorno> <nome_do_método> (<lista_de_parâmetros>){ <operações> } A declaração mais simples que podemos fazer é a seguinte: void <nome_do_metodo> ( ){ <operacões> } Exemplo: void acelerar ( ) { velocidade = velocidade + 1; }

CRIANDO CLASSES Exemplo simples de uma classe (Numero) com um atributo e um método: public class Numero{ } int x = 1; void escrever () { System.out.println( O valor é: + x); }

CRIANDO CLASSES Exemplo de código para a classe Automóvel Automóvel + modelo : String + cor : String + velocidade : int + buzinar ( ) : void + acelerar( ) : void + reduzir( ) : void

INSTANCIANDO OBJETOS Voltamos a usar o nosso já conhecido método main

INSTANCIANDO OBJETOS Precisamos declarar uma variável qualquer como sendo do tipo da classe criada:

INSTANCIANDO OBJETOS Depois atribuímos à variável criada o resultado obtido pelo instanciador new mais o método construtor, que é o nome da nossa classe seguido de parênteses (mais detalhes sobre método construtor nas próximas aulas)

ACESSANDO ELEMENTOS DOS OBJETOS Como mencionado anteriormente, cada objeto possui seus próprios valores dos atributos e possui seu próprios métodos Podemos acessar os elementos (atributos ou métodos) de um objeto através da seguinte sintaxe: <nome_do_objeto>.<elemento>

ACESSANDO ELEMENTOS DOS OBJETOS Para executar o método buzinar, por exemplo, utilizamos a seguinte sintaxe:

ACESSANDO ELEMENTOS DOS OBJETOS Para acessar um atributo, e, por exemplo, exibir a velocidade do objeto meucarro:

ACESSANDO ELEMENTOS DOS OBJETOS Para alterar valores dos atributos, utiliza-se a sintaxe padrão de atribuição:

ACESSANDO ELEMENTOS DOS OBJETOS Os métodos acelerar e reduzir da classe Automovel, alteram o valor da variável velocidade. Após a execução dessa linha, qual o novo valor da variável velocidade?

ACESSANDO ELEMENTOS DOS OBJETOS Descubra o valor escrevendo o valor do atributo

EXERCÍCIO 1. Crie uma classe Pessoa que obedeça a descrição apresentada na representação abaixo. Possua os atributos nome e idade. E os métodos: dizeronome, dizeraidade e fazeraniversario. O método dizeronome deve escrever na tela a mensagem: Olá, meu nome é, e o valor do atributo nome. O método dizeraidade deve escrever na tela a mensagem: Olá, eu tenho X anos, onde X é o valor do atributo idade. O método fazeraniversario deve adicionar 1 à idade da Pessoa Crie também um método main que realize as seguintes operações: Instancie um objeto do tipo Pessoa. Atribua o seu nome ao atributo nome. Atribua a sua idade ao atributo idade. Chame o método dizeronome Chame o método dizeraidade Chame o método fazeraniversario Chame o método dizeraidade + nome : String + idade : int Pessoa + dizeronome() : void +dizeraidade() : void + fazeraniversario( ) : void

EXERCÍCIO 2. Crie uma classe Lampada que obedeça a descrição apresentada na representação abaixo. Possua os atributos acesa e potencia. E os métodos: acender, apagar, informarsituacao e informarpotencia. O método acender deve alterar o atributo acesa para true. O método apagar deve alterar o atributo acesa para false O método informarsituacao deve informar a mensagem A luz está acesa caso o atributo acesa seja igual a true e a mensagem A luz está apagada caso o atributo acesa seja igual a false O método informarpotencia deve escrever a mensagem A potência da lâmpara é X, onde X é o valor do atribuito potência Crie também um método main que realize as seguintes operações: Instancie um objeto do tipo Lampada. Chame o método acender. Chame o método informarsituacao. Chame o método apagar Chame o método informarsituacao Chame o método informarpotencia + acesa : boolean + potencia : int Lampada + acender() : void + apagar() : void + informarsituacao() : void + informarpotencia( ) : void

EXERCÍCIO 3. Crie uma classe Data que obedeça a descrição apresentada na representação abaixo. Possua os atributos dia, mês e ano. E os métodos: escreveradata, escreveromes, verificaranobissexto, quantofaltafimdoano. O método escreveradata deve mostrar a data na tela no formato DD/MM/AAA O método escreveromes deve mostrar o nome do mês. Por exemplo, para mês 2, escrever Fevereiro O método verificaranobissexto deve escrever uma mensagem informando se o ano é bissexto ou não. O método quantofaltafimdoano deve fazer um cálculo e escrever na tela quantos dias faltam para o fim do ano. Crie também um método main que realize as seguintes operações + dia : int + mes : int + ano: int Data + escreveradata(): void + escreveromes(): void + verificaranobissexto(): void + quantofatafimdoano(): void

EXERCÍCIO 3. (continuação) Instancie um objeto do tipo Data. Atribua um valor para o atributo dia Atribua um valor para o atributo mes Atribua um valor para o atributo ano Chame o método escreveradata Chame o método escreveromes Chame o método verificaranobissexto Altere o valor do atributo ano Chame o método verificaranobissexto Chame o método quantofaltafimdoano Altere o valor do atributo ano Chame o método quantofaltafimdoano + dia : int + mes : int + ano: int Data + escreveradata(): void + escreveromes(): void + verificaranobissexto(): void + quantofatafimdoano(): void

REFERÊNCIAS http://www.hardware.com.br/artigos/programacao -orientada-objetos/ http://www.fontes.pro.br/educacional/materialpag inas/java/arquivos/jdbc/jdbc.php http://www.dm.ufscar.br/~waldeck/curso/java