The use of an abstract property

image_pdfimage_print

   

/*
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;
    }
}