zoukankan      html  css  js  c++  java
  • 基类、派生类

     class Program
        {
            public abstract class Point
            {
                private int x;
                private int y;


                public int X
                {
                    get
                    {
                        return x;
                    }
                    set
                    {
                        x = value;
                    }
                }


                public int Y
                {
                    get
                    {
                        return y;
                    }
                    set
                    {
                        y = value;
                    }
                }


            }


            public class Line : Point
            {
                public double CalLength(Line pStartPoint,Line pEndPoint)
                {
                    int dx=pStartPoint.X - pEndPoint.X;
                    int dy=pStartPoint.Y - pEndPoint.Y;
                    return Math.Round(Math.Sqrt(dx *dx+dy*dy),2);
                }
            }


            public class Rectangle : Point
            {
                public double CalLength(Rectangle pLeftBottomPoint, Rectangle pRightTopPoin)
                {
                    double dx=pRightTopPoin.X-pLeftBottomPoint.X;
                    double dy=pRightTopPoin.Y-pLeftBottomPoint.Y;
                    return Math.Round(dy*2+dx*2,2);
                }


                public double CalArea(Rectangle pLeftBottomPoint, Rectangle pRightTopPoin)
                {
                    double dx = pRightTopPoin.X - pLeftBottomPoint.X;
                    double dy = pRightTopPoin.Y - pLeftBottomPoint.Y;
                    return Math.Round(dx * dy, 2);
                }
            }
            static void Main(string[] args)
            {
                //创建线类
                Line pStarPoint = new Line();
                Line pEndPoint = new Line();
                pStarPoint.X = 0;
                pStarPoint.Y = 0;
                pEndPoint.X = 10;
                pEndPoint.Y = 10;
                
                //输出线的长度
                Console.WriteLine(pStarPoint.CalLength(pStarPoint, pEndPoint));




                Rectangle pLeftBottomPoint = new Rectangle();      ////左下角点
                Rectangle pRightTopPoin = new Rectangle();         ////右上角点
                pLeftBottomPoint.X = 0;
                pLeftBottomPoint.Y = 0;
                pRightTopPoin.X = 20;
                pRightTopPoin.Y = 20;


                Console.WriteLine(pLeftBottomPoint.CalLength(pLeftBottomPoint, pRightTopPoin));
                
                Console.WriteLine(pLeftBottomPoint.CalArea(pLeftBottomPoint,pRightTopPoin));
            }
        }

  • 相关阅读:
    tty 与 多任务的解释备忘
    Oracle 安装时候的fs.filemax参数
    100多个Web2.0在线生成器
    精心整理的微软原版光盘
    WEB3.0开启商务魔法时代
    VBO与Displaylists的进一步讨论 (转)
    基于UML和ASP.NET实现三层B/S结构系统开发(转)
    BYTE* To Float*
    COM高手总结的八个经验和教训(转)
    OpenGL: 3D坐标到屏幕坐标的转换逻辑(gluProject的实现)(转)
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/3971454.html
Copyright © 2011-2022 走看看