Conceitos Essenciais de POO, MVC e Boas Práticas de Programação
Classificado em Computação
Escrito em em
português com um tamanho de 5,41 KB
Convenções e Boas Práticas de Programação
Convenções de Nomenclatura
Classes e Projetos (PascalCase)
Devem ser escritos com a primeira letra de cada palavra em maiúscula.
Pacotes, Métodos e Variáveis (camelCase)
Devem ser iniciados com letra minúscula.
Boas Práticas: Documentação
Utilize documentação através de comentários (como JavaDoc) antes de métodos e classes, para facilitar o entendimento e a manutenção do código.
Encapsulamento e Construtores
Por Que Evitar o Uso Indiscriminado de Getters e Setters?
O uso indiscriminado de get/set torna o encapsulamento sem sentido, uma vez que permite o acesso direto aos atributos antes considerados privados.
Como o Construtor Reduz a Necessidade de Métodos Set?
Ao criar um construtor com parâmetros, é possível atribuir valores iniciais aos atributos no momento da criação de um objeto, diminuindo a necessidade de setters.
O que são Construtores?
É um método especial cujo nome deve ser o mesmo da classe e não possui indicação de tipo de retorno. É chamado no momento da criação do objeto através do operador new.
Definição de Instanciar Objetos
É o processo de criar um objeto a partir de uma classe, alocando espaço na memória para ele. Utilizamos a instrução NEW para criar e instanciar o objeto.
Métodos Getters e Setters
- Set (Setter): Não retorna valor (
void). Utilizado para definir/modificar o valor de um atributo. - Get (Getter): Retorna valor. Utilizado para obter o valor de um atributo.
Padrão de Arquitetura MVC (Model-View-Controller)
O que é MVC?
É um padrão de arquitetura de software, onde a aplicação é separada em 3 camadas:
- Model: Camada de manipulação de dados e lógica de negócios.
- View: Camada de interação do usuário (telas e eventos).
- Controller: Camada de controle, intermediário entre a View e o Model.
Importância do MVC
É fundamental para manter o controle da aplicação, separando o modelo de dados da interface. Facilita a manutenção e o entendimento do código, definindo claramente a responsabilidade de cada componente.
Fluxo de Funcionamento do MVC
A View (interface) envia requisições. O Controller faz a intermediação, enviando essas requisições para o Model. O Model trata os dados e retorna o resultado para o Controller, que atualiza a View.
Conceitos Fundamentais de POO
Visibilidade (Modificadores de Acesso)
Define em que nível atributos e métodos podem ser acessados por outras classes (parte essencial do Encapsulamento).
Os 3 Níveis de Visibilidade
- Público (
public): Acessado por qualquer classe que tenha uma relação. - Privado (
private): Acessado apenas dentro da própria classe. - Protegido (
protected): Acessado apenas dentro da própria classe ou pelas classes descendentes (herança).
Conceito de Polimorfismo
Ocorre quando um método definido na classe mãe é redefinido (com uma nova implementação) na classe filha, mantendo a mesma assinatura do método original.
Reescrita de Método (Overriding)
É a forma de implementação do polimorfismo onde se garante que o código do método executado será o da classe filha, e não o da classe mãe.
O que é PSVM (public static void main)?
É o método principal que inicia a execução do programa e faz a ligação entre as outras classes.
Componentes e Layouts Swing (NetBeans)
Componentes e Propriedades
Componentes são os objetos inseridos em um JFrame (botões, painéis, etc.). As Propriedades são as características desses componentes, que podem ser alteradas.
Componentes de Contêiner
JFrame: Contêiner de nível superior, utilizado para inserir outros componentes.JPanel: Contêiner utilizado para organizar componentes dentro de umJFrame.
Layouts
Define como os componentes são organizados visualmente dentro de um contêiner.
Tipos de Layouts Comuns
- Desenho Livre: Apresenta guias e sugere o melhor local para organizar componentes (Design View).
- Layout Nulo (
null): Não organiza os componentes, exigindo posicionamento manual. - Layout Borda (
BorderLayout): Tela dividida em 5 partes: Norte, Sul, Leste, Oeste e Centro. - Layout Caixa (
BoxLayout): Componentes organizados na vertical ou horizontal.
O que é Look and Feel?
É a aparência visual da sua aplicação (a "cara"), englobando o conjunto de cores, formatos, bordas e imagens.
Componentes de Entrada e Saída
JLabel: Utilizado para exibir texto estático (nome do campo).JTextField: Componente de entrada de dados (caixa de texto).