Baixe o app para aproveitar ainda mais
Prévia do material em texto
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos I http://lattes.cnpq.br/5971466215979342 http://br.linkedin.com/in/rmalta Rodrigo Malta da Silva Analista de Sistemas MBA em Gestão Empresarial Project Management Professional (PMP) rodrigo.malta@souunit.com.br http://lattes.cnpq.br/5971466215979342 http://br.linkedin.com/in/rmalta mailto:rodrigo.malta@souunit.com.br Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos •Métodos •Construtores •EstáGcos •Instância •Sobrecarga • Conceitos: Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Relembrando: - Representa os comportamentos ou habilidades inerentes aos objetos criados a partir de uma determinada classe - Modificam o “estado” do objeto - Permite a interação entre objetos - Os métodos são os comportamentos das classes - São trechos de códigos independentes que podem ser executados quando são “chamados” - Métodos podem alterar o valor dos atributos das classes ou “chamar” outros métodos - São as funções / procedimentos da Orientação a Objetos. • Métodos: Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos •Métodos - Características: - Podem receber parâmetros (dados de entrada) - Podem retornar alguma informação (dados de saída) - Podem não retornar nenhuma informação Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Aplica-se modificadores de Visibilidade (Java Access Modifiers) 1. default (padrão) 2. private (privado) 3. protected (protegido) 4. public (público) • Métodos - Encapsulamento em Java: Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Construtores Java são métodos especiais que são chamados quando um objeto é instanciado. Em outras palavras, quando você usa a palavra-chave "new". - O construtor inicializa o objeto recém-criado. - Métodos contrutores também podem receber parâmetros para permiGr melhor controle da construção do objeto. - Toda classe possui um método construtor implícito, quando nenhum é definido - Um exemplo simples que cria um objeto do Gpo “Aluno”, que resulta no construtor da classe sendo chamado: •Métodos - Construtores (Constructor Methods): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Imagine uma classe com os atributos conforme abaixo: •Métodos - Construtores (Constructor Methods): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Definindo um método construtor: - O método construtor é composto de um modificador de visibilidade + nome da classe que queira construir, ou seja: - Para as classes Aluno e Unit, os métodos construtores podem ter as assinaturas abaixo: - Assinatura do método é o que o torna único, ou seja, é sua idenGficação. No Java a assinatura de um método é composta por: nome do método e seus parâmetros (quan?dade, ordem e ?pos). O Gpo de retorno do método não faz parte da assinatura. - Assim, pode ter na mesma classe, métodos com o mesmo nome, desde que tenham listas de parâmetros diferentes. - Nos métodos construtores não há definição de retorno para o método. •Métodos - Construtores (Constructor Methods): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Definindo um construtor: Parâmetro do tipo (classe) String a variável foi nomeada de “nome". •Métodos - Construtores (Constructor Methods): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Dentro de um método, "this" é uma referência ao próprio objeto ou aos atributos da próprios da classe. • Métodos - Construtores - A palavra-chave "this" (este): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Normalmente você não pode chamar um método de uma classe sem primeiro criar uma instância dessa classe. Ao declarar um método usando a palavra-chave "staGc", você pode chamá-lo sem criar um objeto, pois ele se torna um método de classe (ou seja, um método que pertence a uma classe em vez de um objeto). - Os métodos estáGcos são usados em métodos que não precisam acessar o estado de um objeto ou usam apenas campos estáGcos. Por exemplo, o método "main" é um método estáGco: - É o ponto de parGda para um aplicaGvo Java e não precisa acessar o estado de um objeto. Observe que não há objetos criados neste momento. Os parâmetros necessários são passados como uma matriz String. • Métodos - Estáticos (Static Methods): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Método de instância são métodos que requerem que um objeto de sua classe seja criado antes de poder ser chamado. Para invocar um método de instância, temos que criar um objeto da classe do qual ele foi definido. - Pelos conceitos da Orientação a Objetos é a forma mais uGlizada e correta, portanto tenha atenção e cuidado ao uGlizar de métodos estáGcos. • Métodos de Instância (Instance Methods): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos - Sobrecarga significa que o mesmo nome do método pode ser definido com mais de uma assinatura - a lista de parâmetros formais e seus Gpos. - Java é fortemente Gpado e significa que pode haver versões diferentes de uma função (método), sendo que o compilador pode inferir qual método chamar (invocar), observando a lista e Gpos de parâmetros do método. • Sobrecarga (Overload): Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 Programação Orientada a Objetos Fundamentos da Orientação a Objetos • Sobrecarga (Overload): Métodos com o mesmo nome, porém com lista de parâmetros diferentes. Os retornos são diferentes, um é double (números reais) e outro é duble[] (lista ou conjunto de números reais). Apesar de retornos diferentes, isto não é relevante para a sobrecarga. Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1 - Exercício: 1.Uma locadora possui dois tipos de veículos (utilitário e de passeio), tendo no máximo 10 de cada tipo. O veículo, independente do tipo, deve ser identificado pelo modelo, marca, ano, quilometragem inicial, preço de locação e quantidade de dias de locação. Para calcular o preço da locação e construir as entidades apresentadas, utilize como regra as definições a seguir: -Cálculo de veículos utilitários: Valor fixo acrescido de R$ 40,00 até 15 dias e de R$ 20,00 acima disto; -Cálculo de veículos de passeio: Valor fixo acrescido de R$ 20,00 até 7 dias e de R$ 15,00 acima disto; -Crie um programa principal que simule alugueis de carros, e mostre o custo de locação para o período locado. Programação Orientada a Objetos Fundamentos da Orientação a Objetos
Compartilhar