Fundamentos de Java: Modificadores, Herança, Swing e Eventos

Classificado em Computação

Escrito em em português com um tamanho de 7,21 KB

Modificadores de Acesso em Java

PUBLIC: O modificador public deixa a classe ou membro visível para todas as outras classes, subclasses e pacotes do projeto Java.

PRIVATE: O modificador private deixa o atributo visível apenas para a classe em que ele se encontra.

PROTECTED: O modificador protected deixa o atributo visível para todas as outras classes e subclasses que pertencem ao mesmo pacote. A principal diferença é que apenas as classes do mesmo pacote têm acesso ao membro. O pacote da subclasse não tem acesso ao membro.

PADRÃO (SEM MODIFICADOR): Por padrão, a linguagem Java permite acesso aos membros apenas ao pacote em que ele se encontra.

Métodos Getters e Setters

MÉTODO GETTER: É utilizado para recuperar informações, geralmente de um atributo, sem a necessidade de acessá-lo explicitamente. Assim, o acesso é feito através de métodos, o que é um dos princípios da Programação Orientada a Objetos (POO).

MÉTODO SETTER: É utilizado para definir (setar) um valor em um objeto ou variável.

Convenções para Getters e Setters

SET: Nomeamos um método acessor com set sempre que ele for modificar um campo ou atributo de uma classe. Se um método set não for criado para um atributo, isso indica que o atributo não deve ser modificado. Métodos setters são void (não retornam valor) e obrigatoriamente recebem um argumento, que será o novo valor do campo.

GET: Nomeamos um método acessor com get sempre que ele for consultar (verificar) um campo ou atributo de uma classe. Como este método retorna um valor, ele terá um tipo de retorno (ex: String, int, float, etc.) e não receberá argumentos.

Herança em Java: Conceitos e Aplicação

Enquanto programamos em Java, frequentemente trabalhamos com várias classes. Muitas vezes, classes diferentes compartilham características comuns. Em vez de criar uma nova classe com todas essas características, podemos reutilizar as de um objeto ou classe já existente. A herança é um princípio da POO que permite a criação de novas classes (chamadas subclasses ou classes derivadas) a partir de outras previamente criadas (chamadas superclasses ou classes base).

Dessa forma, é possível criar uma hierarquia de classes, tornando-as mais amplas ou mais específicas. Uma subclasse herda métodos e atributos de sua superclasse; apesar disso, pode sobrescrevê-los para uma forma mais específica de representar o comportamento do método herdado.

Palavras-chave extends e super

Para fazer uma classe herdar as características de outra, usamos a palavra reservada extends logo após a definição do nome da classe. Dessa forma:

class NomeDaClasseASerCriada extends NomeDaClasseASerHerdada

Importante: Java permite que uma classe herde características de apenas uma única classe (não há herança múltipla). No entanto, é permitida a herança em cadeia. Por exemplo: se a classe Mamifero herda a classe Animal, quando a classe Cachorro herdar a classe Mamifero, a classe Cachorro também herdará as características da classe Animal.

Como estamos tratando de herança de classes, toda classe tem seu método construtor. Portanto, se estamos trabalhando com duas classes, temos dois métodos construtores. Para acessarmos o método construtor da classe que está sendo herdada, usamos super(). Podemos usar super para qualquer construtor da classe pai, pois o Java consegue diferenciar os construtores por causa da sobrecarga de métodos.

Swing: Kit de Ferramentas GUI

SWING: É um kit de ferramentas GUI e faz parte da JFC. O Swing é uma biblioteca de classes para a construção de interfaces de janelas.

Delegação em Java

DELEGAÇÃO: É uma técnica que promove a reutilização de código, permitindo a invocação de funções em um contexto de instância específica, independentemente da hierarquia. Ao utilizar a composição (uma forma de delegação), ganhamos mais flexibilidade e é uma abordagem comum em muitos padrões de projeto. Embora a herança possa acelerar o desenvolvimento inicial, a delegação (composição) muitas vezes resulta em um código mais fácil de manter e alterar a longo prazo.

Componentes GUI Comuns em Java Swing

JLabel: É um componente muito utilizado em Java para a criação de formulários que necessitam de textos ou imagens. No NetBeans, a inserção é feita após a criação de um novo JPanel ou JFrame, usando a opção "Rótulo" na janela "Paleta".

JTextField: É um componente muito utilizado em Java para a criação de formulários que requerem entrada de dados via teclado. No NetBeans, a inserção é feita após a criação de um novo JPanel ou JFrame, usando a opção "Campo de Texto" na janela "Paleta".

JButton: É um componente muito utilizado em Java para a criação de formulários que necessitam de botões para acionar ações internas ou externas (ex: salvar em banco de dados ou arquivo). No NetBeans, a inserção é feita após a criação de um novo JPanel ou JFrame, usando a opção "Button" na janela "Paleta".

GUI (Graphical User Interface)

Uma interface gráfica com o usuário apresenta um mecanismo amigável para interagir com um aplicativo.

Tratamento de Eventos em Java

HANDLER DE EVENTOS: As tarefas de resposta realizadas em um evento são conhecidas como handlers de evento, e o processo total de responder a eventos é conhecido como tratamento de eventos. Para cada tipo de evento, uma interface de escuta deve ser implementada.

Conceitos de Eventos

  • Origem do Evento: É o componente GUI com o qual o usuário interage.
  • Objeto do Evento: Contém os dados do evento invocado, servindo como referência à origem do evento e a quaisquer informações específicas que o ouvinte possa precisar para processar o evento.
  • Ouvinte do Evento: É um objeto que é notificado pela origem do evento quando um evento ocorre.

Listeners (Ouvintes)

São interfaces que implementamos para sobrescrever métodos que serão disparados por ações do usuário (ex: clique em um botão). Os eventos do usuário são capturados pelo Swing, que então invoca o método implementado.

Método add()

Serve para adicionar um objeto a um frame ou contêiner.

Entradas relacionadas: