Projetando e criando objetos

Se você é novo nos objetos, provavelmente será usado para criar programas Java usando apenas um arquivo - um arquivo de classe principal do Java. É a classe que possui o método principal definido para o ponto de partida de um programa Java.

A definição de classe na próxima etapa precisa ser salva em um arquivo separado. Ele segue as mesmas diretrizes de nomenclatura usadas para o arquivo de classe principal (ou seja, o nome do arquivo deve corresponder ao nome da classe com a extensão do arquivo .java). Por exemplo, como estamos criando uma classe Book, a seguinte declaração de classe deve ser salva em um arquivo chamado "Book.java".

Os dados que um objeto contém e como ele manipula esses dados são especificados através da criação de uma classe. Por exemplo, abaixo está uma definição muito básica de uma classe para um objeto Book:

Os campos são usados ​​para armazenar os dados do objeto e combinados compõem o estado de um objeto. Como criamos um objeto Livro, faria sentido manter dados sobre o título, autor e editor do livro:

instagram viewer

Os campos são apenas variáveis ​​normais com uma restrição importante - eles devem usar o modificador de acesso "private". A palavra-chave privada significa que essas variáveis ​​só podem ser acessadas de dentro da classe que as define.

Nota: essa restrição não é imposta pelo compilador Java. Você pode criar uma variável pública em sua definição de classe e a linguagem Java não irá reclamar disso. No entanto, você estará quebrando um dos princípios fundamentais da programação orientada a objetos - dados encapsulamento. O estado dos seus objetos só deve ser acessado através de seus comportamentos. Ou, em termos práticos, seus campos de classe devem ser acessados ​​apenas através dos métodos de classe. Cabe a você impor o encapsulamento de dados nos objetos que você cria.

O método construtor usa o mesmo nome da classe (isto é, Book) e precisa estar acessível ao público. Ele pega os valores das variáveis ​​que são passadas para ele e define os valores dos campos da classe; definindo assim o objeto para seu estado inicial.

Comportamentos são as ações que um objeto pode executar e são escritos como métodos. No momento, temos uma classe que pode ser inicializada, mas não faz muito mais. Vamos adicionar um método chamado "displayBookData" que exibirá os dados atuais mantidos no objeto:

Poderíamos adicionar quantos métodos e campos desejássemos, mas por enquanto vamos considerar a classe Book como completa. Possui três campos para armazenar dados sobre um livro, pode ser inicializado e pode exibir os dados que ele contém.

No lado esquerdo do sinal de igual está a declaração do objeto. Está dizendo que eu quero criar um objeto Book e chamá-lo de "firstBook". No lado direito do sinal de igual, está a criação de uma nova instância de um objeto Book. O que ele faz é ir para a definição da classe Book e executar o código dentro do método construtor. Portanto, a nova instância do objeto Livro será criada com os campos de título, autor e editor definidos como "Horton Hears A Who!", "Dr. Suess" e "Random House", respectivamente. Finalmente, o sinal de igual define nosso novo objeto firstBook como a nova instância da classe Book.

instagram story viewer