/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ // // Abstract.cs -- Demonsrates the use of an abstract property. // // Compile this program with the following command line: // C:>csc Abstract.cs // namespace nsAbstract { using System; using System.Runtime.InteropServices; public class AbstractPro { static public void Main () { Console.WriteLine (clsAbstract.StaticMethod()); } } // // To use the abstract modifier on a method, the class also must // be declared as abastract abstract class clsAbstract { // // To declare an abstract method, end the declaration with a semicolon. // Do not provide a body for the method. abstract public int AbstractMethod(); // // An abstract class may contain a static method. You do not have // to declare an instance of the class to access a static method static public double StaticMethod() { return (3.14159 * 3.14159); } abstract public long Prop { get; set; } } // // Inherit from the abstract class. The following class implements // the AbstractMethod(). // The access level of the derived class method must be the same // as the access level of the base class abstract method. class clsDerivedFromAbstract : clsAbstract { override public int AbstractMethod() { return (0); } override public long Prop { get { return (val); } set { val = value; } } private long val; } }