程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#學習9

C#學習9

編輯:C#入門知識

C#學習9:類與對象

類與構造函數的使用,建一個圓形類,半徑默認為0,count統計有幾個圓


[csharp] 
//Circle.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace Cambridge 

    class Circle 
    { 
        public int radius; 
        public static int count=0;  //只有類名可以使用count 
        public Circle()  //構造函數 
        { 
            radius = 0; 
            count++; 
        } 
        public Circle(int t)  //重載構造函數 
        { 
            radius = t; 
            count++; 
        } 
        public double Area() 
        { 
            return Math.PI * radius * radius; 
        } 
    } 

//Program.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace Cambridge 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            Circle c1,c2; 
            c1 = new Circle(); 
            double area1 = c1.Area(); 
            Console.WriteLine(area1); 
            c2 = new Circle(10); 
            double area2 = c2.Area(); 
            Console.WriteLine(area2); 
            Console.WriteLine("圓的數量為"+Circle.count); 
        } 
    } 

建一個點類,輸入點的坐標,求該點到原點的距離

[csharp]
//Point.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace Cambridge 

    class Point 
    { 
        private int x; 
        private int y; 
        public Point() 
        { 
            x=0; 
            y=0; 
        } 
        public Point(int a,int b) 
        { 
            x=a; 
            y=b; 
        } 
        public double Dis(Point p)  //參數為對象 
        { 
            int xdif = x - p.x; 
            int ydif = y - p.y; 
            return Math.Sqrt(xdif * xdif + ydif * ydif); 
        } 
    } 

//Program.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace Cambridge 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            int x1 = int.Parse(Console.ReadLine()); 
            int y1 = int.Parse(Console.ReadLine()); 
            Point p1 = new Point(); 
            Point p2 = new Point(x1, y1); 
            double ans = p2.Dis(p1); 
            Console.WriteLine("該點與原點的距離為" + ans); 
        } 
    } 

部分類

部分類定義,簡言之,就是使用部分類定義,使類的定義橫跨多個文件。

例如:可以把字段、屬性和構造函數放在一個文件中,而把方法放在另一個文件中。

為此,只需在每個包含部分類定義的文件中對類使用partial關鍵字即可。

在一個項目中新建兩個類,Circle1.cs,Circle2.cs,Program.cs可以調用者這兩個類

[csharp] 
//Circle1.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace cam 

    partial class Circle 
    { 
        public Circle() 
        { 
            this.radius=0; 
        } 
        public Circle(int t) 
        { 
            this.radius=t; 
        } 
    } 

//Circle2.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace cam 

    partial class Circle 
    { 
        public int radius; 
        public double Area() 
        { 
            return Math.PI * this.radius * this.radius; 
        } 
    } 

//Program.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace cam 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            Circle c1 = new Circle(); 
            double area1 = c1.Area(); 
            Console.WriteLine(area1); 
            Circle c2 = new Circle(10); 
            double area2 = c2.Area(); 
            Console.WriteLine(area2); 
        } 
    } 

匿名類

匿名類可以臨時儲存數據,生命周期只在這個方法內,方法結束了,這個類型的生命周期也沒有了

[csharp]
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace com 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            var Obj1 = new { Name = "Tom", Age = 18 }; 
            Console.WriteLine(Obj1.Name + " " + Obj1.Age); 
            var Obj2 = new { Name = "Jerry", Age = 18 }; 
            Console.WriteLine(Obj2.Name + " " + Obj2.Age); 
            Obj1 = Obj2; 
            Console.WriteLine(Obj1.Name + " " + Obj1.Age); 
        } 
    } 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved