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

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

(0)

相关推荐

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

    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; }

  • c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle)

    1.建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息. 具体要求如下: (1)形状类Shape (a)保护数据成员 double x,y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽.访问权限定义为保护类型是为了能被继承下去,以便派生类能直接访问x和y. (b)公有成员函数 构造函数Shape(double _x,double _y):用_x._y分别初始化x.y. do

  • iOS中创建表格类视图WBDataGridView的实例代码

    项目中创建表格, 引用头文件 #import "WBDataGridView.h" - (void)viewDidLoad{ [superviewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColorwhiteColor]; CGFloat margin = 10.f; CGFloat width = self.view.frame.size.wi

  • 关于SpringBoot创建存储令牌的媒介类和过滤器的问题

    之所以需要创建存储令牌的媒介类,是因为后面的filter界面要使用. 一.创建ThreadLocalToken类 创建ThreadLocalToken类的目的: 在com.example.emos.wx.config.shiro中创建ThreadLocalToken类. 写入如下代码: package com.example.emos.wx.config.shiro; import org.springframework.stereotype.Component; @Component publ

  • JS类的封装及实现代码

    1. 定义js类 js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 复制代码 代码如下: function ShapeBase() { this.show = function() { alert("ShapeBase show"); }; this.init = function(){ alert("ShapeBase init&q

  • 详解Java正则表达式中Pattern类和Matcher类

    前言 本文将介绍Java正则表达式中的Pattern类与Matcher类.首先我们要清楚指定为字符串的正则表达式必须首先被编译为pattern类的实例.因此如何更好的了解这两个类,是编程人员必须知道的. 以下我们就分别来看看这两个类: 一.捕获组的概念 捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的.例如,在表达式 ((A)(B(C)))中,存在四个这样的组: 1 ((A)(B(C))) 2 (A) 3 (B(C)) 4 (C) 组零始终代表整个表达式. 以 (?) 开头的组是纯的

  • 基于Socket类以及ServerSocket类的实例讲解

    Socket类 套接字是网络连接的端点,套接字使应用可以从网络中读取数据,可以向网络中写入数据.不同计算机上的两个应用程序可以通过连接发送或接收字节流,以此达到相互通信的目的. 为了从一个应用程序向另一个应用程序发送消息,需要知道另一个应用程序中套接字的 IP 地址和端口号,在java中,套接字由java.net.Socket 表示. 要创建一个套接字,可以使用Socket类中众多构造函数中的一个.其中一个构造函数接收两个参数:主机号和端口号. public Socket (String hos

  • 在JavaScript中模拟类(class)及类的继承关系

    Javascipt语法不支持"类"(class)[es6已经支持],但是有模拟类的方法.今天我主要谈谈Javascipt中模拟"类"的方法及js中继承的总结和回顾. js中实现"类"与继承,既是重点,又是难点.很多同学可能都对js中"类"与继承都有所了解,但是深入剖析的时候,感觉力不从心.模棱两可. 我们先来总结一下js定义"类"的几种方法: 方法一:构造函数法 这个方法是比较经典的方法,我们会经常见到.生

  • Path类与Directory类与File类对路径/目录/文件的操作实例

    Path 对路径 字符串进行操作 获得后缀 能合并路径 获取文件名 Directory和DirectoryInfo 对目录进行操作 判断目录是否存在 创建目录 删除目录 获取目录下所有的子目录 获取目录下所有的子文件 File和FileInfo 对文件进行操作 读文件 写文件 追加文件 判断文件是否存在 创建文件 删除文件 1.Path类 复制代码 代码如下: using System; using System.IO;//目录和文件操作的名称空间 namespace _11_Path类 { c

  • Python 类与元类的深度挖掘 I【经验】

    上一篇介绍了 Python 枚举类型的标准库,除了考虑到其实用性,还有一个重要的原因是其实现过程是一个非常好的学习.理解 Python 类与元类的例子.因此接下来两篇就以此为例,深入挖掘 Python 中类与元类背后的机制. 翻开任何一本 Python 教程,你一定可以在某个位置看到下面这两句话: Python 中一切皆为对象(Everything in Python is an object); Python 是一种面向对象编程(Object Oriented Programming, OOP

随机推荐