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

  1. Público (public): Acessado por qualquer classe que tenha uma relação.
  2. Privado (private): Acessado apenas dentro da própria classe.
  3. 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 um JFrame.

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).

Entradas relacionadas: