A,B类继承P类,同时A类又实现了I接口,上转型时如何访问实现I接口的方法?

例如:

  • 接口: 打电话

  • 父类: 摄影器材

  • 子类: 单反相机,手机.
    这两个子类同时具有拍照功能,但是手机又有打电话的功能,所以实现了接口中打电话的方法.

问题:

上转型时, 父类 实例变量 = new 手机(); 创建的实例变量是访问不到打电话方法的.
这种问题如何解决,或者说应该采用其他的设计思路?

要么直接手机类,要么强转

没看明白你想做什么,想让摄影器材打电话?

java写的少,C#里面可以用

void Function(BaseClass arg)
{
    ChildClass child=arg as ChildClass;
    //然后就可以使用child变量直接访问子类的方法了
}