[問題] 某書上getter與setter範例的問題

看板Flash作者 (阿邪)時間15年前 (2010/11/26 03:07), 編輯推噓2(2023)
留言25則, 4人參與, 最新討論串1/1
某書上getter與setter範例 類別A: package { public class A { private var MyString:String="test"; public function get hello():String{ return MyString; } public function set hello(S:String):void{ MyString=S; } } } 類別B: package { import flash.display.Sprite; public class B extends Sprite { public function B(){ var foo:A=new A(); trace(foo.hello); } } } 我的問題在於類別B裡的var foo:A=new A(); 他這邊的new A()我有點不懂的是類別A裡面沒有建構函式,new A()是哪來的?? 而類別A沒有寫建構函式就直接get跟set,這邊觀念有點模糊= = 請各位高手指導解說!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.152.249

11/26 03:31, , 1F
沒寫跟有寫沒塞東西一樣 A是instance instance是class來
11/26 03:31, 1F

11/26 03:33, , 2F
通常建構函式是用來寫初始設定 而它只是需要一個A物件來
11/26 03:33, 2F

11/26 03:33, , 3F
使用其他function的功能
11/26 03:33, 3F

11/26 03:37, , 4F
原來如此!感謝您的解惑
11/26 03:37, 4F

11/26 05:16, , 5F
我其實看不太懂w版友的推文...s版友能幫忙解釋一下嗎?
11/26 05:16, 5F

11/26 05:17, , 6F
A明明是一個class,怎麼會變instance呢?
11/26 05:17, 6F

11/26 05:18, , 7F
在OOP的架構下,子類別沒寫的功能不代表就不能用,也
11/26 05:18, 7F

11/26 05:19, , 8F
許它的爸媽有遺傳給他,那他就可以直接用
11/26 05:19, 8F

11/26 05:20, , 9F
另外,有沒有建構函式跟getter/setter是兩件事 :)
11/26 05:20, 9F

11/26 08:07, , 10F
A是class foo是instance
11/26 08:07, 10F

11/26 10:20, , 11F
嗯 我寫錯了 我是要說A()是instance
11/26 10:20, 11F

11/26 10:24, , 12F
還有我沒考慮到遺傳的問題 我是認為它只是一個例子
11/26 10:24, 12F

11/26 10:28, , 13F
不過遺傳應該跟建構函式沒寫沒關係 通常是用外面的功能?
11/26 10:28, 13F

11/26 10:29, , 14F
而且A沒有extend任何class
11/26 10:29, 14F

11/26 11:44, , 15F
A即使沒有繼承自任何class,在編譯的時候還是偷偷塞一
11/26 11:44, 15F

11/26 11:45, , 16F
個類別給它繼承
11/26 11:45, 16F

11/26 13:33, , 17F
像是Object之類的嗎?
11/26 13:33, 17F

11/26 15:17, , 18F
抱歉正在上班中,晚上回家再來回一篇完整一點的 :)
11/26 15:17, 18F

11/26 16:28, , 19F
我這篇是拿getter跟setter範例當例子!所以不是要討論
11/26 16:28, 19F

11/26 16:29, , 20F
getter與setter!
11/26 16:29, 20F

11/26 16:31, , 21F
我的問題其實就是W板友說的寫不寫建構函式的問題!就是
11/26 16:31, 21F

11/26 16:32, , 22F
沒寫建構函式等於有寫建構函式但沒塞東西!
11/26 16:32, 22F

11/26 16:34, , 23F
我記得class預設都是繼承Object
11/26 16:34, 23F

11/26 16:38, , 24F
感謝W板友與A板友熱心的回答!!這方面概念還是沒有很熟!
11/26 16:38, 24F

11/26 16:39, , 25F
忘了還有E板友熱心的回答!感謝:)
11/26 16:39, 25F
文章代碼(AID): #1CxhFQJq (Flash)
文章代碼(AID): #1CxhFQJq (Flash)