引用:
|
作者FatJohn
嗯~ 小弟到不這麼認為~ OO的東西不是說學最原始的就好~
對於物件導向的程式語言來說,樓主想要學的是C#就可以由C#去著手、寫學Java就從Java去著手,想學C++就從C++去著手,畢竟每一種語言在OO上面也有一些許的不同。
簡單的例子就是在C#中,就缺少了多重繼承,取而代之得則是介面可以多重繼承,但類別卻不行,這點和C++是不同的。
深入到Runtime(CLR)的底層來說,對於物件繼承後的初始化的順序,與C++也是不同的。
C#您說只能在Windows上面執行我不反對,但是Linux上面也是有.NET(Mono Project),Symbian上面也將會有.NET CF,基本上C#是一個W3C所認證的標準(雖然您可以說他是MS主導的),他的Runtime(CLR)也是標準,所以只要有人肯實做的話,是可以在不同的平台上面執行的,這點跟Java是相同的意思。
以上,歡迎多多指教
|
C# 我完全不懂,所以無法討論,不過我認同你說的,要學 OO 不一定要學 C++。
C# 給我的印象一直是微軟搞出來要和 Java 對抗的東西,我不是反微軟的人,只是單純的認為只學這一種語言,要是將來只能在 Windows 上用似乎是比較不好,我也沒看過 C# 在其他平台有任何的實作出來,而 Java 在跨平台上的實作就很多了 (因為發展得比較早吧),這也是我建議樓主乾脆直接學 C++ 的原因。
我的意思是要他先學語法之類的東西,要先搞清楚C++大概是怎樣玩的,不一定要學得很精到大師級的程度,其實只要懂一樣,再去學其他的語言都可以觸類旁通,既然如此,乾脆先學 C++,這樣才會知道為什麼其他的 C-Like 語言要那樣做,其實 C++ 難度並不高。
不過如果是學校開 C# 課程,那還是應該直接學 C#,C++ 可當做 optional。
拿 C++ 的多重繼承來比較是超級老梗了,想當初 Java 也是拿這個來炒作。
