<%@ page language="C#" runat="server" Debug="true"%>
<script runat="server">
public class Key
{
private int shape;
public Key(int newshape)
{
shape = newshape;
}
public int Shape
{
get
{
return shape;
}
}
}
public class Car
{
private string color;
private int gear;
private int ignition;
private bool engineRunning;
private static int count = 0;
public Car(int IgnitionShape)
{
color = "Cold gray steel";
ignition = IgnitionShape;
count += 1;
}
public static int Count
{
get
{
return count;
}
}
public string Color
{
get
{
return color;
}
set
{
color = value;
}
}
public int Gear
{
get
{
return gear;
}
}
public string IsRunning
{
get
{
if (engineRunning)
{
return "The engine is running.";
}
else
{
return "The engine is not running.";
}
}
}
public void ChangeGear(int direction)
{
if (direction < 0) gear -= 1;
if (direction > 0) gear += 1;
if (gear > 5) gear = 5;
if (gear < -1) gear = -1;
}
public void ChangeGear(string direction)
{
if (direction == "down")
{
ChangeGear(-1);
}
if (direction == "up")
{
ChangeGear(+1);
}
}
public void Ignition(Key IgnitionKey)
{
if (IgnitionKey.Shape == ignition) engineRunning = true;
}
public void EngineOff()
{
engineRunning = false;
}
}
public void Page_Load()
{
Key AlexKey = new Key(0987654321);
Key RobKey = new Key(1861005040);
Key MyKey = new Key(1234567890);
Car MyCar = new Car(1234567890);
Response.Write("<b>New object 'MyCar' created.</b>");
Response.Write("<br/>Color: " + MyCar.Color);
Response.Write("<br/>Gear: " + MyCar.Gear);
MyCar.Color = "Black";
MyCar.ChangeGear(+1);
Response.Write("<br/><b>Properties updated.</b>");
Response.Write("<br/>New color: " + MyCar.Color);
Response.Write("<br/>New gear: " + MyCar.Gear);
MyCar.ChangeGear("up");
Response.Write("<br/><b>Shifted 'up' one gear.</b>");
Response.Write("<br/>New gear: " + MyCar.Gear);
Response.Write("<hr/>Attempting to start MyCar with AlexKey: ");
MyCar.Ignition(AlexKey);
Response.Write(MyCar.IsRunning);
Response.Write("<hr/>Attempting to start MyCar with RobKey: ");
MyCar.Ignition(RobKey);
Response.Write(MyCar.IsRunning);
Response.Write("<hr/>Attempting to start MyCar with MyKey: ");
MyCar.Ignition(MyKey);
Response.Write(MyCar.IsRunning);
Response.Write("<br/>Attempting to stop MyCar: ");
MyCar.EngineOff();
Response.Write(MyCar.IsRunning);
}
</script>
|