Introdução a classes e objetos by Pearson Education do Brasil

Documentos relacionados
Introdução a classes e objetos by Pearson Education do Brasil

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

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

Ambientação com a Sintaxe de Java: parte 1

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

AULA 6 - ARRAYS. Array de 10 elementos

Lição 4 Fundamentos da programação

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

Análise de Programação

JAVA. Professor: Bruno Toledo

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

Orientação a Objetos e Java

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

Programação Orientada a Objetos II

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

Sintaxe Básica do Java. João Paulo Q. dos Santos

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

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

PROGRAMAÇÃO JAVA. Parte 2

Programação Estruturada e Orientada a Objetos

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

Linguagem de Programação II Implementação

Introdução ao IDE Netbeans (Programação Java)

Classes, instâncias e métodos de acesso. prática

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

Linguagem de Programação II Implementação

Linguagem de Programação III

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

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

No final deste curso, saberás criar programas através da linguagem de programação Java.

Palavras Reservadas da Linguagem Java

Linguagem de programação Java

Classes e Objetos. Sintaxe de classe em Java

Programação de Computadores para GI

Tipos, Literais, Operadores

Tipos, Literais, Operadores

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

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

Algoritmos e Programação

Algoritmos I Aula 13 Linguagem de Programação Java

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Linguagem de Programação III

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

Algoritmos II prof. Daniel Oliveira

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

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

Organização de programas em Java

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Programação Orientada a Objetos

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Familiarização com a ferramenta JavaCC

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

Capítulo 4 Instruções de Controle: Parte I

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Linguagem de Programação C

Organização de programas em Java

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Métodos Computacionais

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

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

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

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA II

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

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

Linguagem C: Introdução

Introdução à Programação

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Sintaxe Básica de Java Parte 1

I.1 Introdução BitSet I.2 Manipulação de bits e os operadores de bits E sobre bits & OU inclusivo sobre bits OU exclusivo sobre bits

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

BSI UFRPE Prof. Gustavo Callou

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Transcrição:

1 3 Introdução a classes e objetos

2 OBJETIVOS Apresentação do Ambiente de Trabalho Como declarar uma classe e utilizá-la para criar um objeto. Como declarar métodos em uma classe para implementar os comportamentos da classe. Como declarar variáveis de instância em uma classe para implementar os atributos da classe. Como chamar o método de um objeto para fazer esse método realizar sua tarefa. As diferenças entre variáveis de instância de uma classe e variáveis locais de um método. Como utilizar um construtor para assegurar que os dados de um objeto sejam inicializados quando o objeto for criado. As diferenças entre tipos por referência primitivos.

3 Ambientes Integrados de Desenvolvimento (IDE) Avançados Eclipse URL: http://www.eclipse.org NetBeans URL: http://www.netbeans.org JBuilder URL: http://www.borland.com Jdeveloper 10g URL: http://www.oracle.com.br

4 Ambientes Integrados de Desenvolvimento (IDE) Por que o NetBeans? Uma IDE (Integrated Development Environment) compreensiva, modular e multilingagem. Suporte para Java SE, Java EE, Java ME Configuração para módulos e plugins Desenvolvimento Intuitivo em Drag-and-Drop Debugger, Profiler, Refactoring, etc... Framework de janelas, menus, tool bars, actions Comunidade OpenSource Open source desde Junho, 2000 Grande comunidade de usuários e desenvolvedores

5 Ambientes Integrados de Desenvolvimento (IDE) Netbeans..

6 Ambientes Integrados de Desenvolvimento (IDE)

7 Classes e Objetos Definição de Classes, Objetos e Variáveis de Instancia. Declaração de Classes Declaração de Métodos

Classes, objetos, métodos e variáveis de instância 8 Classes fornecem um ou mais métodos. Métodos representam tarefas em um programa: O método descreve os mecanismos que realmente realizam suas tarefas. Oculta do usuário as tarefas complexas que ele realiza. Chamada de método instrui o método a realizar sua tarefa.

Classes, objetos, métodos e variáveis de instância 9 Classes contêm um ou mais atributos: Especificados pelas variáveis de instância. Transportados com o objeto à medida que são utilizados.

