image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Niceu Biriba
Niceu Biriba26/10/2023 11:40
Compartilhe
WEX - End to End EngineeringRecomendados para vocêWEX - End to End Engineering

Explorando os Fundamentos da Programação Orientada a Objetos

    E aí, galera, mais algumas dicas, hoje com POO ou Programação Orientada a Objetos com exemplos praticos e de facil entendimento. Minha jornada com a POO no curso começou com uma base sólida, mas eu sabia que era essencial aprofundar meu entendimento e aplicação prática. O curso "Programação Orientada a Objetos na prática com CSharp" no bootcapm da WEX na DIO foi o caminho que escolhi, e ele não decepcionou. A primeira coisa que me surpreendeu foi a qualidade do conteúdo e a facilidade de compreensão, mesmo para alguém com algum conhecimento prévio.

    Um pouco sobre o que é POO: é um paradigma essencial no mundo da programação ela tem uma abordagem de programação que se baseia em objetos e suas interações para criar sistemas mais organizados, reutilizáveis e fáceis de manter. Um dos principais princípios da POO é a encapsulamento, que permite ocultar detalhes de implementação e fornecer uma interface clara para a interação com os objetos. 

    Abstração:

    A abstração é o processo de simplificar a complexidade de um sistema, identificando os atributos e comportamentos essenciais de um objeto e ocultando os detalhes irrelevantes. Em C#, a abstração pode ser alcançada usando classes abstratas e métodos abstratos. Vamos considerar um exemplo de abstração usando animais:

    public abstract class Animal
    {
    public abstract void EmitSound();
    }
    
    public class Dog : Animal
    {
    public override void EmitSound()
    {
      Console.WriteLine("Au-Au!");
    }
    }
    
    public class Cat : Animal
    {
    public override void EmitSound()
    {
      Console.WriteLine("Miau!");
    }
    }
    

    Neste exemplo, a classe "Animal" é abstrata e possui um método abstrato "EmitSound()". As classes "Dog" e "Cat" herdam de "Animal" e implementam o método "EmitSound()" de acordo com suas características.

    Encapsulamento:

    O encapsulamento é o princípio de ocultar os detalhes internos de um objeto e permitir o acesso controlado aos seus membros. Em C#, isso é feito usando propriedades, métodos e modificadores de acesso. Um exemplo de encapsulamento:

    public class Person
    {
    private string name;
     
    public string Name
    {
      get { return name; }
      set { name = value; }
    }
     
    public void DisplayInfo()
    {
      Console.WriteLine("Name: " + name);
    }
    }
    

    Neste exemplo, o campo "name" é encapsulado usando uma propriedade "Name", que permite o acesso controlado a esse campo.

    Herança:

    A herança é o processo de criar uma nova classe com base em uma classe existente. A nova classe herda os atributos e métodos da classe base. Um exemplo de herança:

    public class Vehicle
    {
    public string Marca{ get; set; }
    public string Modelo { get; set; }
     
    public void Start()
    {
      Console.WriteLine("Deu partida.");
    }
    }
    
    public class Car : Vehicle
    {
    public void Accelerate()
    {
      Console.WriteLine("O carro está acelerando.");
    }
    }
    

    A classe "Car" herda da classe "Vehicle", o que significa que "Car" possui os atributos e métodos de "Vehicle" além de seus próprios membros.

    Polimorfismo:

    O polimorfismo permite que objetos de diferentes classes sejam tratados de maneira uniforme. Isso é alcançado usando métodos com o mesmo nome em classes diferentes. Vamos considerar um exemplo de polimorfismo:

    public class Shape
    {
    public virtual void Draw()
    {
      Console.WriteLine("Desenhando uma forma.");
    }
    }
    
    public class Circle : Shape
    {
    public override void Draw()
    {
      Console.WriteLine("Desenhando um círculo.");
    }
    }
    
    public class Square : Shape
    {
    public override void Draw()
    {
      Console.WriteLine("Desenhando um quadrado.");
    }
    }
    

    Neste exemplo, as classes "Circle" e "Square" substituem o método "Draw()" da classe base "Shape", permitindo que objetos de diferentes classes sejam tratados de maneira uniforme.

    Classes Abstratas:

    As classes abstratas são classes que não podem ser instanciadas diretamente e geralmente contêm métodos abstratos, que devem ser implementados por classes derivadas. Vamos ver um exemplo de classe abstrata:

    public abstract class Shape

    {
    public abstract double CalculateArea();
    }
    
    public class Circle : Shape
    {
    public double Radius { get; set; }
     
    public override double CalculateArea()
    {
      return Math.PI * Radius * Radius;
    }
    }
    

    A classe "Shape" é abstrata e contém um método abstrato "CalculateArea()". A classe "Circle" herda de "Shape" e implementa o método abstrato.

    Interfaces:

    Interfaces são contratos que definem um conjunto de métodos que uma classe deve implementar. Uma classe pode implementar várias interfaces. Vamos ver um exemplo de interface:

    public interface IDrawable
    {
    void Draw();
    }
    
    public class Circle : IDrawable
    {
    public void Draw()
    {
      Console.WriteLine("Desenhando um círculo.");
    }
    }
    
    public class Square : IDrawable
    {
    public void Draw()
    {
      Console.WriteLine("Desenhando um quadrado.");
    }
    }
    

    Neste exemplo, as classes "Circle" e "Square" implementam a interface "IDrawable"(Normalmente coloca-se o "I" no início para identificar que é uma interface), garantindo que ambas tenham o método "Draw()".

    Em resumo, a Programação Orientada a Objetos oferece uma série de conceitos poderosos, como abstração, encapsulamento, herança, polimorfismo, classes abstratas e interfaces. Compreender e aplicar esses conceitos é essencial para criar software eficiente e de fácil manutenção. Com os exemplos fornecidos, você pode começar a explorar esses princípios em seus próprios projetos de C#, Valeeeeeeeeeeeeeeeeeu, galera!!!

    Compartilhe
    Recomendados para você
    WEX - End to End Engineering
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Comentários (0)
    Recomendados para vocêWEX - End to End Engineering