作者longrider (龍騎士2)
看板java
標題[問題] Object 的基本問題
時間Sun Jul 17 21:56:28 2011
大家好, 有一些基本的 Object 問題請教大家
希望大家別見笑
我在看 Java vs C# 的比較時
http://www.harding.edu/fmccown/java_csharp_comparison.html
看到幾段 Code
---------Java
SuperHero hero = new SuperHero();
hero.setName("SpamMan");
hero.setPowerLevel(3);
hero.Defend("Laura Jones");
SuperHero.Rest(); // Calling static method
SuperHero hero2 = hero; // Both refer to same object
hero2.setName("WormWoman");
System.out.println(
hero.getName()); // Prints WormWoman
---------C#
SuperHero hero = new SuperHero();
hero.Name = "SpamMan";
hero.PowerLevel = 3;
hero.Defend("Laura Jones");
SuperHero.Rest(); // Calling static method
SuperHero hero2 = hero; // Both refer to same object
hero2.Name = "WormWoman";
Console.WriteLine(
hero.Name); // Prints WormWoman
---------
這個差異, 是因為 Java 不允許外部對 Object 裡面變數的讀寫嗎?
所以需要另外額外的 setName() 與 getName() 來負責讀寫動作.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.41.163
→ dos792:public data不行嗎? 07/17 22:13
→ longrider:我在 VB 與 C++ 是可以用 public, 但 Java 不確定(不熟) 07/17 22:44
→ qrtt1:沒基礎看這種東西是危險的。 07/18 00:16
推 gozha:C#看起來是直接存取變數 其實是accessors 07/18 10:54