我知道,重載使用靜態綁定和重寫使用動態綁定。 但是,如果他們混合? 根據this tutorial,爲了解析方法調用,靜態綁定使用類型信息,而動態綁定使用實際的對象信息。 那麼,在下面的例子中是否發生了靜態綁定,以確定調用哪個sort()方法? public class TestStaticAndDynamicBinding {
@SuppressWarnings("rawtypes"
在下面的PHP代碼中,我想用Foo類中的__CLASS__魔術常數替換爲函數__X__()(或類似的東西),以便當方法hello()從Bar類的實例$bar中調用,它打印hello from Bar(而不是hello from Foo)。我想要 而不是重寫hello()裏面的Bar。 所以基本上,我想要一個__CLASS__的版本在運行時而不是在編譯時動態綁定。 class Foo {
鑑於基類和派生類如下: 基礎: class AA
{
public:
AA() = default;
virtual void print() const { std::cout << aa << "\n";}
private:
std::string aa = "AA";
};
派生: class BB : public AA
{
public:
B擴展A,C延伸的 試圖改變: public void convertA(A a) {
AClass clazz = new AClass();
if (a instanceof B) {
clazz.setX(convertBtoX(a));
} else if (a instanceof C) {
clazz.setY(convertC