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.