image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image

WN

Walmir Neto03/06/2024 16:10
Compartilhe

Os Fundamentos da POO em Java: Entenda Classes, Objetos e Métodos

    Introdução

    Você já brincou com peças de Lego? Em Java, a Programação Orientada a Objetos (POO) funciona de maneira semelhante. Usamos POO para dividir o código em pequenas partes chamadas objetos, que são como essas peças de Lego. Cada objeto tem suas próprias características e funções, o que torna o código mais fácil de entender e reutilizar. Neste artigo, vamos explorar os conceitos fundamentais de POO em Java, incluindo classes, atributos, métodos, herança e modularização. Vamos aprender como esses conceitos se unem para criar programas bem organizados e eficientes.

    image

    O que são os fundamentos de POO em Java

    POO significa Programação Orientada a Objetos. Em Java, usamos POO para organizar o código em pequenas partes chamadas "objetos". Esses objetos são como peças de Lego, cada um com suas próprias funções e dados. Eles ajudam a deixar o código mais fácil de entender e de reutilizar.

    Como funcionam as estruturas de POO em Java

    Em Java, temos três principais estruturas: classes, objetos e métodos. Uma **classe** é como um molde ou planta, descrevendo como os objetos serão. Um **objeto** é uma instância dessa classe, como um carro específico feito a partir do molde. Os **métodos** são as ações que esses objetos podem realizar, como "dirigir" ou "parar".

    Classe

    Uma classe em Java é como uma planta de uma casa. Ela define como os objetos dessa classe serão. Por exemplo, uma classe Carro dirá que todo carro tem uma cor, um modelo e um ano de fabricação. Também define o que os carros podem fazer, como dirigir e parar.

    Atributos

    Os atributos são as características dos objetos. Em nossa classe Carro, os atributos podem incluir "cor", "modelo" e "ano". Eles guardam informações sobre cada carro específico. Por exemplo, um carro pode ser vermelho, modelo SUV, e do ano 2020.

    Métodos

    Os métodos são as ações que os objetos podem realizar. Eles são como os verbos que descrevem o que o objeto pode fazer. No caso do nosso carro, o método "dirigir" faz o carro "andar", e o método "parar" faz o carro parar.

    image

    Exemplo de código

    // Classe Carro
    class Carro {
    // Atributos
    String cor;
    String modelo;
    int ano;
    
    // Método
    void dirigir() {
      System.out.println("O carro está dirigindo.");
    }
    
    void parar() {
      System.out.println("O carro parou.");
    }
    }
    
    // Criação de um objeto Carro
    public class Main {
    public static void main(String[] args) {
      Carro meuCarro = new Carro();
      meuCarro.cor = "Vermelho";
      meuCarro.modelo = "SUV";
      meuCarro.ano = 2020;
      meuCarro.dirigir();
      meuCarro.parar();
    }
    }
    

    Herança

    Herança é um conceito onde uma classe pode "herdar" as características de outra. Por exemplo, se temos uma classe Veiculo, podemos criar uma classe Carro que herda de Veiculo. Isso significa que Carro terá todas as características e comportamentos de Veiculo, além dos seus próprios.

    image

    Exemplo de herança

    // Classe Veiculo
    class Veiculo {
    String marca;
     
    void buzinar() {
      System.out.println("Buzinando!");
    }
    }
    
    // Classe Carro que herda de Veiculo
    class Carro extends Veiculo {
    String cor;
    int ano;
     
    void dirigir() {
      System.out.println("O carro está dirigindo.");
    }
    }
    
    // Uso da herança
    public class Main {
    public static void main(String[] args) {
      Carro meuCarro = new Carro();
      meuCarro.marca = "Toyota";
      meuCarro.cor = "Vermelho";
      meuCarro.ano = 2020;
      meuCarro.dirigir();
      meuCarro.buzinar();
    }
    }
    

    Interface

    Uma interface em Java é como um contrato que uma classe pode assinar. Esse contrato diz que a classe deve implementar todos os métodos que a interface define. Interfaces permitem que classes diferentes sejam usadas de maneira intercambiável se implementarem a mesma interface. Isso é útil para garantir que diferentes classes sigam a mesma estrutura básica de comportamento.

    Exemplo de interface

    // Interface Animal
    interface Animal {
    void fazerSom();
    }
    
    // Classe Cachorro implementa a interface Animal
    class Cachorro implements Animal {
    public void fazerSom() {
      System.out.println("O cachorro late: Au Au!");
    }
    }
    
    // Classe Gato implementa a interface Animal
    class Gato implements Animal {
    public void fazerSom() {
      System.out.println("O gato mia: Miau!");
    }
    }
    
    // Uso da interface
    public class Main {
    public static void main(String[] args) {
      Animal meuAnimal1 = new Cachorro();
      Animal meuAnimal2 = new Gato();
    
      meuAnimal1.fazerSom();
      meuAnimal2.fazerSom();
    }
    }
    

    Modularização

    Modularização é o processo de dividir um programa grande em partes menores e mais manejáveis chamadas módulos. Cada módulo tem uma responsabilidade específica, tornando o código mais organizado e fácil de entender. Em Java, podemos criar módulos usando classes e pacotes, que permitem agrupar classes relacionadas.

    Exemplo de modularização

    // Pacote de veículos
    package veiculos;
    
    // Classe Carro
    public class Carro {
    String cor;
    String modelo;
    int ano;
    
    public void dirigir() {
      System.out.println("O carro está dirigindo.");
    }
    }
    
    // Pacote principal
    package principal;
    
    import veiculos.Carro;
    
    public class Main {
    public static void main(String[] args) {
      Carro meuCarro = new Carro();
      meuCarro.cor = "Vermelho";
      meuCarro.modelo = "SUV";
      meuCarro.ano = 2020;
      meuCarro.dirigir();
    }
    }
    

    Polimorfismo

    Polimorfismo é um conceito que permite que objetos de diferentes classes sejam tratados como objetos da mesma classe através de uma interface comum. Isso significa que uma única função pode funcionar de diferentes maneiras dependendo do objeto que a chama. É como ter uma única chave que pode abrir várias portas.

    Exemplo de polimorfismo

    // Interface Veiculo
    interface Veiculo {
    void mover();
    }
    
    // Classe Carro implementa Veiculo
    class Carro implements Veiculo {
    public void mover() {
      System.out.println("O carro está dirigindo.");
    }
    }
    
    // Classe Bicicleta implementa Veiculo
    class Bicicleta implements Veiculo {
    public void mover() {
      System.out.println("A bicicleta está pedalando.");
    }
    }
    
    // Uso do polimorfismo
    public class Main {
    public static void main(String[] args) {
      Veiculo meuVeiculo1 = new Carro();
      Veiculo meuVeiculo2 = new Bicicleta();
    
      meuVeiculo1.mover();
      meuVeiculo2.mover();
    }
    }
    

    Conclusão

    Gostou de aprender sobre POO em Java? Esse conteúdo foi gerado por inteligência artificial, mas foi revisado por alguém 100%, se quiser saber mais sobre mim, me siga no Linkedin

    Hashtags

    #ProgramaçãoJava #AprendizadoPOO #DicasDeCódigo

    Compartilhe
    Comentários (3)
    Luciano Lucas
    Luciano Lucas - 03/06/2024 19:26

    Perfeito! Complemento muito bom!

    Isabella Anna
    Isabella Anna - 03/06/2024 17:10

    Muito bom! Adorei

    WN

    Walmir Neto - 03/06/2024 16:13

    Conteúdo criado de acordo com o aprendizado do Láb de Formação ChatGPT for Devs com professor Felipe Aguiar