10 Classe GradeBook A palavra-chave public é um modificador de acesso. Declarações de classe incluem: Modificador de acesso. Palavra-chave class. Par de chaves esquerda e direita.

11 1 // Fig. 3.1: GradeBook.java 2 // Declaração de classe com um método. 3 4 public class GradeBook 5 { Imprime linha do texto na saída 6 // exibe uma mensagem de boas-vindas para o usuário GradeBook 7 public void displaymessage() 8 { 9 System.out.println( "Welcome to the Grade Book!" ); 10 } // fim do método displaymessage 11 12 } // fim da classe GradeBook

1 // Fig. 3.2: GradeBookTest.java 2 // Cria um objeto GradeBook e chama seu método displaymessage. 3 4 public class GradeBookTest 5 { 6 // método main inicia a execução de programa 7 public static void main( String args[] ) 8 { 9 // cria um objeto GradeBook e o atribui a mygradebook 10 GradeBook mygradebook = new GradeBook(); 11 12 // chama método displaymessage de mygradebook 13 mygradebook.displaymessage(); 14 } // fim de main 15 16 } // fim da classe GradeBookTest Utiliza a expressão de criação de instância de classe para criar o objeto da classe GradeBook Chama o método displaymessage utilizando o objeto GradeBook Welcome to the Grade Book!

13 Importando Pacotes Palavra-chave import Usada para declarar uso de uma classe Scanner do pacote java.util Pacotes (Packages) Conjunto de classes relacionadas é chamado de pacote Grupo de todos os pacotes é conhecido como biblioteca de classe java ou Java API (Java applications programming interface) Scanner está no pacote java.util Os nomes dos pacotes Java começam com Java (pacotes do núcleo da linguagem) ou Javax (extensões ao núcleo) import java.util.scanner;

14 Importando Pacotes Exemplos de pacotes Java: java.lang: Tipos e funcionalidades básicas da linguagem. Inclui, entre outras, as classes String, Math, Integer e Thread. É importada automaticamente em seus programas Java; java.awt: componentes gráficos originais da linguagem (Abstract Window Toolkit); javax.swing: pacote de extensão aos componentes gráficos com melhoramentos à biblioteca AWT java.applet: classes específicas para tratamento de applets; java.net: recursos de rede (sockets e URLs); java.io: classes para escrita e leitura em arquivos; java.util: classes para tarefas gerais, tais como vetores e string de tokens.

Importando Pacotes 15 Nome completo de uma classe = nome do pacote + nome da classe Ex.: java.lang.string -> nome completo da classe String Sentença import: Permite a utilização de membros de pacotes sem a necessidade de referenciá-los a partir do seu nome completo import <nome completo da classe> A importação pode ser de: Apenas um membro do pacote Ex.: import java.awt.button; Todos os membros do pacote Ex.: import java.util.*; Se não forem usadas todas as classes desse pacote, o compilador vai descobrir quais foram as classes usadas e as importá-las em tempo de compilação O pacote java.lang é sempre importado import java.lang.*;

Declarando um método com um parâmetro 16 Parâmetros de método: Informações adicionais passadas para um método. Informações adicionais fornecidas na chamada de método com argumentos.

17 1 // Fig. 3.4: GradeBook.java 2 // Declaração de classe com um método que tem um parâmetro. 3 4 public class GradeBook 5 { 6 // exibe uma mensagem de boas-vindas para o usuário GradeBook 7 public void displaymessage( String coursename ) 8 { 9 System.out.printf( "Welcome to the grade book for\n%s!\n", 10 coursename ); 11 } // fim do método displaymessage 12 Chama o método printf com o argumento coursename 13 } // fim da classe GradeBook

