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# 圆形类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于C#中使用Oracle存储过程返回结果集的问题

    关于C#中使用Oracle存储过程返回结果集的问题

    Oracle中可以使用游标(Cursor)对数据集进行操作,但在存储过程输出参数中直接使用Cursor错误,下面小编给大家带来了C#中使用Oracle存储过程返回结果集的问题,感兴趣的朋友一起看看吧
    2021-10-10
  • ToLua框架下C#与Lua代码的互调操作

    ToLua框架下C#与Lua代码的互调操作

    这篇文章主要介绍了ToLua框架下C#与Lua代码的互调操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • C#图片处理类分享

    C#图片处理类分享

    这篇文章主要为大家分享了C#图片处理类的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • VMS中解协议常用方法备忘(小结)

    VMS中解协议常用方法备忘(小结)

    这篇文章主要介绍了VMS中解协议常用方法备忘(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • C#中的虚函数virtual

    C#中的虚函数virtual

    这篇文章介绍了C#中的虚函数virtual,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#在验证文件共享模式下实现多线程文件写入

    C#在验证文件共享模式下实现多线程文件写入

    这篇文章主要为大家详细介绍了C#在验证文件共享模式下实现多线程文件写入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-01-01
  • C#缓存之SqlCacheDependency用法实例总结

    C#缓存之SqlCacheDependency用法实例总结

    这篇文章主要介绍了C#缓存之SqlCacheDependency用法,在C#程序设计中有一定的实用价值,需要的朋友可以参考下
    2014-08-08
  • DevExpress之ChartControl实现时间轴实例

    DevExpress之ChartControl实现时间轴实例

    这篇文章主要介绍了DevExpress中ChartControl实现时间轴的方法,涉及相关C#绘图程序用法,具有一定的实用价值,需要的朋友可以参考下
    2014-10-10
  • C#套接字(Socket)通信之UDP组播详解

    C#套接字(Socket)通信之UDP组播详解

    单播 Unicast是指客户端与服务器之间的点到点连接,组播和单播的差别是,必须得有一个“组”的概念,然后才能进行组播,本文就来和大家讲讲UDP组播的实现吧
    2023-05-05
  • DevExpress实现TreeList按条件隐藏节点CheckBox的方法

    DevExpress实现TreeList按条件隐藏节点CheckBox的方法

    这篇文章主要介绍了DevExpress实现TreeList按条件隐藏节点CheckBox的方法,需要的朋友可以参考下
    2014-08-08

最新评论