Pesquisa de site

Abordagem Orientada a Objetos de Programação e Encapsulamento Java - Parte 5


Desde o início desta série (e mesmo antes disso) você sabia que Java é uma linguagem de programação orientada a objetos. A Linguagem de Programação Orientada a Objetos é baseada no conceito de “objetos”, que contém dados como atributos em métodos.

Cada objeto em Java possui estado e comportamento que são representados por variáveis e métodos de instância. Cada instância de uma classe pode ter um valor único para sua variável de instância.

Por exemplo,

A Máquina A pode ser equipada com Debian e ter 8GB de RAM enquanto a Máquina B pode ter o Gentoo instalado com 4GB de RAM. Também é óbvio que gerenciar máquinas que possuem o Gentoo instalado requer mais conhecimento – um comportamento que atue sobre seu estado. Aqui o método está usando valores de variáveis de instância.

A JVM quando analisa uma classe, ela cria um objeto desse tipo. Quando você está escrevendo uma classe, na verdade você age como um compilador dizendo à sua classe o que o objeto deve saber e como deve agir. Cada objeto de um tipo específico pode ter valores diferentes para a mesma variável de instância.

Cada instância de uma classe possui o mesmo método, mas é possível que todas elas se comportem de maneira diferente.

A classe OS possui 3 variáveis de instância, nomeadamente Nome do SO, Tipo de SO, Categoria do SO.

OS
OS_Name
OS_Type
OS_Category
Boot()
Reboot()
scan()

O método Boot() inicializa um sistema operacional que é representado pelo nome do sistema operacional para essa instância. Então se você boot() em uma instância você inicializará no Debian enquanto em outra instância você inicializará no Gentoo. O código do método permanece o mesmo em ambos os casos.

Void Boot() 
	{
	bootloader.bootos(OS_Name);
	}

Você já sabe que o programa começa a ser executado logo após o método main(). Você pode passar valores para seu método.

Por exemplo, você gostaria de informar ao sistema operacional quais serviços iniciar na inicialização como:

You are already aware that the program starts to execute just after the main() method. You can pass values into you method. For example you would like to tell you OS what services to start at boot as:
OS.services(apache2);

O que você passa para os métodos é chamado de argumentos. Você pode usar uma variável com um tipo e um nome dentro de um método. É importante passar valores com parâmetro se um método aceita um parâmetro.

OS deb = debian();
deb.reboot(600);

Aqui, o método de reinicialização no sistema operacional passa o valor 600 (reinicialização da máquina após 600 segundos) como argumento para o método. Até agora vimos o método sempre retornando void, o que significa que ele não retorna nada, simplesmente como:

void main()
	{
	…
	…
	}

No entanto, você pode pedir ao seu compilador para obter exatamente o que deseja e ele não retornará tipos errados. Você pode simplesmente fazer algo como:

int Integer()
	{
	…
	…
	return 70;
	}

Você pode enviar mais de um valor para um método. Você pode fazer isso chamando dois métodos de parâmetro e enviando-os para argumentos. Observe que o tipo de variável e o tipo de parâmetro devem sempre corresponder.

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}
Declarar e inicializar variáveis de instância

1. Quando você não sabe o valor para inicializar.

int a;
float b;
string c;

2. Quando você conhece o valor para inicializar.

int a = 12;
float b = 11.23;
string c = tecmint;

Nota: Variáveis de instância são frequentemente confundidas com variáveis locais, porém há uma linha muito tênue entre elas para diferenciá-las.

3. Variáveis de instância são declaradas dentro de uma classe, diferentemente das variáveis locais que são declaradas dentro de um método.

4. Ao contrário das variáveis de instância, as variáveis locais devem ser inicializadas antes de serem usadas. O compilador reportará erro se você usar a variável local antes de ser inicializada.

Encapsulamento

Você deve ter ouvido falar sobre encapsulamento. É um recurso da maior parte da linguagem de programação orientada a objetos que torna possível vincular dados e funções em um único componente. O encapsulamento é suportado pela classe e protege os códigos contra danos acidentais, criando uma parede ao redor dos objetos e ocultando suas propriedades e métodos, seletivamente.

Expandiremos o encapsulamento em detalhes no tutorial correto quando for necessário. A partir de agora é suficiente que você saiba o que é encapsulamento? O que faz? E como isso acontece?

É tudo por agora. Mantenha-se conectado para a próxima parte desta série Java “classes e objetos em Java e faça seu primeiro objeto em Java” enquanto estou trabalhando nisso. Se você gosta da série e posta nos avise no feedback.