Cursos / Informática para Internet / Desenvolvimento Desktop / Aula

arrow_back Aula 01 - Revisão de POO e Introdução ao Netbeans

Construtores

A ideia principal por trás da OO é separar claramente os conceitos dos algoritmos em entidades atômicas, de modo a tornar o código mais organizado, legível e fácil de manter. Entende-se aqui por entidades atômicas aquelas que são autossuficientes, ou seja, podem existir por si só. Justamente por serem atômicas é que o acesso aos atributos internos das classes, se bem controlados, deixam o código mais seguro.

No exemplo anterior, a seguinte instrução, quando implementada em uma classe diferente da classe Motor, resultaria em erro:

Mas, então, você poderia perguntar: como modificar e acessar o conteúdo de potência? A resposta mais apropriada, mantendo a atomicidade da classe, seria: por meio de métodos específicos para isso, como, por exemplo:

e

Para modificar o valor do atributo potencia, faríamos:

Dessa forma, somente métodos da classe podem acessar seus atributos, garantindo maior segurança na execução do algoritmo.

Normalmente, os atributos são declarados como privados e os métodos como públicos. Atente para o fato de que pelo menos um método da classe, necessariamente, precisa ser público; caso contrário, os objetos dessas classes não poderão interagir com o resto do programa. Assim como para atributos, métodos privados somente podem ser acessados por outros métodos da mesma classe.

Obviamente, como conceitos não existem sozinhos, as classes necessitam se relacionar com outras classes. Por exemplo, os conceitos apresentados anteriormente para a criação/definição de carros (rodas, motor, carenagem, volante e acelerador) necessitam se relacionar de modo a conceitualizar corretamente um carro e colocá-lo em funcionamento. Relacionamentos: podem ser implementados por meio do instanciamento de um objeto internamente a uma classe ou de um ponteiro para esse objeto.

Por exemplo, poderia ser declarada uma classe chamada Valvula e um objeto dessa classe ser instanciado dentro da classe Motor, estabelecendo-se, assim, um relacionamento entre motor e um de seus componentes internos: as válvulas. Veja o exemplo a seguir:

Observe que somente os métodos da classe Motor podem acessar o objeto "v", uma vez que esse atributo é declarado como privado. Ainda, os atributos privados de Valvula também somente poderão ser acessados pelos métodos dessa classe. Por exemplo, imagine que a classe Valvula possui um atributo booleano e privado chamado "executa" e que inicia (no método construtor de Valvula) como false. Se algum método de Motor quiser atribuir true para o atributo "executa" de Valvula, então, terá que ser feito da seguinte forma:

Obviamente, o método setExecuta (boolean valor) deverá estar implementado na classe Valvula e deverá ser público (public).

Versão 5.3 - Todos os Direitos reservados