static void Main() { Base bas = new Base(); Console.WriteLine("--------"); Derivada1 deriv1 = new Derivada1(); Console.WriteLine("--------"); Derivada2 deriv2 = new Derivada2(); Console.WriteLine("--------"); bas.info(); // "Base" deriv1.info(); // "Derivada1" deriv2.info(); // "Derivada2" Console.WriteLine("-=-=-=-=-=-=-="); Base Ref; // não estou vendo utilidade Ref = deriv2; Ref.info(); // "Derivada2" } // 11:43 05/10/2020
public static void Main() { Derivada2 derivada1 = new Derivada2(); Derivada1 derivada2 = new Derivada1(); Ref = derivada1; Ref.info(); }
class Aula38 { //Métodos virtuais -> são métodos com mesmo nome em classes diferentes e ações diferentes, uma classe que herda a outra, que tem método com o mesmo nome do método da classe base static void Main() { Base Ref; //Precisa ser Ref escrito desta forma Derivada1 d1 = new Derivada1(); Derivada2 d2 = new Derivada2(); Ref = d2; Ref.info(); }
static void Main() { Base Ref; // For criada uma referencia (Ref) Para a clase base, que por sua vez vai executar o método info() Derivada1 derivada1 = new Derivada1(); Derivada2 derivada2 = new Derivada2(); Ref = derivada1; Ref.info(); }
static void Main() { Base Ref; Derivada1 d1 = new Derivada1(); Derivada2 d2 = new Derivada2(); Ref = d1; Ref.info(); }
static void Main() { Base Ref; Derivada derivada = new Derivada(); Derivada2 derivada2 = new Derivada2(); Ref = derivada; Ref.info(); Ref = derivada2; Ref.info(); }
static void Main() { Base Ref; //Objeto de referência que recebe as propriedades das classes derivadas Derivada1 derivada1 = new Derivada1(); Derivada2 derivada2 = new Derivada2(); Console.WriteLine(); Ref = derivada1; Ref.Informacao(); Ref = derivada2; Ref.Informacao(); }
public static void Main() { //elemento de referencia que pode receber as classes derivadas Base Ref; Derivada1 d1 = new Derivada1(); Derivada2 d2 = new Derivada2(); //Neste caso estamos a associar a base ao objecto da derivada1 Ref = d1; //Ref vai imprimir o metodo getInfo() da derivada1 Ref.getInfo(); d1.getInfo(); d2.getInfo(); d1.SetValor(); Console.WriteLine(d1.getValor()); }
public static void Main() { Derivada2 derivada2 = new Derivada2(); }
class Aula37 { //Herança/Ordem de execução dos construtores: executa primeiro a base e depois as derivadas. static void Main() { Derivada2 d2 = new Derivada2(); }