作者adrianshum (Alien)
看板java
标题Re: [问题] 请教关於多型的观念
时间Wed Nov 18 11:45:36 2009
※ 引述《cjcat2266 (CJ Cat)》之铭言:
: 我记得在run-time时决定要呼叫哪一个版本的method
: 在C++好像有个术语叫做dynamic linking?
这叫 late-binding
dynamic linking 是另一样不同的东西.
Java 里面也是一样叫 late binding
: 总之它的概念就是,尽管你的animal变数是Animal type
: 但是因为它所指到的物件有override原本的makeSound() method
: 於是override版本的method就会被使用,而不是原来在Animal里面定义的版本
: 该呼叫哪个method是在run-time决定的
: compiler在编译的时候,只知道要呼叫这个变数的makeSound() method而已
: 而不知道到时候会是什麽型态的物件的makeSound() method会被呼叫到
: 这个就是polymorphism的概念
: Strategy Pattern主要就是依靠polymorphism
GoF 的 Design Pattern 里面超过八成都要依靠 polymorphism...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82