Esempio n. 1
0
        public object Clone()
        {
            // Cria um novo objeto e copia os valores dos atributos para este novo objeto
            Porta p = new Porta(this.altura, this.largura);

            p.aberta = this.aberta;

            // Retorna o novo objeto, que é uma cópia do objeto anterior
            return(p);
        }
Esempio n. 2
0
        static void Main()
        {
            // Cria uma porta e a abre
            Porta p1 = new Porta(2.1, 0.9);

            p1.Abrir();

            // Imprime os valores dos fields
            Console.WriteLine("p1 -> altura = " + p1.Altura);
            Console.WriteLine("p1 -> largura = " + p1.Largura);
            Console.WriteLine("p1 -> aberta = " + p1.Aberta);

            // Cria uma cópia de p1. O método Clone() retorna um object, portanto o casting é necessário
            Porta p2 = (Porta)p1.Clone();

            // Imprime os valores dos atributos do objeto copiado. Devem ser os mesmos do objeto original
            Console.WriteLine("p2 -> altura = " + p2.Altura);
            Console.WriteLine("p2 -> largura = " + p2.Largura);
            Console.WriteLine("p2 -> aberta = " + p2.Aberta);
        }