成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析C# Calculator類

開發 后端
本文介紹C# Calculator類,包括介紹在C# 2.0中,除了可以對整個屬性設置public等訪問修飾符外,對內部的get/set訪問器同樣可以設置訪問修飾符,當然它要受到一定的限制。

C# Calculator類

在C# 2.0中,除了可以對整個屬性設置public等訪問修飾符外,對內部的get/set訪問器同樣可以設置訪問修飾符,當然它要受到一定的限制。由于有些限制和接口、重寫有關,我暫時不會介紹,在這里,我僅介紹訪問器和屬性的訪問修飾符沖突問題。
1、如果整個屬性被設置為public,則其訪問器沒有限制;
2、如果整個屬性被設置為protected internal,則訪問器的訪問修飾僅能設置為internal,protected或者private中的一種;
3、如果整個屬性被設置為internal或者protected,那么訪問器的訪問修飾只能是private。
如下例:

  1. publicClassA  
  2. {  
  3. privatestringm_text;  
  4. privateintm_count;  
  5. publicstringText  
  6. {  
  7. get{returnm_text;}  
  8. protectedset{m_text=value;}  
  9. }  
  10. internalintCount  
  11. {  
  12. privateget{return5;}  
  13. privateset{m_count=value}  
  14. }  

從程序的實質來看,其實屬性就是一種特殊的方法,它等同于下面的代碼:

  1. public int GetAge()  
  2. {  
  3.  return m_age;  
  4. }  
  5. public void SetAge(int age)  
  6. {  
  7.  m_age = age;  

從這個意義上來理解get/set訪問器的訪問級別修飾,就更容易理解了。實質上,所謂的訪問器的訪問級別修飾,不外乎就是對方法進行訪問級別修飾罷了。當然,C#中提供的屬性要比訪問字段的get/set方法更加簡便。一般而言,如要定義方法,應該是和一個對象的行為有關,例如系列三定義的User類中的SignIn()和SignOut()方法,它們代表的是對象User的行為:登錄和退出。

定義一個類的方法,必須包括五個要素:方法修飾符,方法名,返回類型,參數,以及方法體,例如Add方法:

  1. public int Add(int x, int y)  
  2. {  
  3.  return x + y;  

public即為我們的方法修飾符,它代表了該方法能被訪問的級別。當然,修飾的方法的關鍵字還包括 static,virtual,abstract等,不過這些內容會在以后介紹。方法名自然是Add了,自然屬于方法的名字。返回類型為int,代表該方法會返回一個結果,該結果類型為int類型。參數有兩個,分別為x和y,它們的類型都是int。調用者可以通過參數傳遞值到方法體中,并對它們進行操作。方法體則是花括號中的內容。

假設Add方法是定義在類Calculator中,那么該方法的調用為:

  1. Calculator cal = new Calculator();  
  2. int result = cal.Add(3,5); 

通過對Add的調用,并傳入3和5的參數,***得到結果8,并返回。因此,此時變量result的值就為8。而***行代碼,則是利用new關鍵字對C# Calculator類進行實例化,獲得一個對象cal。通過對象cal,才可以調用C# Calculator類的公共方法、屬性或字段。

為什么要進行實例化呢?我們定義一個類類型,是為調用者所使用的,否則就失去其意義了。但我們定義的這樣一個類類型,僅僅是代表了某種格式而已,例如User類說明它是一個class,它擁有了一些字段、屬性和方法。通過這樣的定義,我們在使用這些類型的對象時,.Net能夠識別它。而如果真正要調用這些類型對象,就必須進行”實例化”,這個操作就會在運行期間,創建一個個對象,并被放在內存空間中供程序調用。就好比”人”就是一個類類型,而某一個具體的人,才是被實例化的、真正存在的對象。要使得一個類類型被實例化,就需要為該類型提供”構造器”。構造器是一種特殊的方法,它沒有返回類型,且其方法名和類型名保持一致,如C# Calculator類的定義以及它的構造器:

  1. public class Calculator  
  2. {  
  3.  public Calculator()  
  4.  {  
  5.  }  
  6.  public int Add(int x, int y)  
  7.  {  
  8.   return x + y;  
  9.  }  

Calculator()方法就是一個”構造器”,這個構造器并沒有參數,在C#中,也被稱為默認的構造器,即使不定義該構造器,.Net也會為它默認創建。例如在Calculator類中,我們完全可以刪去Calculator()構造器的定義。然而,一旦我們定義了有參數的構造器時,則該默認構造器將不存在,如果我們再需要不帶參數創建實例的話,就需要顯式創建該構造器了。例如之前的User類。如果姓名和密碼是該類一個非常重要的屬性,大部分情況下,如果要創建User對象時,都需要這兩個屬性的值時,我們就可以為User類專門創建一個構造器:

  1. public class User  
  2. {  
  3.  public User(string name, string password)  
  4.  {  
  5.   m_name = name;  
  6.   m_password = password;  
  7.  }   

【編輯推薦】

  1. 分析C#不安全代碼
  2. 淺析C#調用ImageAnimator
  3. C#連接Access、SQL Server數據庫
  4. 淺談C#固定的和活動的變量
  5. 介紹C#中的值類型
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-21 17:24:06

C# SingleIn

2009-08-21 17:24:06

C# SingleIn

2009-08-27 16:18:47

C#類C#結構體

2009-08-20 11:07:07

C#共享內存

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-08-07 17:25:37

C# SortedLi

2009-08-13 14:06:37

C#結構體結構體和類的區別

2009-08-12 16:46:22

C#讀取XML文檔

2009-08-25 17:59:49

C#入門

2009-08-10 14:43:03

C#函數Convert

2009-09-11 09:15:06

C# get方法

2009-08-21 15:57:58

C# DataSour

2009-07-31 16:00:30

C#函數重載

2009-08-04 09:30:33

C#調用ImageAn

2009-08-12 17:03:39

C# Static修飾

2009-08-11 14:45:41

C# DataGrid

2009-08-20 10:10:55

C#透明窗體

2009-08-18 10:30:30

C#枚舉

2009-08-12 15:20:21

C#事件處理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 999久久久 | 国产高清视频在线 | 欧美国产精品一区二区三区 | 亚洲精品66| 99亚洲精品视频 | 一区二区三区四区在线 | 一区二区三区高清在线观看 | 亚洲久草视频 | 日韩在线欧美 | www.五月天婷婷| 在线观看视频中文字幕 | 免费成人在线网 | 本道综合精品 | 日日夜夜免费精品视频 | 亚洲高清在线视频 | 在线视频一区二区 | 男女啪啪高潮无遮挡免费动态 | 亚洲精品视频导航 | 亚洲深夜福利 | 干狠狠 | 亚洲欧美一区二区三区在线 | 日日射影院 | 免费观看黄 | 欧美一区免费 | 狠狠av| 米奇7777狠狠狠狠视频 | 日日操夜夜操天天操 | 久久久久无码国产精品一区 | 午夜影院在线免费观看视频 | 日韩精品a在线观看图片 | 夜夜爽99久久国产综合精品女不卡 | 我想看国产一级毛片 | 日本不卡一区二区 | 亚洲国产欧美在线 | 国产精品一区二区无线 | 热久色 | 久久精品高清视频 | 午夜性视频 | 91一区二区三区在线观看 | 欧美一级欧美一级在线播放 | 一级大片免费 |