继承--抽象类和抽象方法(code)

 

    ///<summary>

    ///定义所有图形的属性和计算面积的的方法用抽象类来构造抽象方法和属性

    ///</summary>

    abstract class Shape

    {

        public abstract double border { get; set;}

        public abstract void area();

}

/*********圆的类**********/

    class Round : Shape

    {

        ///<summary>

        ///定义属性得到半径重写了Shape抽象类中的抽象属性

        ///</summary>

        double borders;

        public override double border

        {

            get

            {

                return borders;

            }

            set

            {

                borders = value;

            }

        }

        ///<summary>

        ///计算圆面积

        ///</summary>

        double reslut = 0;

        private const double pi = 3.1415926;

        public override void area()

        {

            reslut = pi * borders * borders;

            Console.WriteLine("圆的面积为:{0}",reslut);

            Console.WriteLine("---------------------");

        }

    }

/*********矩形的类**********/

    class rectangle : Shape

    {

        ///<summary>

        ///定义属性得到矩形的边长

        ///</summary>

        double borders;

        public override double border

        {

            get

            {

                return borders;

            }

            set

            {

                borders = value;

            }

        }

        ///<summary>

        ///计算矩形的面积

        ///</summary>

        double reslut = 0;

        public override void area()

        {

            reslut = borders * borders;

            Console.WriteLine("矩形的面积为{0}",reslut);

            Console.WriteLine("------------------------");

        }

    }

/*********正方形的类**********/

    class square : Shape

    {

        ///<summary>

        ///用构造函数来取得正方形的边长

        ///</summary>

        double shapeBorder;

        public square(double borders)

        {

            shapeBorder = borders;

        }

        ///<summary>

        ///抽象方法必须调用(因为抽象了属性)

        ///</summary>

        double ss;

        public override double border

        {

            get

            {

                return ss;

            }

            set

            {

                ss = value;

            }

        }

        ///<summary>

        ///计算正方形的面积

        ///</summary>

        double reslut = 0;

        public override void area()

        {

            reslut = shapeBorder * shapeBorder;

            Console.WriteLine("正方形的面积{0}",reslut);

        }

    }


posted @ 2007-10-16 18:11  jun.ma  阅读(301)  评论(0)    收藏  举报