1 // Fig. 3.5: GradeBookTest.java 2 // Create GradeBook object and pass a String to 3 // its displaymessage method. 4 import java.util.scanner; // program uses Scanner 5 6 public class GradeBookTest 7 { 8 // main method begins program execution 9 public static void main( String args[] ) 10 { 11 // create Scanner to obtain input from command window 12 Scanner input = new Scanner( System.in ); 13 14 // create a GradeBook object and assign it to mygradebook 15 GradeBook mygradebook = new GradeBook(); 16 17 // prompt for and input course name 18 System.out.println( "Please enter the course name:" ); 19 String nameofcourse = input.nextline(); // read a line of text 20 System.out.println(); // outputs a blank line 21 22 // call mygradebook's displaymessage method 23 // and pass nameofcourse as an argument 24 mygradebook.displaymessage( nameofcourse ); 25 } // end main 26 27 } // end class GradeBookTest Please enter the course name: CS101 Introduction to Java Programming Welcome to the grade book for CS101 Introduction to Java Programming! Chama o método nextline para ler uma linha de entrada Chama displaymessage com um argumento

19 Variáveis de instância, métodos set e get

Variáveis de instância, métodos set e get 20 Variáveis declaradas no corpo do método: Conhecidas como variáveis locais. Somente podem ser utilizadas nesse método. Variáveis declaradas em uma declaração de classe: Chamadas de campos ou variáveis de instância. Cada objeto (instância) da classe tem uma instância separada da variável.

1 // Fig. 3.7: GradeBook.java 2 // Classe GradeBook que contém uma variável de instância coursename 3 // e métodos para configurar e obter seu valor. 4 5 public class GradeBook 6 { 7 private String coursename; // nome do curos para este GradeBook 8 9 // método para configurar o nome do curso 10 public void setcoursename( String name ) 11 { 12 coursename = name; // armazena o nome do curso 13 } // fim do método setcoursename 14 15 // método para recuperar o nome do curso 16 public String getcoursename() 17 { 18 return coursename; 19 } // fim do método getcoursename 20 21 // exibe uma mensagem de boas-vindas para o usuário GradeBook 22 public void displaymessage() 23 { 24 // essa instrução chama getcoursename para obter o 25 // nome do curso que esse GradeBook representa 26 System.out.printf( "Welcome to the grade book for\n%s!\n", 27 getcoursename() ); 28 } // fim do método displaymessage 29 30 } // fim da classe GradeBook Variável de instância coursename Método set para coursename Método get para coursename Chama o método get 21

22 1 // Fig. 3.8: GradeBookTest.java 2 // Cria e manipula um objeto GradeBook. 3 import java.util.scanner; // programa utiliza Scanner 4 5 public class GradeBookTest 6 { 7 // método main inicia a execução de programa 8 public static void main( String args[] ) 9 { 10 // cria Scanner para obter entrada a partir da janela de comando 11 Scanner input = new Scanner( System.in ); 12 13 // cria um objeto GradeBook e o atribui a mygradebook 14 GradeBook mygradebook = new GradeBook(); 15 16 // exibe valor inicial de coursename 17 System.out.printf( "Initial course name is: %s\n\n", 18 mygradebook.getcoursename() ); 19 (1 de 2) Chame o método get para coursename

(2 de 2) 20 // solicita e lê o nome do curso 21 System.out.println( "Please enter the course name:" ); 22 String thename = input.nextline(); // lê uma linha de texto 23 mygradebook.setcoursename( thename ); // configura o nome do curso 24 System.out.println(); // gera saída de uma linha em branco 25 26 // exibe mensagem de boas-vindas depois de especificar nome do curso 27 mygradebook.displaymessage(); 28 } // fim de main 29 30 } // fim da classe GradeBookTest Chama o método set para coursename Chama displaymessage 23 Initial course name is: null Please enter the course name: CS101 Introduction to Java Programming Welcome to the grade book for CS101 Introduction to Java Programming!

24 Tipos primitivos versus tipos por referência

25 Tipos Primitivos Boolean, byte, char, short, int, long, float e double Tipos Não- Primitivos Todos os tipos por referencia

26 Tipos Primitivos

27 Tipos Primitivos Inteiros e seus operadores

28 Tipos Primitivos Inteiros e seus operadores de Incremento e Decremento

29 Tipos Primitivos Operadores Aritméticos de Atribuição Exemplos para: int c = 3, d = 5, e = 4, f = 6, g = 12 Java fornece vários operadores que abreviam as expressões de atribuição ; A simplificação de sintaxe não é a única vantagem desses operadores. Eles aumentam a velocidade de acesso às variáveis em programas.

30 Tipos Primitivos Ponto Flutuantes e Operações

