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:

Geniaflix Presentation

Vintage Mosaic Presentation

Shadow Presentation

Newspaper Presentation

Zen Presentation

Audio tutorial

Pechakucha Presentation

Transcript

Programação Orientada e Conceitos de POO

FEITO POR: LOURENÇO NICOLAU

Contextualize Your Topic with a Subtitle

Programação orientada a objetos(POO)

O que são classes e objetos no c#

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.

Contextualize Your Topic with a Subtitle

+INFO

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

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); } }

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); } }

01

02

POLIMORFISMO

HERANÇAS

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

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.

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.

EXEMPLOS DO USO EM JOGOS

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

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

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.

Vantagens

Contextualize Your Topic with a Subtitle

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

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!

Contextualize Your Topic with a Subtitle

+INFO

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.

WEBGRAFIA

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

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

Exemplos onde se usaria classes e objetos

em c#
  • 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.
  • 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.

Write an awesome headline

An awesome presentation...
  • Represent data with graphics.
  • Use timelines.
  • It is animated and interactive.
  • Excite the brain through multimedia elements.
  • DO NOT go overboard with bullet points 🙃​.
  • 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.