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

Documentos relacionados
Orientação a Objetos

Aula 06. Prof. Diemesleno Souza Carvalho

Classes e Objetos. Sintaxe de classe em Java

Orientação a Objetos

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

COMPORTAMENTOS - Observações

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

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

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

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

Estrutura de Dados Funções e Procedimentos

Introdução aos Algoritmos

Orientação a Objetos Básica

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

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

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Programação: Vetores

Programação Orientada a Objetos

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

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Introdução a Java. Hélder Nunes

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

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

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

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

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

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Conceitos de Programação Orientada a Objetos

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

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Modelagem de Processos

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

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

Linguagem de Programação II Implementação

Conceitos Básicos da Programação OO

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

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

Variáveis primitivas e Controle de fluxo

LINGUAGEM 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.

OO - Orientação a Objetos

Linguagem e Técnicas de Programação

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

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: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Java Variáveis e Controle Fluxo

Orientação a Objetos

Modelagem Estática e Dinâmica: Estudo de Caso - Sistema de Caixa Automático

Introdução à UML. Prof. Jesus José de Oliveira Neto

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

POO Programação Orientada a Objetos

Programação C/C++ Slide 5 Nielsen Castelo Damasceno

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

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

Módulo 5 Vetores e Alocação Dinâmica

Programação Orientada a Objetos

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

Lição 7 Array em Java

Tipos Abstratos de Dados

Programação Orientada a Objetos

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Tipos Abstratos de Dados

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

Orientação a Objetos e Java

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

Introdução à Programação Orientada a Objetos em C++

Modelagem Orientada a Objeto

Dicas para implementação do Trabalho 6

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Algoritmos e Técnicas de Programação

Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco

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

Descrição de Casos de Uso (Casos de Uso Textuais) SSC 124: Análise e Projeto Orientados a Objetos Profa. Dra. Elisa Yumi Nakagawa

POO e C++: Herança e Polimorfismo

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Casos de Uso. SSC-121 Engenharia de Software I. Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

Estrutura de Dados. Aula 07 Alocação Dinâmica

Unidade: sobrecarga, construtores e herança

O que é um jogo digital?

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

Programação Orientada aos Objectos I

Universidade Estadual de Santa Cruz

Transcrição:

Introdução a POO Implementação Técnico em Informática, M.Sc.

Objetos 12/04/2012 20:17 Redes de Computadores 2

Domínio e Aplicação Domínio Composto pelas entidades, informações e processos relacionados a um determinado contexto. Aplicação Desenvolvido para automatizar as tarefas de um domínio 3

Exemplo -Domínio Bancário Entidades Clientes Funcionários Agências Contas Informações Processos 4

Objetos, Atributos e Métodos Objetos Entidades Uma aplicação orientada a objetos é composta por objetos. Em geral, um objeto representa uma entidade do domínio. 5

Objetos, Atributos e Métodos Atributos Um atributo é uma variável que pertence a um objeto. Os dados de um objeto são armazenados nos seus atributos. Exemplo: Objeto João (Atributo: Dados) Nome: Carlos DataNascimento: 23/06/1995 Sexo: Masculino 6

Objetos, Atributos e Métodos Métodos (1/2) Operações que permitem consultar ou alterar os valores dos atributos de um objeto. São também utilizados para possibilitar interações entre os objetos de uma aplicação. Exemplo: quando um clienterequisita um saqueatravés de um caixa eletrônico do banco, o objeto que representa o caixa eletrônico deve interagir com o objeto que representa a conta do cliente. 7

Objetos, Atributos e Métodos Métodos (2/2) As tarefas que um objeto pode realizar são definidas pelos seus métodos. Um objeto é composto por atributose métodos. 8

Representação: Domínio X Aplicação Representação: Domín nio X Aplicação 9

Classes 12/04/2012 20:17 Redes de Computadores 10

Classes Antes de criar um objeto é necessário definirquais serão seus atributose métodos. A definição é realizada através de uma classe. A partir de uma classe, é possível construir objetos na memória ( espaço onde vivem os objetos ). 11

Representação de classes Uma classe pode ser representada através de diagramas de UML. Composição da representação: Nomes Atributos Métodos 12

Anologia 13

Anologia Classe Objetos Diversas classe construídas a partir de uma mesma planta Classe -- Planta Objetos -- Casas 14

Anologia Classe Objetos Diversos bolos preparados a partir de uma mesma receita Classe -- Receita Objetos -- Bolos 15

Anologia Classe Objetos Diversos carros construídos a partir do mesmo projeto Classe -- Carro Objetos -- Carros 16

Anologia Classe Objetos As diferenças entre dois objetos de mesma classe estão nos valores de seus atributos. 17

Implementação em C# 12/04/2012 20:17 Redes de Computadores 18

