日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
5個(gè)C#和Java之間的不同方法

C#和Java之間最大的區(qū)別之一,是如何處理的方法。在這兩種語(yǔ)言,方法是功能代碼的基石:他們定義變量,并指定對(duì)這些變量進(jìn)行操作,返回值給其他方法使用。盡管Java語(yǔ)言的創(chuàng)建者遵循了許多基于C語(yǔ)言的概念,他們研發(fā)的方法允許更少的限制和增加更多的靈活性。

#1: Virtual 方法

C#:方法默認(rèn)是非虛方法

Java:方法默認(rèn)是虛方法

虛方法允許任何類繼承,并重寫其方法。在Java中,所有方法默認(rèn)是虛方法。此默認(rèn)設(shè)置防止插入的一個(gè)與繼承類同名的不相關(guān)的方法。

在C#中,開(kāi)發(fā)人員必須明確指定帶“virtual”關(guān)鍵字的虛方法:

 
 
 
  1. public class Dimensions  
  2. {  
  3.     public const double pi = Math.PI;  
  4.     protected double x, y;  
  5.     public Dimensions()  
  6.     {  
  7.     }  
  8.     public Dimensions (double x, double y)  
  9.     {  
  10.         this.x = x;  
  11.         this.y = y;  
  12.     }  
  13.  
  14.     public virtual double Area()  
  15.     {  
  16.         return x*y;  
  17.     }  

繼承類要使用虛方法,該方法必須加上“override”關(guān)鍵字:

 
 
 
  1. public class Circle: Dimensions  
  2. {  
  3.     public Circle(double r): base(r, 0)  
  4.     {  
  5.     }  
  6.  
  7.     public override double Area()  
  8.     {  
  9.         return pi * x * x;  
  10.     }  

#2: Generator 方法

C#:支持generator方法

Java:不支持generator方法  

generator方法允許開(kāi)發(fā)人員控制如何循環(huán)處理每一次迭代。而不是創(chuàng)建一個(gè)組,generator方法返回每次迭代后的值作為循環(huán)過(guò)程的代碼。Java沒(méi)有內(nèi)置處理generator方法的功能,假設(shè)在Java中有這些功能代碼,往往也是龐大而復(fù)雜的。C#使用“IEnumerable”接口創(chuàng)建generator函數(shù)和“yield”命令返回值:

 
 
 
  1. public class TexasCityCollection : IEnumerable {  
  2.     public IEnumerator GetEnumerator() {  
  3.         yield return "Houston";  
  4.         yield return "Auston";  
  5.         yield return "Dallas";  
  6.         yield return "San Antonio";  
  7.     }  

#3: Partial 方法

C#:支持并限制分部方法

Java:不支持分部方法

Java不支持分部方法。在C#中,分部方法是允許的,但必須符合特定的限制:   

  • 分部方法方法名必須相同?! ?/li>
  • 分部方法必須返回void?! ?/li>
  • 分部方法默認(rèn)是“private”,而且不接受任何修飾符。

#4: Extension 方法

C#:支持?jǐn)U展方法

Java:不支持?jǐn)U展方法

擴(kuò)展方法允許開(kāi)發(fā)人員包括他們當(dāng)前類型的方法,而不需要?jiǎng)?chuàng)建一個(gè)新類型或者修改現(xiàn)有的類型。當(dāng)前的Java語(yǔ)言不支持?jǐn)U展方法,但是其特性會(huì)考慮放在將來(lái)的版本中。

#5: Conditional 條件編譯

C#:支持條件編譯

Java:有限的支持條件編譯

C#編譯器允許條件編譯:開(kāi)發(fā)者可以輸入?yún)?shù)來(lái)確定項(xiàng)目編譯哪些方法來(lái)使用。Java也允許條件編譯,但這種做法通常是在調(diào)試過(guò)程中使用。

原文鏈接:http://www.oschina.net/question/157182_56839


新聞名稱:5個(gè)C#和Java之間的不同方法
瀏覽路徑:http://www.dlmjj.cn/article/djcsiji.html