Tutorial C# nivel intermedio 5 --- ICloneable

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ก.ย. 2024
  • ICloneable es una interfaz que hay que implementar cuando deseamos clonar un objeto o cuando algún método que necesite clonar un objeto espera utilizarla.
    Suscribete, nuevos videos cada semana!!!
    ---
    Visita mis otros playlist para aprender más!!!
    Mi Facebookk: / nicolasarriojalandacosio
    Mi canal de TH-cam: / nicosiored
    Mi Google+: plus.google.co...
    Mi sitio Web: www.nicosio.com

ความคิดเห็น • 18

  • @jonathanfabro5453
    @jonathanfabro5453 ปีที่แล้ว +1

    Muy buena explicación! Gracias!

  • @kkorps6548
    @kkorps6548 6 ปีที่แล้ว +4

    gracias por las clases me gustan mucho y he aprendido mucho con sus clases ya me acabe muchas de sus clases y siga asi profe nico

  • @oscarmamani5996
    @oscarmamani5996 5 ปีที่แล้ว +2

    muchas gracias por tomarse la molestia de hacer este video, me ayudo a solucionar un video! su explicacion fue la mas clara y sencilla

  • @pepitapacurri5463
    @pepitapacurri5463 3 ปีที่แล้ว +2

    Muy bueno vídeo y aunque parezca una tontería, ver como funcionan las referencias y los objetos, es de importancia en este mundo de la programación. Un saludo.

  • @felipexg4032
    @felipexg4032 5 ปีที่แล้ว +3

    Qué pasaría en el caso de que el constructor de mi clase tenga parametros que hubieran sido ingresados en tiempo de ejecución, es decir que dentro de Clone() no puedo replicar tales parametros? ¿Entonces lo que define en sí a mi objeto son solamente mis atributos? Y si el constructor afecta en cierto modo a otro objeto o decirle a un determinado sistema que se generó un nuevo elemento, que pasaría? Supongo que la idea del constructor no abarca esta característica.
    Cordiales saludos! Estoy disfrutando fuertemente este curso.

    • @nicosiored
      @nicosiored  5 ปีที่แล้ว +2

      Lo que define a tu objeto es su estado. Es decir el valor de todas aquellas variables que tengan como ambito a toda la clase. Esos son los importantes para clonar. Para la otra pregunta investiga un poco de shallow copy y deep copy. Cuando esta en composicion o agregacion con otro objeto, tambien debemos de proveer ese mecanismo de copia del estado de ellos.

    • @felipexg4032
      @felipexg4032 5 ปีที่แล้ว

      @@nicosiored Muchas gracias por tu ayuda. Saludos

  • @VenetNh
    @VenetNh 7 ปีที่แล้ว +3

    Gracias por la clase.

  • @desoft8b
    @desoft8b 4 ปีที่แล้ว +3

    Hola, quizá ya lo han preguntado pero... ¿por qué implementar la interfaz ICloneable en vez de crear un método personalizado para clonar?.

    • @AngelLopez-rd6mt
      @AngelLopez-rd6mt 4 ปีที่แล้ว

      Hola. Creo que se utilizaría para poder recordar de mejor forma los procesos. Sabes como cuando haces una multiplicación mental es mucho más fácil realizarla recordando los valores que ir sumando el valor entre si determinadas veces .

    • @AngelLopez-rd6mt
      @AngelLopez-rd6mt 4 ปีที่แล้ว

      y también creo que ayuda mucho la idea de ponerle un nombre a una idea

  • @NicoSpezia
    @NicoSpezia ปีที่แล้ว

    Buen dia Nicolas, le hago una consulta, ya que veo que es una clonación superficial la hecha en el ejemplo (el cual esta muy bueno y mejor explicado que el de mi profesor). En este caso, por lo que veo, la clonación gira en torno a la propiedad Costo que es value type. En estos casos, con la superficial alcanza? O es mejor la clonacion profunda por si llegara a utilizar variables de referencia luego? Se me hace complicado pensar de que forma imaginar un programa clonando progresivamente todo.
    Muchas gracias.

  • @fredyjimenez4853
    @fredyjimenez4853 6 ปีที่แล้ว +2

    Esta no sería una mejor solución? Gracias por los tutoriales
    pubilc objet Clone()
    { return MemberwiseClone(); }

    • @nicosiored
      @nicosiored  6 ปีที่แล้ว +8

      Si, puede funcionar. Recuerda que es un curso donde se le da mas peso a la parte didactica y entender paso por paso lo que sucede, no tanto a la optimizacion del codigo. Eso vendra despues

  • @jdpaz2123
    @jdpaz2123 5 ปีที่แล้ว +2

  • @joanelietheiligerruiz3144
    @joanelietheiligerruiz3144 5 ปีที่แล้ว +1

    en la linea 40 CAuto auto3 =(CAuto)auto1.Clone() por que se pone CAuto
    encerrado entre paréntesis del lado derecho de la igualdad ?

    • @nicosiored
      @nicosiored  5 ปีที่แล้ว +1

      La clonacion regresa un objeto como el supertipo Object, se ponen los parentesis para hacer un type cast y dejar en el tipo CAuto

    • @joanelietheiligerruiz3144
      @joanelietheiligerruiz3144 5 ปีที่แล้ว

      @@nicosiored gracias !!