Buscar

Introdução às Classes e Objetos em Java

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 4
Princípios da Orientação a Objetos
Introdução Classes e Objetos
Todo sistema orientado a objetos pode ser definido como um conjunto de objetos que trocam mensagens entre si. Então, quando programamos em Java, que é uma linguagem de programação orientada a objetos, estamos escrevendo ou definindo um conjunto de objetos que trocam mensagens.
As classes definem a estrutura e o comportamento de um tipo de objeto. A classe Árvore define um arcabouço de qualquer tipo de árvore. Uma árvore real será um objeto com estrutura a estrutura definida pela classe, mas os valores de cada árvore serão únicas.
Classe: Um protótipo que define os atributos e os métodos comuns a todos os objetos de um determinado tipo e da própria classe, com a finalidade de servir de molde para a criação de objetos.
Objeto: São a representação de uma entidade do mundo real, que tem identificador único, propriedades embutidas e a habilidade de interagir com outros objetos e consigo mesmo.  Um objeto é uma instância de uma classe. A classe descreve todas as características e funcionalidades de um objeto. Modelamos os objetos através das classes.
Abstração
	
Classes e Objetos em Java
Um programa Java é uma coleção de objetos que são descritos por um conjunto de arquivos-texto, onde são definidas as classes. Pelo menos uma destas classes é “public” e contém o método main(), que possui esta forma específica:
                     public static void main(String [] args) {
                                        // aqui o programador insere os comandos
                     }
Como vimos nas aulas anteriores todos os programas feitos tinham esta estrutura. E o nome da classe era o nome do arquivo. Então, podemos concluir que uma classe em Java é construída dentro de um arquivo texto com o mesmo nome da classe e extensão .java.
                           javac Oi.java
                           java Oi
Nos comandos acima, o compilador Java compila o arquivo texto Oi.java, gerando o bytecode. A máquina virtual interpreta a classe Oi, quando o comando java Oi é executado. 
Lembro que a classe que contém o método main() é chamada de classe principal.
Encapsulamento
É a disponibilização de uma interface pública, com granularidade controlada, para manipular os estados e executar as operações de um objeto ( * acesso permitido ).
Em outras palavras, os atributos e métodos de um objeto podem ser escondidos de outros objetos por uma interface pública de métodos, de modo a impedir acesso indevidos.
Para definir diferentes níveis de encapsulamento, faz-se uso do conjunto de modificadores de acesso disponíveis no Java para os membros de classe, com mostrado na tabela.
Definindo uma Classe em Java
Construindo uma classe: [modif] class NomeDaClasse { 
          // corpo da classe... 
}
A primeira linha é um comando que inicia a declaração da classe. Após a palavra-chave class, segue-se o nome da classe, que deve ser um identificador válido para a linguagem. O modificador modif é opcional; se presente, pode ser uma combinação de public e abstract ou final. A definição da classe, propriamente dita, está entre as chaves { e } que delimitam blocos na linguagem Java. Este corpo da classe, usualmente obedece à seguinte sequência de definição:
 
		
Criando Objetos em Java
Toda classe possui atributos e métodos. Em especial, toda classe tem um construtor, que é um método responsável pela instanciação do objeto. Este processo faz com que o objeto seja criado com as características desejadas. Para que um objeto exista em memória, ele precisa ter memória alocada, um endereço definido. O construtor é o responsável por isso. 
A criação de um objeto se dá através da aplicação do operador new.
ClasseNome objeto = new ClasseNome();
O método a direita do operador new é o construtor da classe ClasseNome. 
Podemos instanciar quantos objetos forem necessários. Contanto que guardemos a referência para o objeto em questão. A referência é como poderemos acessar aquele objeto. 
Caso um objeto não tenha mais nenhuma referência para ele, o coletor de lixo (garbage collector - GC) elimina o objeto, liberando a memória.
Atributos
Eles representam as características de um objeto. Devem ser privados, para manter o encapsulamento. A definição de atributos de uma classe Java reflete de forma quase direta a informação que estaria contida na representação da classe em um diagrama UML. Para tanto, a sintaxe utilizada para definir um atributo de um objeto é:
[modificador] tipo nome [ = default];
Onde:
Métodos
Os métodos representam as funcionalidades que os objetos podem desempenhar. São essencialmente procedimentos que podem manipular atributos de objetos para os quais o método foi definido. Além dos atributos de objetos, métodos podem definir e manipular variáveis locais; também podem receber parâmetros por valor através da lista de argumentos. A forma genérica para a definição de um método em uma classe é:
 [modificador] tipo nome(argumentos) { 
          corpo do método 
}
Onde:	
	
Métodos
Uma boa prática de programação é manter a funcionalidade de um método simples, desempenhando uma única tarefa. O nome do método deve refletir de modo adequado a tarefa realizada. Se a funcionalidade do método for simples, será fácil encontrar um nome adequado para o método. 
Como ocorre para a definição de atributos, a definição de métodos reflete de forma quase direta a informação que estaria presente em um diagrama de classes UML, a não ser por uma diferença vital: o corpo do método. 
Métodos de mesmo nome podem co-existir em uma mesma classe desde que a lista de argumentos seja distinta, usando o mecanismo de sobrecarga.

Outros materiais