Tutorial Curso C# - 9. Clases Abstractas

Sdílet
Vložit
  • čas přidán 5. 04. 2015
  • 🚀 Desbloquea más de +170 cursos Premium a un precio especial: codigofacilito.com/promo
    🐊 Síguenos en:
    Twitter: / codigofacilito
    Facebook: / codigofacilito
    Instagram: / codigofacilito
    TikTok: codigofacilito.oficial
    ----
    Código Facilito es una de las plataformas de aprendizaje online de programación más grandes de habla hispana. Desde el 2010 formamos programadores en toda América Latina y España enseñando. HTML, JavaScript, React, Python, Rails, Go y mucho más.

Komentáře • 38

  • @piergox512
    @piergox512 Před 5 lety +7

    si lo hubieras hecho más general el ejemplo de la clase abstracta, por ejemplo: En lugar de cliente, le hubieras puesto personas, y así tendría más sentido hacer la abstracción, ya que de persona se puede sacar varias clases que hereden de ella.

  • @ArmeisKnight
    @ArmeisKnight Před 6 lety +12

    Para explicar algo tan sencillo no es necesario crear mil variables en cada clase y tirarse media hora escribiéndolas en directo, basta con una o dos de ejemplo y para entenderlo sobra.

    • @renegadomty
      @renegadomty Před 6 lety +4

      Amigo con todo respeto... cada quien lo explica a su modo, al igual que tu respuesta es relativa, tu dices que con uno o dos ejemplos basta, "Para mi, con la pura definición basta. No necesito ejemplos." pero pues aquí estamos. saludos.

  • @anroswell
    @anroswell Před 6 lety +5

    Muy buenos videos y te felicito. Con relación al ejemplo no quedó muy clara la idea, aprendí cómo implementarla más no en q casos puedo utilizar este tipo de clase abstracta y de acuerdo a los comentarios la mayoría están iguales. Si pudieras realizar un ejemplo práctico sería genial. Gracias.

  • @ColeccionistasNogSon
    @ColeccionistasNogSon Před 9 lety +11

    "Sobrecarga de métodos" minuto 15:44

  • @tourcharl
    @tourcharl Před 8 lety

    excelente profesor, me interesaria si tiene mas cursos, sobretodo la continuacion de este para utilizar bases de datos y tambien programacion para andriod

  • @hugoluisvilla7438
    @hugoluisvilla7438 Před 4 lety

    Gracias. Clarisimo como el agua... Se entendió todo.

  • @diegocap7229
    @diegocap7229 Před 6 lety +1

    Gracias amigo muy buen vídeo!!!! :)

  • @jeanfortiz
    @jeanfortiz Před 5 lety +1

    Interesante la forma de trabajar las Clases Abstractas, sin embargo, no me gusta/parece que haya que volver a declarar los atritubos y/o métodos de la clase abstracta en la nueva clase. Yo utilizo, en su lugar, herencia de clases. No sé si lo estaré haciendo bien así, pero para mí... funciona. Saludos

  • @ordrno1542
    @ordrno1542 Před 5 lety +1

    Hola amigos de codigo facilito antes que nada felicitarlos por compartir sus conocimientos, en cuanto a este video honestamente tengo dudas y creo que mi duda coincide con el comentario de Carlos incluso voy a copiar su comentario "Mi pregunta del millón: para qué sirven las clases abstractas y cuando utilizarlas? Al final de la corrida me he quedado con: Es una herencia, en la clase abstracta se escriben los "abstract" y luego heredamos en otra clase pero necesitamos definir de nuevo pero "override" . Para eso me creo una clase, me evito escribir dos veces y no hago herencia que la veo sin utilidad en este video." , ahora bien serian tan amables de realizar otro video sobre este mismo tema para entenderlo bien y tambien soy nuevo en este tema de la programacion y veo que creo en el video hay un termino que es las SOBRECARGA serian tan amables de igual forma de exponerlo en otro video, claro yo investigare por mi lado tambien pero como sigo sus videos me gustaria que tambien traten el tema. SALUDOS

    • @ordrno1542
      @ordrno1542 Před 5 lety

      A sobre lo de SOBRECARGA no lo mencionas en el video pero creo aqui aplica este termino

  • @Carlos-qx5ul
    @Carlos-qx5ul Před 7 lety +10

    Mi pregunta del millón: para qué sirven las clases abstractas y cuando utilizarlas? Al final de la corrida me he quedado con: Es una herencia, en la clase abstracta se escriben los "abstract" y luego heredamos en otra clase pero necesitamos definir de nuevo pero "override" . Para eso me creo una clase, me evito escribir dos veces y no hago herencia que la veo sin utilidad en este video.
    Enhorabuena por el canal, hice Python y me sirvió muchísimo.

    • @Carlos-qx5ul
      @Carlos-qx5ul Před 7 lety

      Gracias!! Ahora con tu ejemplo ya está todo claro :) Supongo que estas cosas se comprenden mejor y se le da mayor importancia cuando estas trabajando con ellas.

    • @ismaelpolanconunez421
      @ismaelpolanconunez421 Před 7 lety

      En tu pregunta pareces tener razón, pero veo que respondes luego con un gracias!! sin que haya un comentario explícito al cual respondas.
      Explícame ( *si llegaste a entender* ), ¿ *Para qué sirve la Abstracción y cuando aplicarla, si al parecer la Herencia es un caso similar y más cómodo* ?

    • @Carlos-qx5ul
      @Carlos-qx5ul Před 7 lety +1

      Si, la verdad es que me respondieron pero no aparece el comentario, según recuerdo esto sirve mucho en el trabajo y sería para lo siguiente. En un a empresa, alguien crea una clase y la entrega a varios equipos para que trabajen con ella, al hacer una clase abstract te aseguras que la original no llega a modificarse, o algo así era, fue hace mucho y desde entonces no las he tocado.

    • @oscarvazquez342
      @oscarvazquez342 Před 7 lety +20

      Imagina que tienes una super clase "Persona" de la cual TODOS van a heredar (clientes, empleados, etc). Esta clase simplemente tendrá los mínimos atributos posibles: IdPersona, Nombre, Apellido. Cualquier empleado, o cliente si o si tendrán dichos atributos. Al crear la super clase como abstracta evitas que esta llegue a modificarse o a crear una instancia de la misma, por que no te sirve de nada tener un registro de una "Persona" sin saber a que grupo pertenece (empleados o clientes). Es para proteger la plantilla original y evitar tener registros innecesarios.

    • @icebergdelphi
      @icebergdelphi Před 6 lety +3

      Pos sin tanto rollo y bien entendido
      Oscar Vazquez
      lo acabas de explicar, eso hubieran dicho en el video... no se por que entran en tecnisismos, eso se deja al ultimo. Gracias.

  • @cristianl9243
    @cristianl9243 Před 4 lety

    Entonces, para cuando queres heredar los atributos de la clase Abstracta, tenes que volver a escribir todos los atributos otra vez, pero con Override, en tu nueva clase Concreta?

  • @JuanCarlosSuarezMedina

    Que pasa con los metodos?, se definen en la clase abastracta o se puede en cualquiera de las 2?

  • @twiz1996
    @twiz1996 Před 9 lety

    Hola antes que nada gracias por compartir su conocimiento con la comunidad y ayudarnos a seguir creciendo en este mundillo xD.. Buneo mi pregunta especifica es sobre las clases abstractas yo tengo entendido (supongo que erróneamente) que en una clase abstracta no se pueden declarar propiedades solo metodos entonces mi pregunta aquí es que cuando se crea la clase abstracta para explicar el tema del video se crearon como "metodos get y set" que hacen referencia a propiedades que no se declaran en la clase abstracta pero después estas si se pueden usar (las propiedades) mas adelante en el ejemplo cuando se crea una clase que hereda de la clase abstracta en esta el constructor de la misma usa las "propiedades" de la clase abstracta pero lo que no entiendo es que como de metodos puedo usar propiedades y como es que estas propiedades se pueden crear en clases abstractas?? agradeceria muchisimo si me respondieran ya que es algo que no logro entender con claridad y me tiene atorado.... De antemano gracias :)

    • @renegadomty
      @renegadomty Před 6 lety +1

      Que tal Twizz1996Así es, las clases abstractas, también soportan las propiedades abstractas.Es decir, tu puedes utilizar, la propiedad abstracta, en la clase que deriva o hereda de la clase abstracta.Te pongo un ejemplo sencillo:
      namespace ClaseAbstracta_a
      {
      public abstract class Hablar
      {
      public abstract void charlar(); //procedimiento
      public abstract string nombre { get; set; } //Propiedad de la clase abstracta
      } public class Conversacion : Hablar
      {
      public override string nombre { get; set; }
       
      //Constructor para inicializar la variable de la clase heredada ABSTRACTA public Conversacion()
      {
      nombre = " Rene ";
      }
       
       
      //procedimiento ABstracto heredado desde "Class Hablar" public override void charlar()
      {
      Console.WriteLine("Hola,estoy CHarlando" + nombre);
      }
      //Metodo NO abstracto que nace en esta clase de Conversacion public int MimetodoNoAbstracto(int numero)
      {
      return numero * 2;
      }
      }
      class Program
      {
      static void Main(string[] args)
      {
      Conversacion Conversa = new Conversacion();
      Conversa.charlar();
      Console.WriteLine("Respuesta de metodo en clase que deriva de una clase Abstracta: " + Conversa.MimetodoNoAbstracto(22));
      Console.ReadKey();
      }
      }
      }Espero te sirva aun.. saludos!

  • @damianbm3516
    @damianbm3516 Před 3 lety

    Como puedo pasar el mismo proyecto a Windows form?

  • @nicolasdavidcovaledamartin4296

    como le hago pa cpiar no hay subtituulos

  • @estrellarecagno669
    @estrellarecagno669 Před 9 lety +1

    mil gracias la verdad son los mejores tutoriales que hay explican muy bien me paso horas mirando de apoco voy aprendiendo y metiendome en este mundo tan atractivo como la programaciòn.excelente lenguaje de programaciòn

  • @melchiah6603
    @melchiah6603 Před 7 lety

    ¿en una clase abstracta, también se pueden definir métodos "normales"?, es decir; que si también se pueden incluir métodos que NO sean abstractos.

    • @renegadomty
      @renegadomty Před 6 lety

      Dissek Razziel
      Las clases abstractas, solo permiten métodos, propiedades, etc, que sean abstractas-
      Pero si tu te refieres a : Si una clase que se deriva ( public class Clasebase : ClaseAbstracta). la repsuesta es SI.Todas las clases que se derivan de una clase Abstracta, pueden tener dentro de su cuerpo métodos abstractos y métodos de la clase local o derivada. Aquí te dejo un ejemplo para ver si me explico:
      namespace ClaseAbstracta_a
      {
      public abstract class Hablar
      {
      public abstract void charlar();
      }
      public class Conversacion : Hablar
      {
      public int MiPropiedadNoAbstracta { get; set; }
        public override string nombre { get; set; }
      public override void charlar()
      {
      Console.WriteLine("Hola,estoy CHarlando");
      }
      public int MimetodoNoAbstracto(int numero)
      {
      return numero * 2;
      }
      }
      class Program
      {
      static void Main(string[] args)
      {
      Conversacion Conversa = new Conversacion();
      Conversa.charlar();
      Console.WriteLine("Respuesta de metodo en clase que deriva de una clase Abstracta: " + Conversa.MimetodoNoAbstracto(22));
      Console.ReadKey();
      }
      }
      }

    • @aguschokozzy
      @aguschokozzy Před 5 lety

      Rene me parece que te equivocas las clases abstractas permiten metodos abstractos y no abstractos. Saludos!

    • @renegadomty
      @renegadomty Před 5 lety

      Buena tarde mi estimado.
      Te dejo un poco de lectura .
      Sobre tu respuesta: "René me parece que te equivocas las clases abstractas permiten métodos abstractos y no abstractos. Saludos!". creo que no leiste bien o no comprendiste bien el término ABSTRACTO (public class Clasebase : ClaseAbstracta). te invito a que leas un poco mas sobre este tema.
      saludos.
      docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/abstract

    • @aguschokozzy
      @aguschokozzy Před 5 lety

      Rene Bustos te invito a que leas nuevamente la documentación y aparte hagas la prueba en visual studio, claro que una clase abstracta puede tener métodos concretos o no abstractos pero debe tener al menos un método abstracto, igual aquí te dejo más información para que leas al respecto ya que es una diferencia entre una clase abstracta y una interfase.
      Saludos! www.c-sharpcorner.com/UploadFile/c210df/explore-interface-vs-abstract-class/

    • @aguschokozzy
      @aguschokozzy Před 5 lety

      Rene Bustos con seguridad te digo que una clase abstracta puede tener métodos concretos.

  • @melchiah6603
    @melchiah6603 Před 7 lety

    ¿Acaso C# no soporta multi-herencia?

  • @joahanbyte
    @joahanbyte Před 4 lety

    like si eres de la UAT

  • @Bandhunt
    @Bandhunt Před 7 lety +4

    esta bueno para dormirse...

    • @ArturoRendon
      @ArturoRendon Před 6 lety

      Cuando empiezas POO todo es aburrido , lo bueno es cuando lo aplicas en el ambiente corporativo
      :(

  • @LarchMX
    @LarchMX Před 5 lety

    Pésimo video, se percibe la poca preparación del tema y la falta de edición. Muy largo. Pesima decision, si con estos videos tratan de persuadir que les paguen por los demás.