-
-
Save codecademydev/ca15077331c461ef780b92f495d569d4 to your computer and use it in GitHub Desktop.
Codecademy export
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace RoverControlCenter | |
{ | |
interface IDirectable | |
{ | |
public string GetInfo(); | |
public string Explore(); | |
public string Collect(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
namespace RoverControlCenter | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
MoonRover lunokhod = new MoonRover("Lunokhod 1", 1970); | |
MoonRover apollo = new MoonRover("Apollo 15", 1971); | |
MarsRover sojourner = new MarsRover("Sojourner", 1997); | |
Satellite sputnik = new Satellite("Sputnik", 1957); | |
Rover[] rovers = { lunokhod, apollo, sojourner }; | |
DirectAll(rovers); | |
Object[] probes = { lunokhod, apollo, sojourner, sputnik }; | |
TrackProbes(probes); | |
IDirectable[] directables = { lunokhod, apollo, sojourner, sputnik }; | |
DirectAll(directables); | |
} | |
static void DirectAll(IDirectable[] rovers) | |
{ | |
foreach (IDirectable rover in rovers) | |
{ | |
Console.WriteLine(rover.GetInfo()); | |
Console.WriteLine(rover.Explore()); | |
Console.WriteLine(rover.Collect()); | |
} | |
} | |
static void TrackProbes(Object[] probes) | |
{ | |
foreach(Object probe in probes) | |
{ | |
Console.WriteLine($"Tracking a {probe.GetType()}..."); | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace RoverControlCenter | |
{ | |
class Rover: IDirectable | |
{ | |
public string Alias | |
{ get; private set; } | |
public int YearLanded | |
{ get; private set; } | |
public Rover(string alias, int yearLanded) | |
{ | |
Alias = alias; | |
YearLanded = yearLanded; | |
} | |
public string GetInfo() | |
{ | |
return $"Alias: {Alias}, YearLanded: {YearLanded}"; | |
} | |
public virtual string Explore() | |
{ | |
return "Rover is exploring the surface!"; | |
} | |
public virtual string Collect() | |
{ | |
return "Rover is collecting rocks!"; | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace RoverControlCenter | |
{ | |
class Satellite: IDirectable | |
{ | |
public string Alias | |
{ get; private set; } | |
public int YearLaunched | |
{ get; private set; } | |
public Satellite(string alias, int yearLaunched) | |
{ | |
Alias = alias; | |
YearLaunched = yearLaunched; | |
} | |
public string GetInfo() | |
{ | |
return $"Alias: {Alias}, YearLaunched: {YearLaunched}"; | |
} | |
public virtual string Explore() | |
{ | |
return "Satellite is exploring the far reaches of space!"; | |
} | |
public virtual string Collect() | |
{ | |
return "Satellite is collecting photographic evidence!"; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment