1. 程式人生 > >C# 面向對象之類和方法

C# 面向對象之類和方法

姓名 特點 div 個數 closed adk job 修改 調用函數

一、新建一個類,用來存放屬性和方法( 屬性和方法寫在同一個類中)。

先新建一個類:

技術分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _9._02WeekendHomeWork
 8 {
 9     /*
10      * 創建人:龐
11      * 類型:P27 第一題
12      * 時間:2017.09.02
13      * 
14      * *
*/ 15 public class Student 16 { 17 /// <summary> 18 /// 創建自我介紹的方法 19 /// </summary> 20 /// <param name="Class"></param> 21 /// <param name="Name"></param> 22 /// <param name="Age"></param> 23 /// <param name="Like"></param>
24 public void SelfIntroduction() 25 { 26 Console.WriteLine("我來自"+Class+"班,我叫"+Name+",我今年"+Age+"歲,我的愛好是"+Like+""); 27 } 28 29 #region 學生屬性 30 /// <summary> 31 /// 學生班級 32 /// </summary> 33 public
string Class { get; set; } 34 35 /// <summary> 36 /// 學生姓名 37 /// </summary> 38 public string Name { get; set; } 39 /// <summary> 40 /// 學生年齡 41 /// </summary> 42 public int Age { get; set; } 43 /// <summary> 44 /// 學生愛好 45 /// </summary> 46 public string Like { get; set; } 47 #endregion 48 } 49 }
View Code

然後在入口函數中將上面新建的類進行實例化,並給屬性進行賦值,並調用函數(類和入口函數在兩個頁面上)。

技術分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _9._02WeekendHomeWork
 8 {
 9     /*
10      * 創建人:龐
11      * 類型:P27 第一題
12      * 時間:2017.09.02
13      * 
14      * **/
15     class Program
16     {
17         static void Main(string[] args)
18         {
19             //實例化
20             Student student1 = new Student();
21             student1.Class = "T806";
22             student1.Name = "小李";
23             student1.Age = 18;
24             student1.Like = "唱歌";
25             //調用函數
26             student1.SelfIntroduction();
27             //實例化
28             Student student2 = new Student();
29             student2.Class = "T803";
30             student2.Name = "小黃";
31             student2.Age = 20;
32             student2.Like = "nv";
33             //調用函數
34             student2.SelfIntroduction();
35             Console.WriteLine("請按任意鍵繼續……");
36             Console.ReadKey();
37         }
38     }
39 }
View Code

顯示效果:

技術分享

二、新建一個類頁面,然後在裏面新建一個入口函數用來調用方法、實例化、賦值;在下面再新建一個類,用來存放屬性和方法。

技術分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _9._02WeekendHomeWork.題2
 8 {
 9     /*
10     * 創建人:龐
11     * 類型:P27 第2題
12     * 時間:2017.09.02
13     * 
14     * **/
15     public class Class2
16     {
17         /// <summary>
18         /// 創建主程序入口函數
19         /// </summary>
20         /// <param name="args"></param>
21         static void Main(string[] args)
22         {
23             Console.WriteLine("請輸入姓名:");
24             string name = Console.ReadLine();
25             Console.WriteLine("請輸入年齡,如果您輸入的年齡有誤,默認為18歲:");
26             int age = Convert.ToInt32(Console.ReadLine());
27             Console.WriteLine("請輸入您的愛好,愛好不能超過20個字符:");
28             string like = Console.ReadLine();
29             //給屬性賦值
30             dierti dierti = new dierti();
31             dierti.Name = name;
32             dierti.age = age;
33             dierti.Like = like;
34             dierti.Check();
35             Console.WriteLine("請按任意鍵繼續……");
36             Console.ReadKey();
37 
38         }
39         /// <summary>
40         /// 學生信息類
41         /// </summary>
42         public class dierti
43         {
44             #region 屬性
45             /// <summary>
46             /// 輸入姓名
47             /// </summary>
48             public string Name { get; set; }
49             /// <summary>
50             /// 年齡
51             /// </summary>
52             public int age { get; set; }
53             public string Like { get; set; }
54             #endregion
55             /// <summary>
56             /// 封裝方法
57             /// </summary>
58             public void Check()
59             {
60                 Console.WriteLine("\n你剛才輸入的姓名:{0}", Name);
61                 if (age < 0 || age == -1)
62                 {
63                     Console.WriteLine("年齡:18");
64                 }
65                 else
66                 {
67                     Console.WriteLine("年齡:{0}", age);
68                 }
69                 if (Like.Length > 20)
70                 {
71                     Console.WriteLine("對不起,愛好不能超過20個字符!");
72                 }
73                 else
74                 {
75                     Console.WriteLine("愛好:{0}", Like);
76                 }
77             }
78         }
79     }
80 
81 }
View Code

顯示效果:

技術分享

1.調試的時候要修改啟動項,方法步驟如下:

首先:

技術分享

然後:

技術分享

三、使用不同的構造函數來創建employ類

技術分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _9._02WeekendHomeWork.題3
 8 {
 9     /*
10     * 創建人:龐
11     * 類型:P57 第1題
12     * 時間:2017.09.03
13     * 
14     * **/
15     public class demo03
16     {
17         /// <summary>
18         /// 建立主入口函數
19         /// </summary>
20         /// <param name="args"></param>
21         static void Main(string[] args)
22         {
23             Employee employee = new Employee();
24             employee.Method01("小李");
25             employee.Method02("小楊",1001,"主管");
26             Console.WriteLine("請按任意鍵繼續……");
27             Console.ReadKey();
28         }
29         /// <summary>
30         /// 建立員工類
31         /// </summary>
32         public class Employee
33         {
34             #region 定義屬性
35             public string Name { get; set; }
36             public int Id { get; set; }
37             public string Job { get; set; }
38             #endregion
39             /// <summary>
40             /// 創建方法1
41             /// </summary>
42             public void Method01(string Name)
43             {
44                 Console.WriteLine("我的姓名為{0}",Name);
45             }
46             /// <summary>
47             /// 創建方法2
48             /// </summary>
49             public void Method02(string Name,int Id,string Job)
50             {
51                 Console.WriteLine("我的姓名為{0},員工編號為{1},崗位是{2}。",Name,Id,Job);
52             }
53         }
54     }
55 }
View Code

顯示效果:

技術分享

四、使用方法的重載調用帶參數的函數

1.重載的特點:一同三不同

  1. 方法名稱一樣;
  2. 方法的參數個數不一樣;
  3. 參數類型不一樣;
  4. 當參數的類型相同時,參數的順序不一樣;

2.註意:方法的重載一定要在同一個類中進行;否則不能稱之為重載。

技術分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _9._02WeekendHomeWork.題3
 8 {
 9     /*
10     * 創建人:龐
11     * 類型:P57 第1題
12     * 時間:2017.09.03
13     * 
14     * **/
15     public class demo03
16     {
17         /// <summary>
18         /// 建立主入口函數
19         /// </summary>
20         /// <param name="args"></param>
21         static void Main(string[] args)
22         {
23             Employee employee = new Employee();
24             employee.Method01("小李");
25             employee.Method02("小楊",1001,"主管");
26             Console.WriteLine("請按任意鍵繼續……");
27             Console.ReadKey();
28         }
29         /// <summary>
30         /// 建立員工類
31         /// </summary>
32         public class Employee
33         {
34             #region 定義屬性
35             public string Name { get; set; }
36             public int Id { get; set; }
37             public string Job { get; set; }
38             #endregion
39             /// <summary>
40             /// 創建方法1
41             /// </summary>
42             public void Method01(string Name)
43             {
44                 Console.WriteLine("我的姓名為{0}",Name);
45             }
46             /// <summary>
47             /// 創建方法2
48             /// </summary>
49             public void Method02(string Name,int Id,string Job)
50             {
51                 Console.WriteLine("我的姓名為{0},員工編號為{1},崗位是{2}。",Name,Id,Job);
52             }
53         }
54     }
55 }
View Code

3.入口函數為靜態方法:

1 static void Main(string[] args)
2         {
3             //chongzai chongzai = new chongzai();
4             methord("小李");
5             methord(201,"小王");
6             methord(502,"小胡","");
7             Console.ReadKey();   
8         }

所以在構造方法時也要標明為靜態方法,即要用到static關鍵字,否則vs會報錯:

1 public static void methord(string name)
2         {
3             Console.WriteLine("我來自T102班,我叫{0},我今年18歲,我的愛好是唱歌。", name);
4         }

顯示效果:

技術分享

五、方法的重載

技術分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace _9._02WeekendHomeWork.題5
 8 {
 9     /*
10      * 創建人:龐花輝
11      * 時間:2017.9.03
12      * 類型:P57 第3題
13      * **/
14     class demo05
15     {
16         /// <summary>
17         /// 創建入口函數
18         /// </summary>
19         /// <param name="args"></param>
20         static void Main(string[] args)
21         {
22             methord01();
23             Console.WriteLine("該正方形的邊長為{0}", methord01(5));
24             methord02();
25             Console.WriteLine("該長方形的面積為{0}", methord02(5,6));
26             methord03();
27             Console.WriteLine("該圓的面積為{0}", methord03(2.2));
28             Console.ReadKey();
29         }
30         /// <summary>
31         /// 方法01
32         /// </summary>
33         public static void methord01(){
34             Console.WriteLine("該正方形的邊長為5");
35         }
36         public static int methord01(int a){
37             return a * a;
38         }
39         /// <summary>
40         /// 方法02
41         /// </summary>
42         public static void methord02()
43         {
44             Console.WriteLine("該長方形的長和寬為5,6");
45         }
46         public static int methord02(int b,int c)
47         {
48             return b * c;
49         }
50         /// <summary>
51         /// 方法03
52         /// </summary>
53         public static void methord03()
54         {
55             Console.WriteLine("該圓的半徑為2.2");
56         }
57         public static double methord03(double r)
58         {
59             return r * r * Math.PI;
60         }
61     }
62 }
View Code

C#中圓周率的書寫:

1 public static double methord03(double r)
2         {
3             return r * r * Math.PI;
4         }

顯示效果:

技術分享

技術分享

C# 面向對象之類和方法