Want to create interactive content? It’s easy in Genially!

Get started free

Programação orientada

Lourenço Sousa Nicolau

Created on November 7, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Programação Orientada e Conceitos de POO

FEITO POR: LOURENÇO NICOLAU

Contextualize Your Topic with a Subtitle

O que são classes e objetos no c#

Programação orientada a objetos(POO)

Uma classe é como um "molde" para criar objetos. Ela define um tipo específico de dado, com atributos e métodos. As classes ajudam a definir o que algo é e pode fazer.

+INFO

Contextualize Your Topic with a Subtitle

using System; public class Produto { public string Nome { get; set; } public double Preco { get; private set; } public int Estoque { get; set; } public Produto(string nome, double preco, int estoque) { Nome = nome; Preco = preco; Estoque = estoque; } public void AplicarDesconto(double porcentagem) { Preco *= (1 - porcentagem / 100); } } public class Programa { public static void Main() { Produto produto1 = new Produto("Celular", 1500, 10); produto1.AplicarDesconto(10); Console.WriteLine("Preço com desconto: " + produto1.Preco); } }

public class Personagem { public int Vida { get; set; } public int Forca { get; set; } public int Velocidade { get; set; } public Personagem(int vida, int forca, int velocidade) { Vida = vida; Forca = forca; Velocidade = velocidade; } public void Atacar(Personagem alvo) { Console.WriteLine("Atacando o alvo!"); } } public class Programa { public static void Main() { Personagem heroi = new Personagem(100, 20, 5); Personagem vilao = new Personagem(80, 15, 3); heroi.Atacar(vilao); } }

Como diferentes entidades do jogo (como jogadores, inimigos e itens)podem ser modeladas como objetos?

01

HERANÇAS

Permitem que uma subclasse herde atributos e métodos de outra classe, promovendo o reuso de código. A subclasse pode usar e/ou estender as funcionalidades da superclasse.

02

POLIMORFISMO

Permite que métodos com o mesmo nome funcionem de forma diferente dependendo da classe . Isso pode ser feito com sobrescrita de métodos (comportamento específico em subclasses).

Contextualize Your Topic with a Subtitle

cOMO SE USA A HERANÇA E O POLIMORFIMO NO UNITY?

Heranças são frequentemente usadas para criar classes que partilham propriedades comuns, organizando o código e fazendo-o reaproveitável. Já o polimorfismo permite que o Unity trate objetos de subclasses como se fossem instâncias da classe base, o que dá muito jeito para gerenciar objetos que partilham o mesmo tipo base, mas se comportam de maneira diferente.

A Herança e Polimorfismo é bastante utilizado nos jogos do Unity para, por exemplo, dar atributos tal como vida, dano, stamina, que podem ser reutilizados nos inimigos e nos outros personagens. Ex: Hollow Knight, Cuphead e Among Us

EXEMPLOS DO USO EM JOGOS

Vantagens

Protege os Dados Internoss, and stories. Permite Controle sobre o Acesso Facilita a Manutenção e Extensão do Código Reduz o Acoplamento

Encapsulamento é a prática de proteger os dados de uma classe, permitindo o acesso apenas por métodos específicos. Isso mantém o código organizado e seguro, evitando alterações incorretas e facilitando a manutenção.

Encapsulamento e Acesso aos Dados, O que são e como ajudam?

Contextualize Your Topic with a Subtitle

Como o Unity usa encapsulamento?

No Unity, o encapsulamento protege dados importantes (como saúde e pontuação) usando variáveis privadas e métodos públicos. Isso permite que atributos como a saúde sejam alterados apenas por métodos específicos, como TakeDamage e Heal, que controlam o valor e evitam modificações incorretas, mantendo o estado do jogo seguro e estável.

Contextualize Your Topic with a Subtitle

YOU CAN WRITE AN AMAZING TITLE HERE

WRITE A SUBTITLE

With Genially templates, you can include visual resources to leave your audience speechless. You can also highlight specific phrases or data that will be etched into your audience's memory, and even embed external content that surprises: videos, photos, audios... Whatever you want!

+INFO

Contextualize Your Topic with a Subtitle

Boas práticas de encapsulamento em jogos

1. Usar variáveis privadas para proteger dados sensíveis como saúde e pontuação. 2. Controlar alterações por métodos específicos, validando valores (ex.: `TakeDamage()`). 3. Utilizar propriedades (`get`/`private set`) para permitir leitura segura. 4. Fornecer métodos para operações complexas (ex.: `IncreaseScore()`). 5. Esconder cálculos internos, expondo só o resultado (ex.: `GetAttackPower()`). 6. Evitar modificar coleções diretamente, usando métodos como `AddItem()`. 7. Usar eventos para notificar mudanças importantes, mantendo o controle interno.

Contextualize Your Topic with a Subtitle

O que são interfaces em C# e como elas permitem a criação de código flexível e reutilizável?

Interfaces em C# são contratos que definem métodos e propriedades que uma classe deve implementar, sem especificar como. Elas permitem criar código flexível e reutilizável, pois permitem que diferentes classes implementem a mesma interface com lógicas próprias, facilitando o polimorfismo e a substituição de implementações. Isso torna o código mais modular e facilita a reutilização e manutenção, pois métodos podem aceitar objetos de qualquer classe que implemente uma interface específica.

Como as interfaces podem ser usadas em Unity para criar comportamento comum entre objetos diferentes

Em Unity, interfaces permitem que objetos diferentes compartilhem comportamentos comuns, como tomar dano, sem herança direta. Isso torna o código modular, reutilizável e fácil de expandir, permitindo que qualquer objeto que implemente a interface execute a mesma ação de forma consistente.

Prompts do Chatgpt Explique os conceitos de POO em C# Melhores exemplos de prática de encapsulamento no unity Jogos mais famosos criados através do Unity

https://learn.microsoft.com/pt-pt/dotnet/csharp/fundamentals/tutorials/oop http://www.linhadecodigo.com.br/artigo/857/csharp-desmistificando-as-classes.aspx https://pt.sharpcoderblog.com/blog/implementing-inheritance-and-polymorphism-in-unity-code#google_vignette https://www.macoratti.net/18/01/c_encaps1.htm

WEBGRAFIA

Exemplos onde se usaria classes e objetos

em c#
  • Em desenvolvimento de jogos, representa-se personagens, itens e muito mais usando classes e objetos.
  • Em aplicativos bancários, classes podem representar contas bancárias, transações e clientes.
  • Em um sistema de e-commerce, classes podem ser usadas para representar produtos, clientes e pedidos.
  • Em aplicativos como Uber, você pode ter classes para representar motoristas, passageiros e veículos.
  • Em aplicativos de mensagens, classes podem representar utilizadores e as mensagens enviadas.
  • Em um sistema de gerenciamento de biblioteca, você pode ter classes para representar livros, utilizadores e empréstimos.

Write an awesome headline

An awesome presentation...
  • It is clear and structured
  • It tells stories hierarchically.
  • It matches your audience.
  • It adapts fonts and color to the theme.
  • It includes images and entertains.
  • Represent data with graphics.
  • Use timelines.
  • It is animated and interactive.
  • Excite the brain through multimedia elements.
  • DO NOT go overboard with bullet points 🙃​.