Помогите навсегда решить эту дилемму.
Допустим на псевдокоде написан такой код:
class A {
}
class B inherit from A {
}
class Program {
public static void Main () {
A first = new A();
B second = new B();
B third = new B();
//1 Upcast or Downcast?
third = first;
//2 Upcast or Downcast?
first = second;
}
}
И вот вопрос, что есть Upcast а что Downcast?
В интернете, даже в англоязычных источниках, вместо того, чтобы показать ответ на конкретном коде, как правило сразу начинают лезть в дебри (хотя по хорошему прежде чем туда лезть надо как раз таки сначала дать понимание обсуждаемого процесса).