A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO A CLASSES E OBJETOS Prof. Thiago Pereira Rique.

Apresentações semelhantes


Apresentação em tema: "LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO A CLASSES E OBJETOS Prof. Thiago Pereira Rique."— Transcrição da apresentação:

1 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO A CLASSES E OBJETOS Prof. Thiago Pereira Rique

2 A GENDA Classes, objetos, métodos e variáveis de instância Declarando uma classe com um método e instanciando um objeto de uma classe Declarando um método com um parâmetro Variáveis de instância, métodos set e get Tipos primitivos versus tipos por referência Inicializando objetos com construtores Números de ponto flutuante e tipo double Estudo de caso de GUI: utilizando caixas de diálogo

3 CLASSES, OBJETOS, MÉTODOS E VARIÁVEIS DE INSTÂNCIA Suposição Você quer guiar um carro e fazê-lo andar mais rápido pisando no pedal acelerador. Antes de tudo: o carro precisa ser projetado (remete ao conceito de classe) O pedal oculta do motorista os complexos mecanismos que fazem o carro andar mais rápido. O pedal de freio oculta os mecanismos que diminuem a velocidade. A direção oculta os mecanismos que mudam a direção do carro. Isso permite que as pessoas dirijam um carro sem saber como os motores funcionam.

4 CLASSES, OBJETOS, MÉTODOS E VARIÁVEIS DE INSTÂNCIA Realizar uma tarefa em um programa Método Descreve os mecanismos que realizam sua tarefa Oculta as tarefas que realiza É abrigado em uma classe Ex: classe que representa uma conta bancária Sacar Depositar Verificar saldo Você deve construir um objeto de uma classe antes de construir um programa para realizar as tarefas que a classe descreve como fazer.

5 CLASSES, OBJETOS, MÉTODOS E VARIÁVEIS DE INSTÂNCIA Enviar mensagens para um objeto Chamada de método Continuando com o exemplo do carro Características (atributos) Cor, número de portas, quantidade de gasolina no tanque, velocidade atual, total de quilômetros percorridos, etc. Cada carro mantém seus próprios atributos. Esses atributos são especificados como parte da classe do objeto. Variáveis de instância

6 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE A classe GradeBook

7 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE Declaração da classe Palavra reservada public Modificador de acesso Palavra reservada class Nome da classe (identificador) GradeBook Corpo da classe { }

8 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE Declaração do método Palavra reservada public Modificador de acesso disponível para o público Palavra reservada void Tipo de retorno Nome do método displayMessage Cabeçalho do método public void displayMessage() Corpo do método { }

9 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE Usando a classe GradeBook em um aplicativo Aplicativo Main A classe GradeBook não é um aplicativo java GradeBook

10 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE A classe GradeBookTest

11 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE A classe GradeBookTest public static void main() Método static Não precisamos instanciar objetos da classe Método displayMessage Necessário criar objeto da classe GradeBook GradeBook é um novo tipo GradeBook myGradeBook = new GradeBook(); Expressão de criação de instância de classe new GradeBook() Cria um novo objeto da classe GradeBook Parênteses são necessários Chamada a um construtor

12 D ECLARANDO UMA CLASSE COM UM MÉTODO E INSTANCIANDO UM OBJETO DE UMA CLASSE A classe GradeBookTest Chamada a método Ex: System.out.println(Bem vindo); myGradeBook.displayMessage(); Nome do objeto + ponto separador (.) + nome do método + conjunto vazio de parênteses O método displayMessage possui lista de parâmetros vazia Nenhum argumento é passado ao método na sua chamada

13 DECLARANDO UM MÉTODO COM UM PARÂMETRO Conceito de parâmetro Informação adicional passada para um método realizar sua tarefa Quanto um carro deve acelerar? Quanto sacar de uma conta? Quanto depositar? Parâmetros são definidos em uma lista de parâmetros Separados por vírgula, dentro dos parênteses que seguem o nome do método A lista de parâmetros pode conter qualquer número de parâmetros, inclusive nenhum Todo parâmetro deve especificar um tipo e um identificador

14 DECLARANDO UM MÉTODO COM UM PARÂMETRO Argumentos Valores fornecidos para os parâmetros em uma chamada de método Ex: public void depositar(double valor) //parâmetro contabancaria.depositar(100.00); //argumento

15 DECLARANDO UM MÉTODO COM UM PARÂMETRO A classe GradeBook Método com um parâmetro

16 DECLARANDO UM MÉTODO COM UM PARÂMETRO A classe GradeBookTest

17 VARIÁVEIS DE INSTÂNCIA, MÉTODOS SET E GET Variáveis locais Declaradas no corpo de um método particular Só podem ser utilizadas dentro do método no qual foram declaradas Quando um método termina, os valores de suas variáveis locais são perdidos Campos Atributos (variáveis de instância) Existem mesmo antes da chamada de qualquer método da classe onde foram declarados Cada objeto da classe possui os seus próprios campos Podem ser manipulados por qualquer método da classe em que foram declarados

18 VARIÁVEIS DE INSTÂNCIA, MÉTODOS SET E GET Classe GradeBook uma variável de instância um método set um método get

19 VARIÁVEIS DE INSTÂNCIA, MÉTODOS SET E GET

20 Modificadores de acesso public e private Variáveis de instância ou métodos private Podem ser acessados apenas por métodos da classe onde foram declarados Ocultação de dados (ou informações) Ex: GradeBook Encapsulamento courseName setCourseName getCourseName displayMessage Variáveis de instância ou métodos public Podem ser acessados por métodos em outras classes

21 VARIÁVEIS DE INSTÂNCIA, MÉTODOS SET E GET Classe GradeBookTest

