【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。这允许我们在不指定具体尺寸的情况下创建一个矩形对象。
  • 有参构造函数 :这个构造函数接受两个参数:length和width,它们分别指定矩形的长度和宽度。通过这个构造函数,我们可以在创建矩形对象时直接设置其尺寸。

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 运行
相关推荐
weixin_307779133 小时前
C++代码实现MATLAB中的dlarray函数功能
开发语言·c++·算法·matlab
一水鉴天6 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
Frank_refuel7 小时前
C++11之一场名为“搬家”的 C++ 之旅
开发语言·c++
Wang's Blog7 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_962071578 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
\光辉岁月/9 小时前
5.java-数组
java·开发语言
Java后端的Ai之路9 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
谢亮_vipxieliang9 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
时间的拾荒人9 小时前
Qt 多线程详解:从 QThread 到实战
开发语言·qt·面试
郑州光合科技余经理10 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程