java + (C++) != C#

來源:互聯網
上載者:User
c++

在我的印象中一直將C#歸結為在C++基礎上,參考JAVA語言設計的一種語言;

今天仔細的看了看C#的特性,發現這樣的認識有失偏頗;

為了便於認識我們將一種電腦語言分成三部分比較;



基本的文法;

組織圖(物件導向);

特定功能;



ü 這三種語言在基本的文法結構上都是非常的想象的;

ü C#和JAVA在物件導向方面是很相似的,拋開關鍵詞的不同(繼承的關鍵詞,最終化的關鍵詞等);

n 類型,

n 介面,

n 虛類,

n 類型間的單繼承,

n 介面間的多繼承,

n 類和介面間的多實現

可以說C#簡直就是照搬了JAVA的物件導向的特性;

ü 特殊功能方面;C#為了保留C++強大的功能做出了不懈的努力,例如區分形式參數的值調用,引用調用等等;個人感覺為了保留指標能提供的功能C#做出了不懈的努力;委託實際上是函數指標的一種非指標實現;還有在類型層級加入對事件的支援;都能看到C#做出了很多改變;



個人感覺,C#是想把JAVA簡單的面向功能部分和C++強大靈活的功能整合在一起,藉助於.NET基底類別庫和通用語言運行時實現一個完美的語言;

可是我感覺她走了C++的老路,功能是挺多,挺強;但是沒有給人有重點的感覺;反觀JAVA掌握JAVA是一件令人愉快的事情,因為它目的明確,不會有太多讓人混堯的功能;C#為了最大程度的相容C++做出了不懈的努力;可是我覺得他要超越java語言還需要做得更簡潔化;



讓使用者通過使用來完成某些功能,而不是在語言層級添加對某些具體功能的支援;

C#有點劍走偏鋒了!





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.