首页 > 编程语言 >C#设计一个形状类和矩形类,含有周长面积等属性

C#设计一个形状类和矩形类,含有周长面积等属性

时间:2023-10-11 21:44:10浏览次数:34  
标签:return 周长 get C# double height width 矩形 public

public abstract class Shape
{
    protected double _area;
    protected double _perimeter;

    public double Area
    {
        get { return _area; }
    }

    public double Perimeter
    {
        get { return _perimeter; }
    }

    public abstract void ComputeAreaAndPerimeter();
}

public class Rectangle : Shape
{
    private double _height;
    private double _width;

    public double Height
    {
        get { return _height; }
        set
        {
            _height = value;
            ComputeAreaAndPerimeter();
        }
    }

    public double Width
    {
        get { return _width; }
        set
        {
            _width = value;
            ComputeAreaAndPerimeter();
        }
    }

    public override void ComputeAreaAndPerimeter()
    {
        _area = _height * _width;
        _perimeter = 2 * (_height + _width);
    }
}

优点:灵活性和可扩展性

缺点:需要更多的代码

标签:return,周长,get,C#,double,height,width,矩形,public
From: https://www.cnblogs.com/yhm138/p/17758275.html

相关文章

  • Docker 安装mysql8.0
    环境CentOS7、MySQL8、SQLyog12需求在Docker中部署MySQL8步骤1、从docker仓库中拉去mysql8.0dockerpullmysql:8.0如果使用dockerpullmysql默认拉取的是最新版本的mysql上面我拉去的是8.0的版本,最后拉取过来的是8.0.27如果有想要指定的版本,可以直接写指定版本,......
  • CSP模拟52联测14 C.天竺葵
    CSP模拟52联测14C.天竺葵目录CSP模拟52联测14C.天竺葵题目大意思路code题目大意给定两个长度为\(n\)的序列\(a,b\)需要在\(a\)序列中好到最长的序列\(c\)满足\(c_{i+1}>b_i\timesc_i\)输出长度\(1\len\le10^6\)思路感觉和\(n(\logn)\)求最长上升......
  • 【C#】【IO】【Threading】【实例】工作报表前的本地数据聚合操作
    <工作记录——Report>报表前的数据获取操作是高重复性的,今天差不多完成了脚本,下述是代码:1//Seehttps://aka.ms/new-console-templateformoreinformation2usingSystem.IO;3usingSystem.Threading;45stringSN=@"C0230U25";6stringsourcefold=......
  • Effective C++ 笔记-1.1视C++为一个语言联邦
    应当这样正确的看待C++语言,将C++视为一个由相关次语言组成的联邦,而非单一语言。每种次语言都有自己的守则,当你从一个次语言移向另一个次语言,守则可能改变。其主要的次语言总共有4个:C:Object-OrientedC++;TemplateC++:STL:******C++高效编程守则视状况而变化,取决于你使用C+......
  • 无涯教程-ASP.NET Core - Razor表单
    在本章中,无涯教程将继续讨论标签助手,还将在应用程序中添加新功能,并使其能够编辑现有员工的详细信息,将在每个员工添加一个链接,该链接将转到HomeController上的Edit动作。@modelHomePageViewModel@{ViewBag.Title="Home";}<h1>Welcome!</h1><table>@forea......
  • cad标注文字太小,随比例改变设置 注释性; 文字太小
    标注文字太小命令:dimstyle——选中第1个——修改——调整——注释性打勾右下角:选择合适文字比例:文字太小双击文字,修改(高度),数值越大,越大......
  • [ARC128E] K Different Values
    [ARC128E]KDifferentValues考察\(k=2\)的情形,这个很经典,就是绝对众数。这样的话我们发现显然的一个必要条件是\(\maxA_i\le\lceil\frac{n}{k}\rceil\)。进一步,我们按照\(k\)为块长分块,还需满足\(A_i=\lceil\frac{n}{k}\rceil\)的个数不超过最后一段的块长。......
  • 在Mac上安装lxml
    最近想开始学习一下爬虫,用来截取一些网页中的段落文字、列表、表格等信息。联想到HTML的DOM树结构,就想是不是用XPath来解析会比较合适。于是自己想从Python结合XPath的方向入手来实现网页内容解析。提到Python与XPath结合,就要用到lxml这个包了。它是一款由StefanBehnel等开发者......
  • pytorch(8-6) 循环神经网络的简洁实现
    https://zh.d2l.ai/chapter_recurrent-neural-networks/rnn-concise.html API_85.pyimportcollectionsimportrefromd2limporttorchasd2limportrandomimportmathimporttorchimportrandomdraw_pic=0#@saved2l.DATA_HUB['time_machine']=......
  • Servlet.service() for servlet [dispatcherServlet] in context with path []
    一个不小心出现的错误,接口测试报500日志输出信息如下:[nio-8080-exec-2]o.a.c.c.C.[.[.[/].[dispatcherServlet]:Servlet.service()forservlet[dispatcherServlet]incontextwithpath[]threwexception[Requestprocessingfailed;nestedexceptionisjava.lang.Nu......