c#創(chuàng)建圓形類Circle、矩形類實(shí)現(xiàn)代碼
c#創(chuàng)建圓形類,其中包括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(圓)類
問題描述
定義一個(gè)Circle類,其功能有:
-兩個(gè)double類型屬性X和Y,可讀寫圓心坐標(biāo)
-一個(gè)double類型屬性Radius,可讀寫圓的半徑
-一個(gè)構(gòu)造方法,以指定的x,y,radius來構(gòu)造
-一個(gè)只讀屬性Area,獲取圓面積
-一個(gè)只讀屬性Perimeter,獲取圓周長(zhǎng)
-一個(gè)方法bool Contains(double x, double y),如果指定的點(diǎn)(x, y)處于本圓內(nèi),返回true
-一個(gè)方法bool Contains(Circle circle),如果指定的圓circle包含在本圓內(nèi),返回true
-一個(gè)方法bool Extend(double range, out Circle newCircle),半徑擴(kuò)大(加上range),輸出擴(kuò)大后的newCircle,返回true。如果Radius+range為負(fù),無法擴(kuò)大,則輸出原來的圓,且返回false。
在一個(gè)Main方法中對(duì)上述功能進(jìn)行測(cè)試
解決方案
using System;
namespace HomeWork1
{
//定義一個(gè)Circle類,其功能有
class Circle
{
//-兩個(gè)double類型屬性X和Y,可讀寫圓心坐標(biāo)
public double X
{
set;
get;
}
public double Y
{
set;
get;
}
//-一個(gè)double類型屬性Radius,可讀寫圓的半徑
public double Radius
{
set;
get;
}
//-一個(gè)構(gòu)造方法,以指定的x,y,radius來構(gòu)造
public Circle(double X, double Y, double Radius)
{
this.X = X;
this.Y = Y;
this.Radius = Radius;
}
//-一個(gè)只讀屬性Area,獲取圓面積
public double Area
{
get {
return Radius * Radius * 3.1415926;
}
}
//-一個(gè)只讀屬性Perimeter,獲取圓周長(zhǎng)
public double Perimeter
{
get {
return 2 * Radius * 3.1415926;
}
}
//-如果指定的點(diǎn)(x, y)處于本圓內(nèi),返回true
public bool Contains(double x, double y) {
if ((x - X) * (x - X) + (y - Y)* (y - Y) < Radius * Radius) {
return true;
}
return false;
}
//-如果指定的圓circle包含在本圓內(nèi),返回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;
}
//-半徑擴(kuò)大(加上range),輸出擴(kuò)大后的newCircle,返回true。如果Radius+range為負(fù),無法擴(kuò)大,則輸出原來的圓,且返回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周長(zhǎng):{1}",circle.Area, circle.Perimeter);
Console.WriteLine("(2,2)在本圓內(nèi):{0}", circle.Contains(2,2));
Console.WriteLine("Circle(1,1,1)在本圓內(nèi):{0}", circle.Contains(new Circle(1,1,1)));
circle.Extend(2,out circle);
Console.WriteLine("面積:{0}\t周長(zhǎng):{1}", circle.Area, circle.Perimeter);
}
}
}
運(yùn)行結(jié)果

C# 圓類,矩形類算面積
題目:
編寫一個(gè)矩形類(Rect)與一個(gè)圓類(Circle),
//分別通過構(gòu)造方法對(duì)一個(gè)矩形對(duì)象(rect1) 與一個(gè)圓對(duì)象(circle1)
//進(jìn)行初始化后,求出矩形與圓的面積。
//同時(shí)具有如下功能:可以設(shè)置和讀取矩形的邊長(zhǎng)和圓的半徑,
//但只能讀取它們的面積,不能修改面積。
class Rect//矩形類
{
public double a, b;//矩形的兩條邊
public Rect()//無參構(gòu)造函數(shù)
{
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
}
}
class Circle//圓形類
{
public double r;//圓的半徑
public Circle()//無參構(gòu)造函數(shù)
{
r = Convert.ToDouble(Console.ReadLine());
}
}
class Program
{
static void Main(string[] args)
{
double PI = 3.14;
Console.WriteLine("請(qǐng)輸入矩形的長(zhǎng)和寬:");
Rect rect1 = new Rect();//創(chuàng)建一個(gè)Rect類的對(duì)象:rect1
double Srect1 = rect1.a * rect1.b;//矩形面積
Console.WriteLine($"矩形面積:{Srect1}");
Console.WriteLine();
Console.WriteLine("請(qǐng)輸入圓的半徑:");
Circle circle1 = new Circle();//創(chuàng)建一個(gè)Circle類的對(duì)象:circle1
double Scircle = circle1.r * circle1.r * PI;//圓面積
Console.WriteLine($"圓面積:{Scircle}");
Console.ReadKey();
}
}
運(yùn)行效果

C#-創(chuàng)建圓形/橢圓形按鈕
創(chuàng)建圓形按鈕挺簡(jiǎn)單的。
public class EllipseButton : Button
{
protected override void OnPaint(PaintEventArgs pevent)
{
GraphicsPath gPath = new GraphicsPath();
// 繪制橢圓形區(qū)域
gPath.AddEllipse(0, 0, this.ClientSize.Width, this.ClientSize.Height);
// 將區(qū)域賦值給Region
this.Region = new System.Drawing.Region(gPath);
base.OnPaint(pevent);
}
}
效果圖

到此這篇關(guān)于c#創(chuàng)建圓形類Circle、矩形類實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)c# 圓形類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
unity 如何使用LineRenderer 動(dòng)態(tài)劃線
這篇文章主要介紹了unity 使用LineRenderer 動(dòng)態(tài)劃線的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
C#中緊耦合Tight Coupling和松耦合Loose Coupling的實(shí)現(xiàn)
緊耦合和松耦合是描述模塊或組件之間耦合程度的兩個(gè)概念,本文主要介紹了C#中緊耦合Tight Coupling和松耦合Loose Coupling的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
C#調(diào)用C類型dll入?yún)閟truct的問題詳解
這篇文章主要給大家介紹了關(guān)于C#調(diào)用C類型dll入?yún)閟truct問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
C# Lambda表達(dá)式select()和where()的區(qū)別及用法
這篇文章主要介紹了C# Lambda表達(dá)式select()和where()的區(qū)別及用法,select在linq中一般會(huì)用來提取最后篩選的元素集合,在lambda表達(dá)式中通常用where得到元素集合,需要的朋友可以參考下2023-07-07
C# SendInput 模擬鼠標(biāo)操作的實(shí)現(xiàn)方法
C# SendInput 模擬鼠標(biāo)操作的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-04-04

