c#创建圆形类Circle、矩形类实现代码

 更新时间:2020年11月29日 00:07:06   投稿:mdxy-dxy  
这篇文章主要介绍了c#创建圆形类Circle实现代码,其中包括set,get方法,需要的朋友可以参考下

c#创建圆形类,其中包括set,get方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 圆
{
class circle
{
int center_x;
int center_y;
double Radius;
public int x
{
get { return center_x; }
set { center_x = value; }
}
public int y
{
get { return center_y; }
set { center_y = value; }
}
public double radius
{
get { return Radius; }
set { Radius = value; }
}
}
class Program
{
static void Main(string[] args)
{
circle myCircle = new circle();
myCircle.x = 10;
myCircle.y = 10;
myCircle.radius = 8;
Console.WriteLine("Center:({0},{1})", myCircle.x, myCircle.y);
Console.WriteLine("Radius:{0}", myCircle.radius);
Console.WriteLine("Circumference:{0}", (double)(2 * 3.141592653 * myCircle.radius));
Console.ReadKey();
}
}
}

C#——Circle(圆)类

问题描述

定义一个Circle类,其功能有:

-两个double类型属性X和Y,可读写圆心坐标

-一个double类型属性Radius,可读写圆的半径

-一个构造方法,以指定的x,y,radius来构造

-一个只读属性Area,获取圆面积

-一个只读属性Perimeter,获取圆周长

-一个方法bool Contains(double x, double y),如果指定的点(x, y)处于本圆内,返回true

-一个方法bool Contains(Circle circle),如果指定的圆circle包含在本圆内,返回true

-一个方法bool Extend(double range, out Circle newCircle),半径扩大(加上range),输出扩大后的newCircle,返回true。如果Radius+range为负,无法扩大,则输出原来的圆,且返回false。

在一个Main方法中对上述功能进行测试

解决方案

using System;
 
namespace HomeWork1
{
 //定义一个Circle类,其功能有
 class Circle
 {
 //-两个double类型属性X和Y,可读写圆心坐标
 public double X
 {
  set;
  get;
 }
 public double Y
 {
  set;
  get;
 }
 //-一个double类型属性Radius,可读写圆的半径
 public double Radius 
 {
  set;
  get;
 }
 //-一个构造方法,以指定的x,y,radius来构造
 public Circle(double X, double Y, double Radius) 
 {
  this.X = X;
  this.Y = Y;
  this.Radius = Radius;
 }
 //-一个只读属性Area,获取圆面积
 public double Area 
 {
  get {
  return Radius * Radius * 3.1415926;
  }
 }
 //-一个只读属性Perimeter,获取圆周长
 public double Perimeter
 {
  get { 
  return 2 * Radius * 3.1415926;
  }
 }
 //-如果指定的点(x, y)处于本圆内,返回true
 public bool Contains(double x, double y) {
  if ((x - X) * (x - X) + (y - Y)* (y - Y) < Radius * Radius) {
  return true;
  }
  return false;
 }
 //-如果指定的圆circle包含在本圆内,返回true
 public bool Contains(Circle circle) {
  if (Radius>circle.Radius 
  && (Radius - circle.Radius) * (Radius - circle.Radius) > (circle.X - X) * (circle.X - X) + (circle.Y - Y) * (circle.Y - Y))
  {
  return true;
  }
  return false;
 }
 //-半径扩大(加上range),输出扩大后的newCircle,返回true。如果Radius+range为负,无法扩大,则输出原来的圆,且返回false。
 public bool Extend(double range, out Circle newCircle) {
  newCircle = this;
  if (newCircle.Radius + range > 0) {
  newCircle.Radius = newCircle.Radius + range;
  return true;
  }
  return false;
 }
 }
 
 class Program
 {
 static void Main(string[] args)
 {
 
  Circle circle = new Circle(1,1,3);
  Console.WriteLine("面积:{0}\t周长:{1}",circle.Area, circle.Perimeter);
  Console.WriteLine("(2,2)在本圆内:{0}", circle.Contains(2,2));
  Console.WriteLine("Circle(1,1,1)在本圆内:{0}", circle.Contains(new Circle(1,1,1)));
  circle.Extend(2,out circle);
  Console.WriteLine("面积:{0}\t周长:{1}", circle.Area, circle.Perimeter);
 }
 }
}

运行结果

C# 圆类,矩形类算面积

题目:

编写一个矩形类(Rect)与一个圆类(Circle),
//分别通过构造方法对一个矩形对象(rect1) 与一个圆对象(circle1)
//进行初始化后,求出矩形与圆的面积。
//同时具有如下功能:可以设置和读取矩形的边长和圆的半径,
//但只能读取它们的面积,不能修改面积。