Classe 19

Criando objetos Instanciação de Classe A palavra reservada new é usada para instanciar um Objeto de uma determinada classe. 20

Criando objetos Instanciação de Classe Instanciação (criação) de três objetos do tipo Conta. 21

Criando objetos -analogia 22

Objeto -Referência Todo objeto possui uma referência A referência de um objetoé a única maneira de acessar os seus atributose métodos. 23

Objeto -Referência 24

Criar uma Referência em C# Usa-se a instrução new Com a instrução newum objeto é alocado em algum lugar na memória. Para acessar o objeto, é necessário sua referência. A instrução newdevolve a referência do objeto que foi criado. A referência (endereço de memória) devolvida por new deve ser armazenada em uma variável. Esta variável não pode ser primitiva. Deve ser do tipo da classe, a qual foi utilizada para instanciar o objeto. 25

Criar uma Referência em C# A instrução newinstancia o objeto Conta e retorna uma referência (endereço de memória) que será atribuída a variável referencia do tipo Conta. A partir da variável referencia é possível acessar os atributos e invocar os métodos do objeto. 26

Manipulando Atributos Usando a variável de referência referencia 27

Atributos: Valores padrão Atributos de um objeto não precisam ser inicializados explicitamente. Os atributos são inicializados com valores padrão: Tipos numéricos: são inicializados com 0 (zero) Tipo boolean: são inicializados com false Demais atributos: são inicializados com null (referência vazia) 28

Atributos: Valores padrão Exemplos 29

Atributos: Valores padrão Exemplos definindo um valor padrão 30

Atributos: Valores padrão Exercícios: Implemente as seguintes classes Faça uma classe de testes (com o método Main) para instanciar objetos das classes acima. Mude o estado dos atributos dos objetos e apresente os valores no vídeo 31

RELACIONAMENTOS: ASSOCIAÇÃO, AGREGAÇÃO E COMPOSIÇÃO 12/04/2012 20:17 Redes de Computadores 32

Associação, Agregação e Composição Todo clientede banco pode adquirir um cartão de crédito. Se o cliente adquirir um cartão de crédito, dentro do sistema do banco, deve existir um objeto que represente o clientee outro que represente o cartão de crédito. Para expressar a relaçãoentre o clientee o cartão de crédito, algum vínculo entre esses dois objetos deve ser estabelecido. 33

Associação, Agregação e Composição Exemplo: cliente x cartões 34

Associação, Agregação e Composição Exemplo: cliente x cartões Duas classes devem ser criadas: uma para definir os atributos e métodos dos clientese outra para os atributos e métodos dos cartões de crédito. Para expressar o relacionamento entre cliente e cartão de crédito, podemos adicionar um atributo do tipo Clientena classe CartaoDeCredito. 35

Associação, Agregação e Composição Exemplo: cliente x cartões Implementação: 36

Associação, Agregação e Composição Exemplo: cliente x cartões Tipo de relacionamento: agregação Notação gráfica na linguagem UML No relacionamento entre cartão de crédito e cliente, um cartão de crédito só pode se relacionar com um único cliente. Por isso, no diagrama acima, o número 1é colocado ao lado da classe Cliente. Por outro lado, um cliente pode se relacionar com muitos cartões de crédito. Por isso, no diagrama acima, o caractere * é colocado ao lado da classe CartaoDeCredito. 37

Associação, Agregação e Composição Exemplo: cliente x cartões O relacionamento entre um objetoda classe Cliente e um objeto da classe CartaoDeCredito só é concretizado quando a referência do objetoda classe Clienteé armazenada no atributo clientedo objetoda classe CartaoDeCredito. Depois de relacionados, podemos acessar, indiretamente, os atributos do cliente através da referência do objetoda classe CartaoDeCredito. 38

Associação, Agregação e Composição Exemplo: cliente x cartões 39

Associação, Agregação e Composição Exemplo: Conectando um clientea um cartão: 40

Associação, Agregação e Composição Exercício: relação Conta x Agencia Implemente as classes e a relação existente entre elas de acordo com o diagrama abaixo Implemente uma classe de teste, crie objetos Conta e Agencia. Associe um objeto a outro e atribua valores aos atributos de cada objeto. Mostre os valores no vídeo. 41

MÉTODOS 12/04/2012 20:17 Redes de Computadores 42

Métodos São operações que podem modificar ou apenas acessar os valores dos atributos dos objetos. Exemplo: Classe Conta de um Banco No banco, é possível realizar diversas operações em uma conta: Depósito, Saque, Transferência, Consultas, Etc. 43

Métodos 44

Métodos As operações são realizadas em métodos definidos na própria classe. No caso das operações citadas no slide anterior, estas são implementadas na classe Conta. Exemplo da operação depositar: 45

