Technology

Game development taken seriously!!!
Desenvolvimento de Jogos levado a sério!!!

13 Janeiro 2009

Interface (POO)

Ola pessoal, em ritmo de CES, venho trazer para você mais um post sobre POO desta vez para falar sobre Interface.

Como vimos no tópico anterior utilizamos interfaces juntamente com herança para podermos desenvolver nossos sistemas. As interfaces são parecidas com as classes que já vimos anteriormente, porem existe uma diferença básica. Em uma classe eu declaro e implemento um método. Caso esta classe seja abstrata eu tenho métodos implementados e métodos não implementados. Em uma interface não implementamos nenhum método, isto significa que temos somente o contrato do método.

O contrato de um método no C# é composto pela visibilidade, variável de retorno, nome e parâmetros como no exemplo abaixo:

public void Name(atributeType atributeName, atributeType atributeName);

Em um próximo post falarei sobre contrato mais detalhadamente.
Desta forma em uma interface temos vários contratos de métodos como no exemplo abaixo onde represento uma interface contendo habilidades básicas como em um jogo de MMORPG

interface IBasicSkills
{
public void Attack();

public void Defend();

public void Relax();

public void Talk();
}


Nesta interface temos 4 métodos que são as habilidades básicas de um personagem. Todos os personagens terão estas habilidades, porem a forma como eles a executaram não necessariamente será a mesma para todos. Para exemplificar podemos usar o método Attack, onde um personagem pode atacar outro dependendo de sua espécie ou classe. Um lobo efetua um ataque com mordidas e paradas. Um cavaleiro pode utilizar uma espada ou uma lança. Um arqueiro utiliza uma arco e flechas, sendo que o ataque com estas armas é diferente, para atirar com o arco é necessário ter flechas por exemplo.

Então utilizaremos uma interface para determinar uma classe. A classe que implementa esta interface devera implementar todos os seus métodos.

public class Lobo: IBasicSkills
{
public void Attack()
{
...
}

public void Defend()
{
...
}

public void Relax()
{
...
}

public void Talk()
{
...
}
}

Todos estes recursos utilizados na POO nos possibilitam desenvolver qualquer sistema, aplicados a jogos ou a sistemas corporativos, é importante conhecer todos os conceitos e sempre praticar. Nos próximos posts vou publicar exemplos mais elaborados sobre o uso dos conceitos que já expliquei.

1 Comentários:

Postar um comentário

Links para esta postagem:

Criar um link

<< Início