首页 > 学院 > 开发设计 > 正文

csharp 面向对象编程

2019-11-17 03:20:31
字体:
来源:转载
供稿:网友

csharp 面向对象编程

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Shape{    /**     * 抽象形状类     */    public abstract class Shape    {        PRivate int edge;        //构造函数         public Shape(int edge)        {            this.edge = edge;        }        //抽象类实现的方法,子类可以重用        public int GetEdge()        {            return this.edge;        }        //抽象方法,子类必须重写,并在声明上加上override        public abstract int CalcArea();    }    /**     * 三角形类,继承自形状类     */    public class Triangle : Shape    {        private int bottom;        private int height;        //构造函数,构造的同时调用父类指定构造器        public Triangle(int bottom, int height)            : base(3)        {            this.bottom = bottom;            this.height = height;        }        //重写同名方法        public override int CalcArea()        {            return this.bottom * this.height / 2;        }    }    /**     * 矩形类,继承自形状类     */    public class Rectangle : Shape    {        private int bottom;        private int height;        //构造函数,构造的同时调用父类指定构造器        public Rectangle(int bottom, int height)            : base(4)        {            this.bottom = bottom;            this.height = height;        }        //重写同名方法        public override int CalcArea()        {            return this.bottom * this.height;        }    }    class Program    {        static void Main(string[] args)        {            //测试,可用父类映射子类            Shape triangle = new Triangle(4, 5);            Console.WriteLine(triangle.GetEdge());            Console.WriteLine(triangle.CalcArea());            Shape rectangle = new Rectangle(4, 5);            Console.WriteLine(rectangle.GetEdge());            Console.WriteLine(rectangle.CalcArea());        }    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表