Guia de Engenharia de Prompt: Economize Tokens com Comandos Precisos

Imagem
Foto: Google DeepMind / Pexels Resumo rápido Entenda o que são tokens e por que cada fragmento de texto impacta o custo e o processamento. Aprenda o método dos 4 pilares para criar instruções técnicas diretas e sem redundâncias. Descubra como o uso de delimitadores substitui frases explicativas longas e economiza recursos. Veja exemplos práticos de como reduzir o tamanho de um prompt em mais de 50% mantendo a precisão. Se você já sentiu que está gastando "munição" à toa ao interagir com uma IA, este guia é para você. No nosso dia a dia de desenvolvimento, tratar o prompt como uma conversa de bar é um erro comum que consome recursos preciosos. Cada palavra que enviamos para o modelo é processada e cobrada, e entender essa mecânica é a diferença entre um sobrevivente eficiente e alguém que fica sem suprimentos no meio da missão. Neste artigo, vamos mergulhar na Engenharia de Prompt com foco total em eficiência. Vamos aprender a cortar o que é irrelevante, estruturar o que é v...

Introdução à Programação Orientada a Objetos (POO) em C#

Capa: introdução à Programação Orientada a Objetos (POO) em C#

O que é Programação Orientada a Objetos?

A Programação Orientada a Objetos (POO) é um dos conceitos mais usados na criação de software moderno. Ela permite organizar o código de forma mais próxima do mundo real, usando objetos que possuem características (atributos) e ações (métodos).

🌟 Os 4 pilares da POO:

  • Encapsulamento: Protege os dados internos dos objetos.
  • Abstração: Mostra só o que é importante, escondendo os detalhes.
  • Herança: Permite que uma classe herde comportamentos de outra.
  • Polimorfismo: Um mesmo método pode ter comportamentos diferentes.

📌 Classes e Objetos

Uma classe é como um molde. Já o objeto é o que nasce desse molde!

Exemplo básico em C#:

public class Carro

{

    public string Marca { get; set; }

    public string Modelo { get; set; }

    public int Ano { get; set; }

    public void ExibirDetalhes()

    {

        Console.WriteLine($"Marca: {Marca}, Modelo: {Modelo}, Ano: {Ano}");

    }

}

class Program

{

    static void Main()

    {

        Carro meuCarro = new Carro();

        meuCarro.Marca = "Toyota";

        meuCarro.Modelo = "Corolla";

        meuCarro.Ano = 2020;

        meuCarro.ExibirDetalhes();

    }

}

👉 Esse código cria um objeto Carro e exibe seus detalhes no console.

🔒 Encapsulamento

Serve para proteger os dados internos de uma classe.

Exemplo de Encapsulamento:

public class Carro

{

    private string _marca;

    public void SetMarca(string marca)

    {

        if (!string.IsNullOrEmpty(marca))

        {

            _marca = marca;

        }

    }

    public string GetMarca()

    {

        return _marca;

    }

}

class Program

{

    static void Main()

    {

        Carro carro = new Carro();

        carro.SetMarca("Honda");

        Console.WriteLine(carro.GetMarca());

    }

}

✅ Aqui, só podemos acessar a marca usando os métodos SetMarca() e GetMarca().

👑 Herança

Com a herança, uma classe pode aproveitar atributos e métodos de outra classe.

Exemplo de Herança:

public class Veiculo

{

    public string Marca { get; set; }

    public int Ano { get; set; }

    public void ExibirInfo()

    {

        Console.WriteLine($"Marca: {Marca}, Ano: {Ano}");

    }

}

public class Carro : Veiculo

{

    public string Modelo { get; set; }

    public new void ExibirInfo()

    {

        base.ExibirInfo();

        Console.WriteLine($"Modelo: {Modelo}");

    }

}

class Program

{

    static void Main()

    {

        Carro carro = new Carro();

        carro.Marca = "Ford";

        carro.Ano = 2019;

        carro.Modelo = "Focus";

        carro.ExibirInfo();

    }

}

✅ A classe Carro herda de Veiculo e ainda adiciona o atributo Modelo.

🎭 Polimorfismo

Permite que métodos com o mesmo nome tenham comportamentos diferentes.

Exemplo de Polimorfismo:

public class Animal

{

    public virtual void Som()

    {

        Console.WriteLine("O animal faz um som");

    }

}

public class Cachorro : Animal

{

    public override void Som()

    {

        Console.WriteLine("O cachorro late");

    }

}

public class Gato : Animal

{

    public override void Som()

    {

        Console.WriteLine("O gato mia");

    }

}

class Program

{

    static void Main()

    {

        Animal meuAnimal = new Animal();

        Animal meuCachorro = new Cachorro();

        Animal meuGato = new Gato();

        meuAnimal.Som();

        meuCachorro.Som();

        meuGato.Som();

    }

}

✅ Cada classe filha sobrescreve o método Som() de forma diferente!

✅ Conclusão

A Programação Orientada a Objetos é um conceito essencial para quem quer dominar o desenvolvimento em C#! Agora que você já entende os pilares principais, que tal praticar criando seus próprios exemplos?

💡 Dica: Comece criando novas classes com atributos e métodos diferentes e experimente usar herança e polimorfismo!

Comentários

Postagens mais visitadas deste blog

Classes e objetos em C#: criando o seu personagem do jeito certo

Console.WriteLine e Console.ReadLine em C#: conversando com o jogador

Modificadores de acesso em C#: public, private, protected e internal