Define two classes (C#)
<%@ 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>