【C#】面向对象:矩形类计算周长和面积

文章目录

  • 一、矩形类的设计与实现
      • [1.1 矩形类的属性](#1.1 矩形类的属性)
      • [1.2 矩形类的构造函数](#1.2 矩形类的构造函数)
      • [1.3 矩形类的方法](#1.3 矩形类的方法)
      • [1.4 代码实现](#1.4 代码实现)
        • [1.4.1 运行](#1.4.1 运行)

一、矩形类的设计与实现

  • 题目:编写一个矩形类,私有数据成员为举行的长(Len)和宽(Wid),无参构造函数将len和wid设置为0,有参构造函数设置len和wid的值,另外,类还包括求矩形的周长、求矩形的面积、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。

1.1 矩形类的属性

我们的矩形类将有两个私有成员变量:len(长度)和wid(宽度)。这两个变量将存储矩形的基本尺寸。

1.2 矩形类的构造函数

矩形类将有两个构造函数:

  • 无参构造函数:这个构造函数将初始化矩形的长度和宽度为0。这允许我们在不指定具体尺寸的情况下创建一个矩形对象。
  • 有参构造函数 :这个构造函数接受两个参数:lengthwidth,它们分别指定矩形的长度和宽度。通过这个构造函数,我们可以在创建矩形对象时直接设置其尺寸。

1.3 矩形类的方法

矩形类将提供以下公共方法:

  • CalculatePerimeter:这个方法不接受任何参数,它计算并返回矩形的周长。周长的计算公式是 (2 * (长度+宽度))。

  • CalculateArea:这个方法同样不接受任何参数,它计算并返回矩形的面积。面积的计算公式是 (长度 * 宽度)。

  • GetLength:这个方法不接受任何参数,它返回矩形当前的长度。

  • GetWidth:这个方法同样不接受任何参数,它返回矩形当前的宽度。

  • SetLength :这个方法接受一个参数 newLength,它将矩形的长度设置为这个新值。

  • SetWidth :这个方法接受一个参数 newWidth,它将矩形的宽度设置为这个新值。

1.4 代码实现

csharp 复制代码
using System;

namespace Pages_184_编程题3_1_矩形类计算周长面积
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个矩形对象,使用有参构造函数初始化
            Rectangle rectangle = new Rectangle(5, 3);

            // 打印矩形的长度
            Console.WriteLine($"矩形的长度为: {rectangle.GetLength()}");

            // 打印矩形的宽度
            Console.WriteLine($"矩形的宽度为: {rectangle.GetWidth()}");

            // 计算并打印矩形的周长
            double perimeter = rectangle.CalculatePerimeter();
            Console.WriteLine($"矩形的周长为: {perimeter}");

            // 计算并打印矩形的面积
            double area = rectangle.CalculateArea();
            Console.WriteLine($"矩形的面积为: {area}");

            // 修改矩形的长度和宽度
            rectangle.SetLength(7);
            rectangle.SetWidth(4);

            // 再次打印修改后的矩形相关信息
            Console.WriteLine("\n修改后:");
            Console.WriteLine($"矩形的长度为: {rectangle.GetLength()}");
            Console.WriteLine($"矩形的宽度为: {rectangle.GetWidth()}");
            perimeter = rectangle.CalculatePerimeter();
            Console.WriteLine($"矩形的周长为: {perimeter}");
            area = rectangle.CalculateArea();
            Console.WriteLine($"矩形的面积为: {area}");
            Console.WriteLine();
            Console.Read();
        }
    }

    // 定义一个名为Rectangle的类,用于表示矩形相关的操作和属性
    class Rectangle
    {
        // 私有成员变量,用于存储矩形的长度
        private double len;
        // 私有成员变量,用于存储矩形的宽度
        private double wid;

        // 无参构造函数,用于创建一个默认的矩形对象
        // 将矩形的长度和宽度都初始化为0
        public Rectangle()
        {
            len = 0;
            wid = 0;
        }

        // 有参构造函数,用于根据传入的参数创建矩形对象
        // 参数length:指定矩形的长度
        // 参数width:指定矩形的宽度
        public Rectangle(double length, double width)
        {
            len = length;
            wid = width;
        }

        // 公共方法,用于计算矩形的周长
        // 返回值为矩形的周长,计算公式为:2 * (长度 + 宽度)
        public double CalculatePerimeter()
        {
            return 2 * (len + wid);
        }

        // 公共方法,用于计算矩形的面积
        // 返回值为矩形的面积,计算公式为:长度 * 宽度
        public double CalculateArea()
        {
            return len * wid;
        }

        // 公共方法,用于获取矩形的长度
        // 返回值为矩形当前的长度值
        public double GetLength()
        {
            return len;
        }

        // 公共方法,用于获取矩形的宽度
        // 返回值为矩形当前的宽度值
        public double GetWidth()
        {
            return wid;
        }

        // 公共方法,用于设置矩形的长度为指定的新长度值
        // 参数newLength:要设置的新长度值
        public void SetLength(double newLength)
        {
            len = newLength;
        }

        // 公共方法,用于设置矩形的宽度为指定的新宽度值
        // 参数newWidth:要设置的新宽度值
        public void SetWidth(double newWidth)
        {
            wid = newWidth;
        }
    }
}
1.4.1 运行
相关推荐
晓纪同学1 小时前
QT-简单视觉框架代码
开发语言·qt
威桑1 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服1 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans1 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
码农君莫笑1 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
Chinese Red Guest2 小时前
python
开发语言·python·pygame
一棵星2 小时前
Java模拟Mqtt客户端连接Mqtt Broker
java·开发语言