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

文章目录

  • 一、矩形类的设计与实现
      • 1.1 矩形类的属性
      • 1.2 矩形类的构造函数
      • 1.3 矩形类的方法
      • 1.4 代码实现
        • 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 代码实现

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;// 无参构造函数,用于创建一个默认的矩形对象// 将矩形的长度和宽度都初始化为0public 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 运行

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/61183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海市计算机学会竞赛平台2024年11月月赛丙组考勤系统

题目描述 在 Carol 的办公楼的入口处有一套刷卡系统,每个员工都有一张唯一的身份卡,他们每次进出大楼都要刷卡,而系统会依次记录每次刷卡的员工编号,员工和他的编号一一对应,且在一天内一共有 nn 次刷卡记录。 一个员…

【PyTorch][chapter 28] 揭秘 Transformer:缩放定律指南

概括 我们介绍了 LLM 的各种缩放定律,研究了模型损失如何随着训练数据和参数数量的增加而变化。讨论包括对用于解释 LLM 缩放定律的 IsoLoss 轮廓和 IsoFLOPs 切片的解释,从而为优化计算资源提供了见解。 最后,我们讨论了 FLOP 和 FLOPS 的概…

Android上运行Opencv(TODO)

在高通安卓平台上,确实可以通过 NDK 使用 OpenCV 并访问摄像头。NDK 提供了更高性能的计算能力,特别是在图像处理和计算密集型任务中,与 OpenCV 结合可以充分利用高通平台的硬件资源(如 NEON SIMD 指令集和 GPU 加速)。…

【GNU】gcc -g编译选项 -g0 -g1 -g2 -g3 -gdwarf

1、gcc -g的作用 GCC 的 -g 选项用于在编译时生成调试信息,这些信息会嵌入到生成的目标文件或可执行文件中,主要目的是为了支持调试器(如 gdb)对程序的调试工作。 1.1 生成调试信息 当你在编译代码时使用 -g 选项,GCC…

【课堂笔记】隐私计算实训营第四期:隐私求交PSI

隐私计算实训营第四期:隐私求交PSI 安全求交集(PSI)定义PSI功能和分类最基础的PSI:Two-Party Semi-Honest PSI如何设计Two-Party Semi-Honest PSI方法1:一个基于Hash的PSI方法2:基于Diffie-Hellman密钥交换…

当企业服务器受到网络攻击该怎样处理?

在如今的互联网社会当中,网络攻击无处不在,其中最为常见的攻击方式就是分布式拒绝服务攻击和CC大流量攻击,对目标服务器或者是网络进行资源占用,导致服务器出现拒接服务,下面我们则主要了解一下网络攻击的方式。 一、攻…

数据结构(基本概念及顺序表——c语言实现)

基本概念: 1、引入 程序数据结构算法 数据: 数值数据:能够直接参加运算的数据(数值,字符) 非数值数据:不能够直接参加运算的数据(字符串、图片等) 数据即是信息的载…

工具类-基于 axios 的 http 请求工具 Request

基于 axios 的 http 请求工具 基于 axios 实现一个 http 请求工具,支持设置请求缓存和取消 http 请求等功能 完整的工具代码已经上传到 github 仓库,可以直接上去 github 下载, 或直接下载绑定资源 首先实现一个 简单的 http 请求工具 im…

Springboot+Vue的项目搭建(一)

一、JDK配置环境变量 1、在官网下载jdkJava Downloads | Oracle 中国 2、下载之后双击安装。 3、配置环境变量,做法:此电脑->右键->属性->高级系统设置 然后点击确定即可 点击winr java -version 检查一下是否配置成功 二、maven包管理器…

使用 JavaScript 制作 To-Do List

使用 JavaScript 制作 To-Do List 本文记录了使用 HTML、CSS 和 JavaScript 制作一个简单的 To-Do List 网页的全过程,包含功能描述、代码实现以及优化方向。 **🎉🎉🎉欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的…

羲和小医生0.1

创建一个名为“羲和小医生”的医学类问答机器人,我们使用Python和一些常用的库来实现。这个项目将包括以下几个部分: 数据处理:准备和处理训练数据。 模型训练:使用bert-base-chinese模型进行微调。 GUI开发:使用tkint…

esp32c3开发板通过micropython的mqtt库连MQTT物联网消息服务器

MQTT介绍 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,旨在设备之间进行通信,尤其是在网络条件较差的情况下。MQTT v3.1.1 和 MQTT v5 是该协议的两个主要版本。 MQTT v3.1.1: 优点&#xff…

Nginx配置端口重定向及协议重定向

需求来源 我在搭建博客初期是将博客部署在了家里的软路由上,由于家庭宽带的80以及443端口被宽带服务商屏蔽了,所以最开始是通过8443端口对外提供服务,地址为:https://blog.chengpei.top:8443,后来上了阿里云并且经过备…

stm32启动过程解析startup启动文件

1.STM32的启动过程模式 1.1 根据boot引脚决定三种启动模式 复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。BOOT0 为专用引脚,而 BOOT1 则与 GPIO 引脚共用。一旦完成对 BOOT1 的采样,相应 GPIO 引脚即进入空闲状态,可用于…

SQL字段来源表的解析

测试例子: SELECT e.NAME, d.DEPT_NAME,d.DEPT_ID,EMP_ID,100EMP_ID100 FROM EMP e JOIN DEPT d ON e.DEPT_ID d.DEPT_ID WHERE e.EMP_ID IN (SELECT EMP_ID FROM EMP WHERE DEPT_ID 10) 代码示例: package com.test; import org.apache.calcite.jd…

【第三课】Rust变量与数据类型(二)

目录 前言 Vector HashMap 其他 前言 上一课介绍了rust的变量和常见的数据类型,走马观花的看了一下rust常见的变量和数据类型,这些都是rust的基本语法,整理出来只是起一个引子的效果,基本语法多练习才可以熟练。这一课继续介绍…

操作iframe dom元素;监听子节点的变化

1、 不能跨域,如果跨域请配置代理或nginx,必须同源 /restcloud: {target: http://10.1.17.210:8080,changeOrigin: true,pathRewrite: {^/restcloud: /restcloud, // 这里可以省略,因为路径是一样的}} 或者 server {listen 8090;server_name l…

【AI日记】24.11.17 看 GraphRAG 论文,了解月之暗面

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 核心工作 内容:看 GraphRAG 论文时间:4 小时评估:不错,继续 非核心工作 内容:了解国内大模型方向,重点了解了创业独角兽-月之暗面&…

数据结构查找-哈希表(开发地址法+线性探测法)+(创建+查找+删除代码)+(C语言代码)

#include<stdlib.h> #include<stdio.h> #include<stdbool.h> #define NULLKEY -1//单元为空 #define DELKEY -2//单元内容被删除 #define M 20 typedef struct {int key;//关键字int count;//统计哈希冲突探测次数 }HashTable; //插入到哈希表 void InsertHT…