CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)

Slides:



Advertisements
Apresentações semelhantes
MÉTODOS Dilvan Moreira (baseado no livro Big Java)
Advertisements

VARIÁVEIS EM JAVA Dilvan Moreira (baseado no livro Big Java)
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
VARIÁVEIS EM C Dilvan Moreira. Lembrando...  Variável: nome de um local na memória onde dados são armazenados  Evita ter que lembrar um endereço numérico.
PROGRAMANDO EM JAVA Dilvan Moreira (baseado no livro Big Java)
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
LINGUAGEM DE PROGRAMAÇÃO. Breve histórico Ada Lovelace Luigi Menabrea Charles Babbage TradutorMemóriasMáquina analítica.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
Introdução à Computação para Engenharia MAC2166
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal
Recursividade, Entrada pelo teclado e Funções com retorno
Complementos de Engenharia de Software A linguagem VDM++ (4ª parte – Funções avançadas) João Pascoal Faria
Linguagem C Para programadores Python
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Prof. Wellington Franco
ARRAYS Dilvan Moreira (baseado no livro Big Java e T. Munzner)
LINGUAGENS DE PROGRAMAÇÃO
Introdução à Programação BCC 201 Aula
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
DESENVOLVIMENTO DE PROGRAMAS
Vantagens e desvantagens da recursão
Unidade IV– Relacionamento entre Objetos
Estruturas de Dados Vetores.
Programação Orientada a Objetos em Python
Arquitetura de Computadores
PIT – PROGRAMA INTERNO DE TREINAMENTO 2015
FUNDAMENTO DE PROGRAMAÇÃO
Programação Orientada a Objetos
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Intersecção e Reunião de Intervalos
Programação Orientada a Objetos
Diagramas de Sequência
Tipos de Arquivos Arquivos podem armazenar caracteres (arquivo texto) ou bytes (arquivos binários); Na prática, arquivos textos são abertos por editores.
Algoritmos e Programação MC102
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
Elaborando as Interfaces Aulas 37, 38 e 39.
Remote Method Invocation
Programação Orientada a Objetos*
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
3.2 Sobrecarga de Métodos (Overloading)
Linguagem de Programação II
Programação Orientada a Objetos*
Linguagem PASCAL Tipos Estruturados
Rosemary Silveira Filgueiras Melo
Algorítmos e Técnicas de Programação
3.1.7 Variáveis de Classe e Instância
Programação Orientada a Objetos
Laboratório I Mateus Raeder.
Laboratório I Mateus Raeder.
Laboratório I Mateus Raeder.
Rosemary Silveira Filgueiras Melo
Programação Funcional
Computação Eletrônica Funções e Escopo de Variáveis
ALGORITMOS.
Linguagem de Programação Aplicações Avançadas de Microprocessadores
Estruturas definidas pelo programador
Tipos Primitivos de Dados
RESULUÇÃO DOS EXERCÍCIOS,
Ordenando Coleções A Classe Collections.
CALCULADORA CARACTERE E VARIÁVEIS COMPOSTAS OU VETORES EM JAVA
Programação Orientada a Objetos
Compiladores – Introdução
Ponteiros.
Constantes, Variáveis e Memória
Interface Java: JFrame, JPanel, JButton, JLabel, JMenuBar, Jmenu, JMenuItem, addSeparator() e a biblioteca Java.Math Prof. Esp. André Aparecido da Silva.
Operadores Aritméticos
RESULUÇÃO DOS EXERCÍCIOS E
Percorrendo coleções com Iterator
Transcrição da apresentação:

CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)

Lembrando Atribuição …  Operador: =  = não significa uma afirmação de igualdade  = é usado para mudar o valor de uma variável 1. int luckyNumber = 13; //[linha 1] 2. luckyNumber = 12; //[linha 2]

Leitura  Primeira metade do capítulo 2 (1st Edition)  2.1 Using and Constructing Objects  2.2 Object Variables  2.3 Defining a Class  2.4 Testing a Class  2.5 Instance Fields  2.6 Constructors

Programação  Programação é o problema de especificar:  os dados que vão ser usados ou manipulados  as operações que agem sobre esses dados  a ordem em que as operações são aplicadas aos dados  Até agora: especificamos dados usando os tipos primitivos  com operações pré-definidas como +, -, *, e /

Programando com Classes  E se os dados que queremos trabalhar são mais complexos que esses tipos primitivos?

