标签: multiple-inheritance

在参数和继承中定义参数值

我在使用某些Java时遇到问题,如何在Java中提供默认参数值?例如我在C ++中有这个

DVD(int i, string t, int y, string d="Unknown"): Items(i,t,y),director(d){} 在Java中,我尝试

public Dvd(int i, String t,int y, String d="Unknown"){
        super(i,t,y);
        director = d;
    }
Run Code Online (Sandbox Code Playgroud)

无法建立。那么我该如何提供默认值呢?

在我的主要测试课程中,我尝试给出3个参数,分别为4,但这也失败了。我如何解决这个问题?

java multiple-inheritance default-value

0
推荐指数
1
解决办法
272
查看次数

有没有允许同时继承两个或更多类的语言?

是否有任何语言允许同时继承两个或更多类?

我知道PHP和Java不允许这样做.我想其他语言也不允许这样做.但为什么?我认为它会非常有用.这里的代码(它不是任何语言的正确语法)解释了我的意思......

class X extends Y, Z {

}
Run Code Online (Sandbox Code Playgroud)

如果可能的话,X类将具有Y和Z具有的所有字段和方法.

inheritance multiple-inheritance

0
推荐指数
2
解决办法
146
查看次数

android中的函数重用

我有一个原生的android应用程序,包含10个活动的大约20个类.

我想在每个Activity中重用一个函数定义.我有一个底栏,从任何活动点击它应该触发此功能.由于Java无法进行多重继承,如何将此功能复制到我想要的位置?

java oop code-reuse android multiple-inheritance

0
推荐指数
1
解决办法
832
查看次数

关于java的多重继承的困惑.请阅读下面的内容

那么这在java中是允许的

ClassA extends ClassB implements InterfaceA
Run Code Online (Sandbox Code Playgroud)

并且

InterfaceA extends IntefaceB , InterfaceC
Run Code Online (Sandbox Code Playgroud)

好吧,如果这些不是多重继承那么它们是什么?

UPDATE

好吧,我碰巧以错误的方式说出了这个问题.我最初的问题是为什么java不支持多重继承.

我真正想知道的是:

如果一个接口可以扩展多个接口,或者一个类可以扩展一个类并实现一个接口,那么为什么那些不能被称为多重继承呢?

java multiple-inheritance

0
推荐指数
1
解决办法
474
查看次数

Python多重继承:参数传递(**kwargs)和super()

我试图理解Python多重继承,我有点理解MRO,super()和在MI中传递参数,但是当我阅读下面的例子时,它让我很困惑.

class Contact:
    all_contacts = []

    def __init__(self, name=None, email=None, **kwargs):
        super().__init__(**kwargs)
        self.name = name
        self.email = email
        self.all_contacts.append(self)


class AddressHolder:
    def __init__(self, street=None, city=None, state=None, code=None, **kwargs):
        super().__init__(**kwargs)
        self.street = street
        self.city = city
        self.state = state
        self.code = code


class Friend(Contact, AddressHolder):
    def __init__(self, phone='', **kwargs):
        super().__init__(**kwargs)
        self.phone = phone
Run Code Online (Sandbox Code Playgroud)

现在我无法理解为什么在Contact和AddressHolder类中使用super().我的意思是当我们从父类继承但是Contact&AddressHolder都不从任何其他类继承时使用super().(从技术上讲,他们是继承自的object).这个例子让我对super()的正确使用感到困惑

python inheritance multiple-inheritance python-3.x

0
推荐指数
1
解决办法
3186
查看次数

如何避免继承冲突

在我的C++程序中,我有两个类(B1和B2),它们有自己的方法,但有1个("意外").例如:

B1类标题:

void height();
void size();
void enabled();
Run Code Online (Sandbox Code Playgroud)

B2级标题:

void width();
void length();
void enabled();
Run Code Online (Sandbox Code Playgroud)

现在我有一个继承自B1和B2的A类.由于enabled()多重继承后方法中存在"冲突",我该如何避免这种情况?有没有办法从继承中排除方法?例如,我可以enabled()从B1类中排除继承(我不能将其设置为私有,因为它是从B1派生的其他类中使用的).还有其他想法吗?

c++ inheritance multiple-inheritance

0
推荐指数
1
解决办法
123
查看次数

向下转换为间接子类不起作用?

        public class A
    {

      public void printA(){
        System.out.println("A");  
      }

    }


    public class B extends A
    {
       public void printB(){
        System.out.println("B");  
      }

    }

    public class C extends B
    {
       public void printC(){
        System.out.println("C");  
      }

    }

    public class test {
        public static void main(String[] args)
      {

     A  a = new B();
          a.printA(); // work

        B b = (B) a;
          b.printB(); // work

          C c = (C) b;
          c.printC(); // not work throw  java.lang.ClassCastException

      }
}
Run Code Online (Sandbox Code Playgroud)

我有三个A类和B类,C
C从B延伸,B从A延伸到A
为什么从A到B,而不是从B到C,尽管它们之间的关系如A和B,B是父的C那么JVM怎么工作?

java inheritance casting multiple-inheritance downcast

0
推荐指数
1
解决办法
67
查看次数

Django - 一个模板可以扩展两个或更多模板吗?

比方说,有base_a.html,base_b.html,a.html,b.html,c.html.

a.html扩展base_a.htmlb.html扩展base_b.html.
并且c.html必须延伸base_a.htmlbase_b.html.

如果您认为base_a.html包含回复功能并base_b.html包含搜索功能,则更容易理解这种情况.

我可以在Django模板中使用多重继承吗?
或者我是否必须使用include而不是extends?

django templates extends multiple-inheritance

0
推荐指数
1
解决办法
3331
查看次数

如何解决多次继承的含糊变量名称?

所以我有一个以下问题.我有一个类,它是另外两个类的子类,它们都有位置.就像在这个例子中:

struct A
{
    float x, y;
    std::string name;

    void move(float x, float y)
    {
        this->x += x;
        this->y += y;
    }
};

struct B
{
    float x, y;
    int rows, columns;

    void move(float x, float y)
    {
        this->x += x;
        this->y += y;
    }
};

struct C : public A, public B
{
    void move(float x, float y)
    {
        this->x += x; //generates error: "C::x is ambiguous
        this->y += y; //generates error: "C::y is ambiguous
    }
};
Run Code Online (Sandbox Code Playgroud)

在代码的后面,我将C类称为A类和B类,当我得到这个位置时,我遇到了问题.我可以以某种方式"组合"两个类的位置变量吗?如果没有,我可以同时更改两个类的位置,或者我必须这样做:

void …
Run Code Online (Sandbox Code Playgroud)

c++ multiple-inheritance objective-c++

0
推荐指数
1
解决办法
96
查看次数

如何从两个类创建UITextField Inherit?

我的一些UITextField是从TextFieldEffects的 KaedeTextField继承而来的

我想让这些文本字段具有来自另一个框架AKMaskField的掩码

怎么可能这样呢?如何使文本字段具有KaedeTextField的样式,但同时也具有AKMaskField的掩码?

是否可以使用协议和扩展在Swift中执行此操作?

multiple-inheritance uitextfield ios cocoapods swift

0
推荐指数
1
解决办法
97
查看次数