Métodos Um método pode ser dividido em quatro partes: Nome: É utilizado para chamar o método. Na linguagem C#, é uma boa prática definir os nomes dos métodos utilizando a convenção CamelCase com a primeira letra maiúscula. Lista de Parâmetros: Define os valores que o método deve receber. Métodos que não devem receber nenhum valor possuem a lista de parâmetros vazia. Corpo Define o que acontecerá quando o método for chamado (invocado). Retorno resposta que será devolvida ao final do processamento do método. Quando um método não devolve nenhuma resposta, ele deve ser marcado com a palavra reservada void. 46

Métodos Método Depositar 47

Métodos Método público: 48

Métodos Executando a operação Depositara partir de um objeto do tipo Conta. 49

Métodos O que acontece com o valor do atributo na memória? Memória c numero = 0 saldo = 0 limite = 0 50

Métodos O que acontece com o valor do atributo na memória? Memória c numero = 0 saldo = 500.0 limite = 0 51

Métodos O que acontece com o valor do atributo na memória? Memória c numero = 0 saldo = 800.0 limite = 0 Para realizar um depósito, devemos chamar o método Depositar(x) através da referência do objeto que representa a conta que terá o dinheiro creditado. 52

Métodos O método Depositar() não possui nenhum retorno lógico. Por isso, foi marcado com void. Mas, para outros métodos, pode ser necessário definir um tipo de retorno específico. Exemplo: 53

Métodos Exemplo da classe Conta 54

Métodos Chamando um método que Memória retorna valor a partir de um objeto: numero = 0 saldo = 800.0 limite = 1000.0 c 55

Métodos Atividade Na classe Conta, implemente os métodos: Sacar: este método tem como parâmetro de entrada um valor double. Este valor será descontado do atributo saldo da classe conta. O método não irá retornar valor algum. ConsultarSaldo: Este método não tem parâmetro de entrada e irá retornar um valor double, correspondente ao atributo saldo. 56

Métodos Sobrecarga -Overloading Overloading Sobrecarga de método Quando dois ou mais métodos são definidos na mesma classe com o mesmo nome sobrecarga de método. Uma sobrecarga de método só é válida se as listas de parâmetros dos métodos são diferentes entre si. Exemplo: Na classe Conta do sistema bancário poderíamos ter um métodopara gerar um extrato padrão dos últimos 30 dias e outro para gerar um extrato referente a quantidade de dias desejada pelo cliente. 57

Métodos Overloading Exemplo Sobrecarga -Overloading 58

Métodos Overloading Exemplo Sobrecarga -Overloading 59

MÉTODOS CONSTRUTORES 12/04/2012 20:17 Redes de Computadores 60

Métodos Construtores É um método que é executado toda vez que um objeto é criado instanciado. Assim, toda vez que o comando newé chamado, devemos informar um método construtor. Exemplo: 61

Métodos Construtores Característica de métodos construtores Tem o mesmo nome da classe Podem ser livres de parâmetros construtor padrão (default). Podem ter parâmetros Podem ser sobrecarregados Não podem retornar valores 62

Métodos Construtores Construtores podem ser utilizados de modo a garantir o estado inicial de um objeto. Por exemplo: Digamos todo o cartão de crédito deva possuir um número. O valor poderia ser atribuído logo depois da instanciação do objeto. Qual é a garantia que este cartão vai ter seu número? 63

Métodos Construtores Para resolver esse risco, podemos utilizar construtores. Um construtor permite que um determinado trecho de código seja executado toda vez que um objeto é criado, ou seja, toda vez que o operador newé chamado. 64

Métodos Construtores Implementação Instanciação 65

Métodos Construtores Construtor padrão Toda vez que um objeto é criado, um construtor da classe correspondente deve ser chamado. Mesmo quando nenhum construtor for definido explicitamente, há um construtor padrão que será inserido pelo próprio compilador. O construtor padrão não recebe parâmetros e será inserido sempre que o desenvolvedor não definir pelo menos um construtor explicitamente. 66

Métodos Construtores Construtor padrão Exemplo Instanciação de Objeto a partir do construtor padrão: 67

Métodos Construtores Sobrecarga de construtores 68

Métodos Construtores Construtor chamando construtor 69

Métodos Construtores Variável de referência como parâmetro de um construtor: Da mesma forma que podemos passar valores primitivos como parâmetro para um método ou construtor, também podemos passar valores não primitivos (referências). 70

Métodos Construtores Variável de referência como parâmetro de um construtor Instanciação 71

Métodos Construtores Variável de referência como parâmetro de um método: Chamando o método Transferir 72

Referências Bibliográficas www.k19.com.br(o conteúdo deste material é baseado na apostila C# e Orientação a Objetos, de propriedade da K19 Treinamentos) 73