Programando com Classes  E se os dados que queremos trabalhar são mais complexos que esses tipos primitivos?  Nós podemos criar nossos próprios tipos de dados: criando uma classe, nela:  especificamos a natureza dos dados que vamos usar  criamos as operações que vão ser feitas no nosso conjunto de dados  Operações definidas dentro de uma classe são chamadas métodos

Programando com Classes  Nós podemos ter múltiplas variáveis de tipos primitivos (ex: int)  cada uma com um nome diferente  cada uma com um valor diferente int x = 5; int y = 17;  Similarmente para classes: Nós podemos ter múltiplas variáveis (ou instâncias) de uma classe (ex: String)  cada uma com um nome diferente  cada uma com um valor diferente String name = “Tamara Munzner”; String computerName = “pangolin”;

Programando com Objetos  Object: uma instancia específica de uma classe  Classes são moldes para a criação de objetos  do mesmo modo que o tipo int é um molde para a criação de números inteiros  programadores definem classes  e objetos são criados a partir de classes

Objetos e Classes  Objeto: entidade que manipulamos nos programas (pela chamada de métodos)  Cada objeto pertence a uma classe. Por exemple, System.out pertençe a classe PrintStream

Métodos  Método: Sequência de instruções que acessam os dados de um objeto  Objetos são manipulados através de seus métodos  Classe: Define um conjunto de objetos com o mesmo comportamento (conjunto de métodos)  A classe determina quais métodos são permitidos String greeting = "Hello"; greeting.println() // Error greeting.length() // OK

Exemplo de Objeto public class StringTest { public static void main (String[] args) { String firstname; String lastname; firstname = new String (“Kermit"); lastname = new String (“theFrog"); System.out.println("I am not " + firstname + " " + lastname); }

Exemplo de Objeto  Declara dois objetos String diferentes  um chamado firstname e outro chamado lastname public class StringTest { public static void main (String[] args) { String firstname; String lastname; firstname = new String ("Kermit"); lastname = new String (“theFrog"); System.out.println("I am not " + firstname + " " + lastname); }

Exemplo de Objeto  A simples declaração de uma variável não cria objetos! public class StringTest { public static void main (String[] args) { String firstname; String lastname;

Exemplo de Objeto  A simples declaração de uma variável não cria objetos!  Apenas diz ao compilador para reservar espaço para esses dois nomes  Esses espaços não vão armazenar os objetos  Eles guardam ponteiros (referências) para o endereço onde os objetos são armazenados.  Os objetos são armazenados em algum lugar na memória. public class StringTest { public static void main (String[] args) { String firstname; String lastname;

public class StringTest { public static void main (String[] args) { String firstname; String lastname; firstname = new String ("Kermit"); lastname = new String (“theFrog"); System.out.println("I am not " + firstname + " " + lastname); } Exemplo de Objeto  Assim firstname e lastname não vão conter objetos Strings  elas contém referencias para objetos String

Construtores  Construtores: método com o mesmo nome da classe  sempre usado com new  cria o objeto  geralmente inicializado com dados firstname = new String (“Kermit");

public class StringTest { public static void main (String[] args) { String firstname; String lastname; firstname = new String (“Kermit"); lastname = new String (“theFrog"); System.out.println("I am not " + firstname + " " + lastname); } Exemplo de Objeto  new e o construtor de String criam uma instancia da classe String  um objeto String com o valor “Kermit”  Coloca esse objeto em algum lugar da memória  coloca o endereço do objeto em firstname

Exemplo de Objeto firstname

Exemplo de Objeto firstname String object “Kermit” expressão no lado direito do operador

Exemplo de Objeto firstname String object “Kermit” variável aponta para o resultado da expressão da direita: no caso, o objeto string “Kermit”

public class StringTest { public static void main (String[] args) { String firstname; String lastname; firstname = new String (“Kermit"); lastname = new String (“theFrog"); System.out.println("I am not " + firstname + " " + lastname); } Exemplo de Objeto  Do mesmo jeito …

Exemplo de Objeto  Declaração e podem ser feitos na mesma linha  exatamente com é feito com tipos primitivos public class StringTest { public static void main (String[] args) { String firstname = new String (“Kermit"); String lastname = new String (“theFrog"); System.out.println("I am not " + firstname + " " + lastname); }

Programa  Crie uma classe para representar retângulos. Nessa classe crie um método intersection que calcula a intersecção de dois retângulos.  Rectangle r3 = r1.intersection(r2);  Escreva um programa IntersectionPrinter que constrói dois retângulos, imprime seus valores, acha a interseção entre eles e imprime os valores da interseção.

Perguntas?