en este codigo use la guia total del programador ing diego g ruiz de la utn
en la pag 148 hay un ejemplo de metodos virtuales modifique algunas cosas para enlazarlo con lo que el explica de composicion en la pag 133
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace jugadoreslibro
{
class Jugador
{
protected string jugador55;
public virtual void RealizarMoviA()
{
this.jugador55 = "NOMBRE jugador DADO EN CLASE PADRE";
Console.WriteLine("cliente pudo modificar miembro protejido jugador55 = {0} :", jugador55);
Console.WriteLine("Clase:padreJugador,Metodo:RealizarMovida");
}
}
class Juego
{
// string juegoprivado;
Jugador jugador1;
Jugador jugador2;
public void EmpezarPartida(Jugador jug1, Jugador jug2)
{//dos jugadores usan con overwrite el mismo metodo de jugador
jugador1 = jug1;
jugador2 = jug2;
jugador1.RealizarMoviA();
jugador2.RealizarMoviA();
}
}
class bt1 : Jugador
{public override void RealizarMoviA()
//implementa su propia logica para evaluar juego y realizar la movida
{ Console.WriteLine("clasehija:bot1,metodo RealizarMovida()");
}
}
class bt2 : Jugador
{
public override void RealizarMoviA()
{
Console.WriteLine("clasehija:bot2,metodo RealizarMovida()");
}
}
class Program
{
static void Main(string[] args)
{
bt1 jug1 = new bt1();
bt2 jug2 = new bt2();
Juego j = new Juego();
j.EmpezarPartida(jug1, jug2);
Console.ReadLine();
Jugador jpadre = new Jugador();
jpadre.RealizarMoviA();
Console.ReadLine();
}
}
}
se eliminaron los comentarios