31 Tipos Primitivos Booleanos \True e False

32 Tipos Primitivos Caracteres e Operadores

33 Tipos Referência Tipos Referência Todos os demais tipos de Java! Definidos a partir de declarações de classes Quando uma variável em Java é declarada como sendo do tipo de uma classe, esta variável é considerada como sendo do tipo referência Declaração e inicialização: String str = Entendendo Strings ; Banco brasil = new Banco ( Brasil ); Diferentemente das variáveis de tipos primitivos, que armazenam um valor, variáveis do tipo referência armazenam um apontador para um objeto em memória

Tipos Referência - Strings 34 Strings São sequências de caracteres delimitados por Representadas por instâncias da classe String (pacotes java.lang) Declaração e Inicialização: String saudacao = Bom dia! ; Variável saudacao conterá um apontador (referência) para um objeto do tipo String que estará em memória e que armazenará a informação Bom dia! Exemplo: String s1 = string1 ; String s2 = string2 ; String s3 = new String( s1 ); String cc = ab + cde ; As strings podem ser concatenadas através do operador +

35 Tipos Referência - Strings Strings: Comparação Não use o operador == para comparar Strings O operador == testa referências quando utilizado com objetos, ou seja, testa se os objetos apontam para mesma posição de memória Use o método equals() da classe String Use o método equalsignorecase() da classe String se não for importante a caixa (maiúsculas ou minúsculas) Exemplo: String nome = Lisa ; if(!nome.equals( Bart )) If( Lisa.equals(nome))

36 Construtores Java

Inicializando objetos com construtores 37 Construtores: Inicializam um objeto de uma classe. O Java requer um construtor para cada classe. O Java fornecerá um construtor sem argumentospadrão, caso nenhum seja fornecido. Chamados quando a palavra-chave new é precedida pelo nome e parênteses da classe.

1 // Fig. 3.10: GradeBook.java 2 // Classe GradeBook com um construtor para inicializar o nome de um curso. 3 4 public class GradeBook 5 { 6 private String coursename; // nome do curso para esse GradeBook 7 8 // construtor inicializa coursename com String fornecido como argumento 9 public GradeBook( String name ) 10 { 11 coursename = name; // inicializa coursename 12 } // fim do construtor 13 14 // método para configurar o nome do curso 15 public void setcoursename( String name ) 16 { 17 coursename = name; // armazena o nome do curso 18 } // fim do método setcoursename 19 20 // método para recuperar o nome do curso 21 public String getcoursename() 22 { 23 return coursename; 24 } // fim do método getcoursename (1 de 2) Constructor to initialize coursename variable 38

25 26 // exibe uma mensagem de boas-vindas para o usuário GradeBook 39 27 public void displaymessage() 28 { 29 // essa instrução chama getcoursename para obter o 30 // nome do curso que esse GradeBook representa (2 de 2) 31 System.out.printf( "Welcome to the grade book for\n%s!\n", 32 getcoursename() ); 33 } // fim do método displaymessage 34 35 } // fim da classe GradeBook

1 // Fig. 3.11: GradeBookTest.java 2 // GradeBook constructor used to specify the course name at the 3 // time each GradeBook object is created. 4 5 public class GradeBookTest 6 { 7 // main method begins program execution 8 public static void main( String args[] ) 9 { 10 // create GradeBook object 11 GradeBook gradebook1 = new GradeBook( 12 "CS101 Introduction to Java Programming" ); 13 GradeBook gradebook2 = new GradeBook( 14 "CS102 Data Structures in Java" ); 15 16 // display initial value of coursename for each GradeBook 17 System.out.printf( "gradebook1 course name is: %s\n", 18 gradebook1.getcoursename() ); 19 System.out.printf( "gradebook2 course name is: %s\n", 20 gradebook2.getcoursename() ); 21 } // end main 22 23 } // end class GradeBookTest Chama o construtor para criar o primeiro objeto GradeBook Cria o segundo objeto GradeBook 40 GradeBookTest.Java gradebook1 course name is: CS101 Introduction to Java Programming gradebook2 course name is: CS102 Data Structures in Java

Exercícios de Fixação. 3.5 ao 3.11, 3.14 e 3.15 Disponíveis na página