class Rect//矩形类
 {
 public double a, b;//矩形的两条边
 public Rect()//无参构造函数
 {
  a = Convert.ToDouble(Console.ReadLine());
  b = Convert.ToDouble(Console.ReadLine());
 }
 }
 class Circle//圆形类
 {
 public double r;//圆的半径
 public Circle()//无参构造函数
 {
  r = Convert.ToDouble(Console.ReadLine());
 }

 }

 class Program
 {
 static void Main(string[] args)
 {
  double PI = 3.14;
  Console.WriteLine("请输入矩形的长和宽:");
  Rect rect1 = new Rect();//创建一个Rect类的对象:rect1
  double Srect1 = rect1.a * rect1.b;//矩形面积
  Console.WriteLine($"矩形面积:{Srect1}");
  Console.WriteLine();
  Console.WriteLine("请输入圆的半径:");
  Circle circle1 = new Circle();//创建一个Circle类的对象:circle1
  double Scircle = circle1.r * circle1.r * PI;//圆面积
  Console.WriteLine($"圆面积:{Scircle}");
  Console.ReadKey();
 }
 }

运行效果

C#-创建圆形/椭圆形按钮

创建圆形按钮挺简单的。

public class EllipseButton : Button
{
  protected override void OnPaint(PaintEventArgs pevent)
  {
    GraphicsPath gPath = new GraphicsPath();
    // 绘制椭圆形区域
    gPath.AddEllipse(0, 0, this.ClientSize.Width, this.ClientSize.Height);
 
    // 将区域赋值给Region
    this.Region = new System.Drawing.Region(gPath);
 
    base.OnPaint(pevent);
  }
}

效果图

到此这篇关于c#创建圆形类Circle、矩形类实现代码的文章就介绍到这了,更多相关c# 圆形类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • .net的命名空间类库的简单介绍

    .net的命名空间类库的简单介绍

    .net的命名空间类库的简单介绍,需要的朋友可以参考一下
    2013-04-04
  • DevExpress之ChartControl实现饼状图百分比演示实例

    DevExpress之ChartControl实现饼状图百分比演示实例

    这篇文章主要介绍了DevExpress之ChartControl实现饼状图百分比演示的方法,实例讲述了窗体与图形绘制函数的用法,需要的朋友可以参考下
    2014-10-10
  • C#字符串如何提取数值(带小数点)

    C#字符串如何提取数值(带小数点)

    这篇文章主要介绍了C#字符串如何提取数值问题(带小数点),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Unity游戏开发之2048游戏的实现

    Unity游戏开发之2048游戏的实现

    2048是一款数字益智游戏,初始数字则是由2+2组成的基数4。在操作方面的不同则表现为一步一格的移动,变成更为爽快的一次到底。相同数字的方况在靠拢、相撞时会相加。本文将通过Unity3D实现这一游戏,需要的可以参考一下
    2022-03-03
  • c#设计模式之单例模式的实现方式

    c#设计模式之单例模式的实现方式

    这篇文章主要给大家介绍了关于c#设计模式之单例模式的实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者使用c#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • C# FileStream复制大文件功能

    C# FileStream复制大文件功能

    这篇文章主要为大家详细介绍了C# FileStream复制大文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • WPF如何利用附加属性修改ShowGridLines效果详解

    WPF如何利用附加属性修改ShowGridLines效果详解

    这篇文章主要给大家介绍了关于WPF如何利用附加属性修改ShowGridLines效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-04-04
  • C#使用SqlDataAdapter对象获取数据的方法

    C#使用SqlDataAdapter对象获取数据的方法

    这篇文章主要介绍了C#使用SqlDataAdapter对象获取数据的方法,结合实例形式较为详细的分析了SqlDataAdapter对象获取数据具体步骤与相关使用技巧,需要的朋友可以参考下
    2016-02-02
  • C#/.net程序调用Python的教程分享

    C#/.net程序调用Python的教程分享

    C#的优势在于window下的开发,不仅功能强大而且开发周期短。而python则有众多的第三方库,可以避免自己造轮子,利用C#来做界面,而具体实现使用python来实现可以大大提高开发效率。本文介绍如何使用pythonnet来执行python脚本,希望对大家有所帮助
    2023-03-03
  • c#使用S22.Imap收剑灵激活码邮件代码示例(imap收邮件)

    c#使用S22.Imap收剑灵激活码邮件代码示例(imap收邮件)

    一个IMAP收发邮件的类库S22.IMAP,方便易用,下面来个例子可以收剑灵激活码邮件
    2013-12-12

最新评论