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,獲取圓周長
-一個(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方法中對上述功能進(jìn)行測試
解決方案
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,獲取圓周長 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周長:{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周長:{1}", circle.Area, circle.Perimeter); } } }
運(yùn)行結(jié)果
C# 圓類,矩形類算面積
題目:
編寫一個(gè)矩形類(Rect)與一個(gè)圓類(Circle),
//分別通過構(gòu)造方法對一個(gè)矩形對象(rect1) 與一個(gè)圓對象(circle1)
//進(jìn)行初始化后,求出矩形與圓的面積。
//同時(shí)具有如下功能:可以設(shè)置和讀取矩形的邊長和圓的半徑,
//但只能讀取它們的面積,不能修改面積。
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("請輸入矩形的長和寬:"); Rect rect1 = new Rect();//創(chuàng)建一個(gè)Rect類的對象:rect1 double Srect1 = rect1.a * rect1.b;//矩形面積 Console.WriteLine($"矩形面積:{Srect1}"); Console.WriteLine(); Console.WriteLine("請輸入圓的半徑:"); Circle circle1 = new Circle();//創(chuàng)建一個(gè)Circle類的對象:circle1 double Scircle = circle1.r * circle1.r * PI;//圓面積 Console.WriteLine($"圓面積:{Scircle}"); Console.ReadKey(); } }
運(yùn)行效果
C#-創(chuàng)建圓形/橢圓形按鈕
創(chuàng)建圓形按鈕挺簡單的。
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
unity 如何使用LineRenderer 動態(tài)劃線
這篇文章主要介紹了unity 使用LineRenderer 動態(tài)劃線的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04C#中緊耦合Tight Coupling和松耦合Loose Coupling的實(shí)現(xiàn)
緊耦合和松耦合是描述模塊或組件之間耦合程度的兩個(gè)概念,本文主要介紹了C#中緊耦合Tight Coupling和松耦合Loose Coupling的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01C#調(diào)用C類型dll入?yún)閟truct的問題詳解
這篇文章主要給大家介紹了關(guān)于C#調(diào)用C類型dll入?yún)閟truct問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C# Lambda表達(dá)式select()和where()的區(qū)別及用法
這篇文章主要介紹了C# Lambda表達(dá)式select()和where()的區(qū)別及用法,select在linq中一般會用來提取最后篩選的元素集合,在lambda表達(dá)式中通常用where得到元素集合,需要的朋友可以參考下2023-07-07C# SendInput 模擬鼠標(biāo)操作的實(shí)現(xiàn)方法
C# SendInput 模擬鼠標(biāo)操作的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-04-04