upcasting相关内容

我可以使用 C 样式转换将派生类转换为私有基类吗?

我可以这样做吗? class A { ... };B类:私人A{const A &foo() const{返回 *((const A *)this);}}; 我可以将继承自基类的子类转换为基类的公共版本吗?我可以在没有虚拟方法的情况下执行此操作吗? 我的猜测是肯定的,但我想确保它安全/便携. 解决方案 Yes you can: §5.4/7 of the standard: ..
发布时间:2021-12-31 21:41:06 C/C++开发

垂头丧气

我是 C#(和 OOP)的新手.当我有如下代码时: class Employee{//一些代码}班主任:员工{//一些代码} 问题 1:如果我有其他代码可以做到这一点: Manager mgr = new Manager();雇员 emp = (雇员)mgr; 这里的 Employee 是一个 Manager,但是当我把它像这样转换成一个 Employee 时,这意味着我在向上转换它吗? ..
发布时间:2021-12-12 08:10:48 C#/.NET

关于类变量的向上转换和向下转换有什么区别

就类变量而言,向上转型和向下转型有什么区别? 例如在下面的程序类中Animal只包含一个方法而Dog类包含两个方法,那么我们如何将Dog变量转换为Animal变量. 如果转换完成,那么我们如何使用Animal的变量调用Dog的另一个方法. 类动物{public void callme(){System.out.println("在动物的呼唤中");}}类狗扩展动物{public vo ..
发布时间:2021-11-25 13:05:52 Java开发

为什么Java对象类在转换后仍保持不变?

我试图up弃一个物体.但是在运行时,对象类仍保留为派生类. Derived drv = new Derived();Base base =(基础)drv;System.out.println("Class:" + base.getClass());//打印->类别:类别packagename.Derived 那为什么类属性没有变化? 解决方案 那为什么类的属性没有变化? ..
发布时间:2021-04-22 18:49:50 Java开发

在C#中向上转换并根据派生类型调用特定方法

我有几个类,都是从相同的基本类型派生的. class basetype{} class TypeA : basetype{} class TypeB : basetype{} ... 其中许多存储在列表中. List myObjects 与往常一样,每种类型的处理方式都必须不同.现在,我有两种方法可以处理它们,还有一个以基类型为参数的方法. Handl ..
发布时间:2020-07-13 01:45:42 C#/.NET

Java中的上/下流

我试图理解Java中的向上转换和向下转换,并且对以下情况(关于我的代码,在下面)感到困惑: 首先-为什么当我包含行myAnimal.bark();, 时为什么代码无法编译 和第二个-(假设我注释了myAnimal.bark();)为什么调用myAnimal.move()打印"moveDog"而不是"moveAnimal"? myAnimal是否不限于Animal类中的方法,因为即使我们将 ..
发布时间:2020-07-13 01:45:38 Java开发

PHP转换对象

我可以将一个对象上载到其父对象吗? 示例代码 class ClassA { public function foo(){ echo get_class($this); } } class ClassB extends ClassA { public function foo(){ echo get_class($this); // prints Class ..
发布时间:2020-05-20 01:23:15 PHP

Java - 向上转发和向下转发

我知道在stackoverflow中有很多文章/问题描述了Java中的向上转换和向下转换。我知道什么是向上倾斜和向下倾斜。但我的问题并不是特别的。 Upcasting - 从子节点转换为父节点 - 编译器需要注意。不需要演员阵容 向下转换 - 从父母到孩子的转换 - 需要明确演员? public class Animal { public void getAnimalNa ..
发布时间:2018-08-03 16:22:54 Java开发

java中的隐式向上转换和显式向下转换

当java可以隐式执行转换时,为什么不隐式执行转换?请用一些简单的例子来解释一下? 解决方案 关键是,向上转换总会成功,所以它是安全的 - 而向下转换可能会失败: String x = getStringFromSomewhere(); 对象y = x; //这将*总是*工作 但是: Object x = getObjectFromSomewhere() ..
发布时间:2018-08-03 16:06:54 Java开发