quinta-feira, 4 de agosto de 2011

Java - Classes e Objetos

CADA ITEM TEM UM OU MAIS LINKS PARA O TUTORIAL JAVA

Objetos
Estado e compartamento (state and behaviour).
Estado = campos (fields)
Comportamento = métodos (methods), que são funções ou procedimentos.
Encaspulamento de dados: esconder campos, e permitir operação só através dos métodos.
Objeto controla como pode ser usado.  O código fica todo dentro dos objetos, na forma de métodos.  Vantagens:
  • Modularidade: objetos desenvolvidos e mantidos independentemente.
  • Reuso de código: se alguém já implementou um certo objeto, podemos usar.
  • Facilidade de substituição: é fácil trocar um objeto por outro com funcionalidade equivalente.

Variáveis
Tipos de variáveis em Java:
variáveis da instância (campos não estáticos)
variáveis da classe (campos estáticos)
variáveis locais
parâmetros
Variáveis que nunca mudam de valor: final.
(exemplo)

Campos e métodos são membros.
Convenções para nomes de membros: inicial minúscula, camel-case.
Boa prática: nomes de funções são sempre substantivos (o que retorna) e nomes de procedimentos são verbos (o que faz).

Classes
Tipos, ou modelos para objetos deste tipo.
Cada objeto é uma instância de uma classe.
Classes e suas subclasses formam uma hierarquia.
Convenções para nomes de membros: inicial maiúscula, camel-case.
(exemplos)

Como definir Métodos - 6 partes: modificador, tipo de retorno, nome, lista de parâmetros, exceções, corpo.
Assinatura: nome e parâmetros.Sobrecarga: mesmo nome, parâmetros diferentes (use com critério).
Construtores: métodos para inicializar objetos da classe
Sem tipo de retorno. Sobrecarga de construtores é comum.
Construtor default sem parâmetros.
Classe pai default: Object.

Mensagens ou chamadas
Parâmetros e argumentos.
Não é possível passar métodos como parâmetros.  Mas pode-se "simular" esta ação passando um objeto e chamando seus métodos.  Exemplo: sort.
Número variável de argumentos (simula um vetor).
Parâmetros que "encobrem" um campo: uso de this.
Tipos primitivos são sempre passados por valor.
Objetos e arrays são sempre passados por valor também, mas seus campos podem ser alterados dentro do método.

Tipos primitivos
Há 4 variedades de inteiros.
Todos são com sinal, representados em complemento de 2.
  • byte: inteiro de 8 bits.
  • short: inteiro de 16 bits.
  • int: inteiro de 32 bits.
  • long: inteiro de 64 bits.
Há duas variedades de números em ponto flutuante.
Todos seguem o padrão IEEE 754.
  • float: 32 bits.
  • double: 64 bits.
Além destes há:
  • boolean: apenas true ou false.
  • char: caractere Unicode de 16 bits.

Além destes, existe a classe String, e a linguagem Java dá suporte especial para ela: operador infixo +, por exemplo. Uma String é imutável, porém.

Valores default: campos são inicializados pelo compilador.  Variáveis locais, não.

A linguagem Java oferece literais para os tipos primitivos e para Strings.  Java 7: pode usar underscore ("_") em números.

Criando objetos (ponteiros, referências)
Declaração: determina o tipo (classe) do objeto.
Instanciação: efetivamente cria o objeto, através do operador new.
Inicialização: dá valores iniciais a seus campos (geralmente feita por um construtor).

Pacotes - espaços de nomes.
Implementados como diretórios (pastas).

Como compilar programas - IDE NetBeans
Pode-se usar Eclipse também, ou simplesmente a linha de comando.

Método main.  Tem que ser public static void.

Arrays sabem seu tamanho (.length).
Índices sempre começam de zero.
Declaração e criação.  Acesso.
Métodos pré-definidos: java.util.Arrays

Nenhum comentário:

Postar um comentário