22 VARIÁVEIS DE INSTÂNCIA, MÉTODOS SET E GET Classe GradeBookTest Saída

23 VARIÁVEIS DE INSTÂNCIA, MÉTODOS SET E GET Métodos set e get Set Configurar (atribuir valores a) variáveis de instância private setCourseName(String name) Get Obter (obter/retornar valores de) variáveis de instância private getCourseName() Convenção Iniciar os nomes de métodos com as palavras set e get (não é obrigatório, é apenas uma convenção)

24 TIPOS PRIMITIVOS VERSUS TIPOS POR REFERÊNCIA Tipos primitivos boolean byte char short int long float double Tipos por referência Todos os tipos não primitivos As classes que especificam os tipos de objetos

25 TIPOS PRIMITIVOS VERSUS TIPOS POR REFERÊNCIA Tipos primitivos Variáveis de instância são inicializadas por padrão Valores numéricos: 0 (zero) Valores booleanos: false (falso) Variáveis de tipo primitivo podem ser inicializadas na sua declaração Variáveis locais NÃO são inicializadas por padrão Tipos por referência Variáveis de tipo por referência REFERENCIAM um objeto na memória Ex: a variável myGradeBook é uma REFERÊNCIA para um objeto GradeBook na memória Variáveis de tipo por referência são inicializadas por padrão com null: referência a nada

26 I NICIALIZANDO OBJETOS COM CONSTRUTORES Quando criamos um objeto GradeBook, sua variável de instância courseName foi inicializado com null. Você pode fornecer um nome de um curso ao criar um objeto GradeBook. Construtor Método especial utilizado para inicializar um objeto de uma classe quando de sua criação. O Java requer uma chamada de construtor para todo objeto que é criado. O construtor deve ter o mesmo nome da classe.

27 I NICIALIZANDO OBJETOS COM CONSTRUTORES Construtor O compilador fornece um construtor padrão sem parâmetros. Variáveis de instância são inicializadas por padrão. Voltando a classe GradeBook Você pode querer especificar o nome de um curso para um objeto GradeBook. A instrução acima exige que a classe forneça um construtor com um parâmetro String.

28 I NICIALIZANDO OBJETOS COM CONSTRUTORES Classe GradeBook modificada com construtor

29 I NICIALIZANDO OBJETOS COM CONSTRUTORES Classe GradeBook modificada com construtor

30 I NICIALIZANDO OBJETOS COM CONSTRUTORES Classe GradeBookTest

31 I NICIALIZANDO OBJETOS COM CONSTRUTORES Diferença entre construtores e métodos Construtores não retornam valores. Sem tipo de retorno (nem mesmo void). Normalmente, os construtores são declarados public. Se você declarar qualquer construtor para uma classe, o compilador Java não criará um construtor padrão para essa classe.

32 I NICIALIZANDO OBJETOS COM CONSTRUTORES Construtores com múltiplos parâmetros GradeBook para armazenar o nome do curso e o nome do instrutor courseName instructorName Chamada ao construtor de GradeBook

33 N ÚMEROS DE PONTO FLUTUANTE E TIPO DOUBLE O Java fornece dois tipos primitivos para ponto flutuante float double A principal diferença entre eles é que variáveis do tipo double podem armazenar números com maior magnitude e detalhes, isto é, com maior precisão. Números de ponto flutuante de precisão simples (float) Até sete dígitos significativos Números de ponto flutuante de precisão dupla (double) Até quinze dígitos significativos Literais de ponto flutuante são double por padrão. Ex.: 7.33 e

34 N ÚMEROS DE PONTO FLUTUANTE E TIPO DOUBLE A classe Account com uma variável de instância do tipo double

35 N ÚMEROS DE PONTO FLUTUANTE E TIPO DOUBLE A classe AccountTest

36 N ÚMEROS DE PONTO FLUTUANTE E TIPO DOUBLE A classe AccountTest

37 N ÚMEROS DE PONTO FLUTUANTE E TIPO DOUBLE A classe AccountTest Saída

38 E STUDO DE CASO DE GUI: UTILIZANDO CAIXAS DE DIÁLOGO Exibindo texto em uma caixa de diálogo

39 E STUDO DE CASO DE GUI: UTILIZANDO CAIXAS DE DIÁLOGO Exibindo texto em uma caixa de diálogo Método showMessageDialog Exibe caixa de diálogo com uma mensagem Requer dois argumentos null (o primeiro argumento ajuda o aplicativo Java a determinar onde posicionar a caixa de diálogo) String a ser exibida

40 E STUDO DE CASO DE GUI: UTILIZANDO CAIXAS DE DIÁLOGO Introduzindo métodos static showMessageDialog é um método static Muitas vezes definem tarefas realizadas com frequência Não é preciso criar um objeto da classe para chamar um método static Chamada a um método static Nome da classe seguido por um ponto (.) e nome do método JOptionPane.showMessageDialog(null, Mensagem);

41 E STUDO DE CASO DE GUI: UTILIZANDO CAIXAS DE DIÁLOGO Inserindo texto em uma caixa de diálogo

42 E STUDO DE CASO DE GUI: UTILIZANDO CAIXAS DE DIÁLOGO Inserindo texto em uma caixa de diálogo Método static showInputDialog Argumento String (prompt para o usuário) JOptionPane.showInputDialog(Qual é o seu nome?); Retorna a String digitada pelo usuário Variável String name Recebe/armazena a String retornada pelo método showInputDialog Método static format da classe String String.format(Bem vindo, %s, a programacao Java, name); Semelhante ao System.out.printf printf exibe uma String formatada format retorna uma String formatada


Carregar ppt "LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO A CLASSES E OBJETOS Prof. Thiago Pereira Rique."

Apresentações semelhantes


Anúncios Google