Added tutorial 6
This commit is contained in:
@@ -6,14 +6,14 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DuckModel
|
||||
{
|
||||
class DecoyDuck : DuckBehaviour
|
||||
public class DecoyDuck : DuckBehaviour
|
||||
{
|
||||
public override void Display()
|
||||
{
|
||||
Console.WriteLine("drew a decoy duck");
|
||||
Console.WriteLine("I am a decoy duck");
|
||||
}
|
||||
|
||||
DecoyDuck()
|
||||
public DecoyDuck()
|
||||
{
|
||||
base.SetFlyBehaviour(new NoFly());
|
||||
base.SetQuackBehaviour(new MuteQuack());
|
||||
|
||||
+16
-16
@@ -8,12 +8,12 @@ namespace DuckModel
|
||||
{
|
||||
public interface IFlyBehaviour
|
||||
{
|
||||
void Fly();
|
||||
string Fly();
|
||||
}
|
||||
|
||||
public interface IQuackBehaviour
|
||||
{
|
||||
void Quack();
|
||||
string Quack();
|
||||
}
|
||||
public abstract class DuckBehaviour
|
||||
{
|
||||
@@ -27,14 +27,14 @@ namespace DuckModel
|
||||
|
||||
public abstract void Display();
|
||||
|
||||
void PerformQuack()
|
||||
public string PerformQuack()
|
||||
{
|
||||
_quackBehaviour.Quack();
|
||||
return _quackBehaviour.Quack();
|
||||
}
|
||||
|
||||
void PerformFly()
|
||||
public string PerformFly()
|
||||
{
|
||||
_flyBehaviour.Fly();
|
||||
return _flyBehaviour.Fly();
|
||||
}
|
||||
|
||||
protected void SetFlyBehaviour(IFlyBehaviour flyBehaviour)
|
||||
@@ -50,41 +50,41 @@ namespace DuckModel
|
||||
|
||||
class Quack : IQuackBehaviour
|
||||
{
|
||||
void IQuackBehaviour.Quack()
|
||||
string IQuackBehaviour.Quack()
|
||||
{
|
||||
Console.WriteLine("The duck quacks");
|
||||
return "The duck quacks";
|
||||
}
|
||||
}
|
||||
|
||||
class Squeak : IQuackBehaviour
|
||||
{
|
||||
void IQuackBehaviour.Quack()
|
||||
string IQuackBehaviour.Quack()
|
||||
{
|
||||
Console.WriteLine("The duck squeaks");
|
||||
return "The duck squeaks";
|
||||
}
|
||||
}
|
||||
|
||||
class MuteQuack : IQuackBehaviour
|
||||
{
|
||||
void IQuackBehaviour.Quack()
|
||||
string IQuackBehaviour.Quack()
|
||||
{
|
||||
Console.WriteLine("The duck makes no sound");
|
||||
return "The duck makes no sound";
|
||||
}
|
||||
}
|
||||
|
||||
class FlyWithWings : IFlyBehaviour
|
||||
{
|
||||
public void Fly()
|
||||
public string Fly()
|
||||
{
|
||||
Console.WriteLine("The duck flies away");
|
||||
return "I can fly with my wings";
|
||||
}
|
||||
}
|
||||
|
||||
class NoFly : IFlyBehaviour
|
||||
{
|
||||
public void Fly()
|
||||
public string Fly()
|
||||
{
|
||||
Console.WriteLine("The duck cannot fly");
|
||||
return "I cannot fly";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DuckTypes.cs" />
|
||||
<Compile Include="DuckBehaviours.cs" />
|
||||
<Compile Include="DecoyDuck.cs" />
|
||||
<Compile Include="RubberDucky.cs" />
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DuckModel
|
||||
{
|
||||
public enum DuckTypes
|
||||
{
|
||||
Mallard,
|
||||
Redhead,
|
||||
Rubber,
|
||||
Decoy,
|
||||
Default
|
||||
}
|
||||
}
|
||||
@@ -6,14 +6,14 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DuckModel
|
||||
{
|
||||
class MallardDuck : DuckBehaviour
|
||||
public class MallardDuck : DuckBehaviour
|
||||
{
|
||||
public override void Display()
|
||||
{
|
||||
Console.WriteLine("drew a Mallard duck");
|
||||
Console.WriteLine("I am a Mallard duck");
|
||||
}
|
||||
|
||||
MallardDuck()
|
||||
public MallardDuck()
|
||||
{
|
||||
base.SetFlyBehaviour(new FlyWithWings());
|
||||
base.SetQuackBehaviour(new Quack());
|
||||
|
||||
@@ -6,14 +6,14 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DuckModel
|
||||
{
|
||||
class RedheadDuck : DuckBehaviour
|
||||
public class RedheadDuck : DuckBehaviour
|
||||
{
|
||||
public override void Display()
|
||||
{
|
||||
Console.WriteLine("drew a Redhead duck");
|
||||
Console.WriteLine("I am a Redhead duck");
|
||||
}
|
||||
|
||||
RedheadDuck()
|
||||
public RedheadDuck()
|
||||
{
|
||||
base.SetFlyBehaviour(new FlyWithWings());
|
||||
base.SetQuackBehaviour(new Quack());
|
||||
|
||||
@@ -6,14 +6,14 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DuckModel
|
||||
{
|
||||
class RubberDucky : DuckBehaviour
|
||||
public class RubberDucky : DuckBehaviour
|
||||
{
|
||||
public override void Display()
|
||||
{
|
||||
Console.WriteLine("drew a Rubber ducky");
|
||||
Console.WriteLine("I am a Rubber ducky");
|
||||
}
|
||||
|
||||
RubberDucky()
|
||||
public RubberDucky()
|
||||
{
|
||||
base.SetFlyBehaviour(new NoFly());
|
||||
base.SetQuackBehaviour(new Squeak());
|
||||
|
||||
Reference in New Issue
Block a user