Curso C#. Herencia VII. Ejercicio guiado, solución. Vídeo 47

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ก.พ. 2025
  • En este ejercicio realizao el ejercicio planteado en el vídeo anterior y ya de paso aprovecho y explico algunos conceptos con el propio ejercicio (polimorfismo, métodos virtuales etc).
    Para más cursos, manuales y ejercicios visita: www.pildorasinformaticas.es

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

  • @pierojav4310
    @pierojav4310 2 ปีที่แล้ว +9

    En al universidad me hubiera gustado tener un profesor de programación como tú que se hace entender casi a la perfección, lástima que me tocó profes que solo hizo que odiara el curso. Los que llegaron hasta este vídeo, BIENVENIDOS, somos los futuros inmortales.

  • @claudiooc1976
    @claudiooc1976 5 ปีที่แล้ว +58

    Se que en algún momento estos videos tienen que terminar, pero desearía que se extendieran por mucho tiempo mas. Sinceramente muchas gracias.
    Me adhiero a los deseos de otros comentarios en que piden C# + conexiones a SQL sería tremendamente útil

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

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

    • @smerlinfernandez8850
      @smerlinfernandez8850 4 ปีที่แล้ว +7

      @@rodrigodigo9472 Saludos, presiona la tecla "Insert". Espero haberte ayudado.

  • @cristhianloor5350
    @cristhianloor5350 5 ปีที่แล้ว +35

    Madre mía! Aprendí lo que no pude en 3 horas de clases de programación. EXCELENTE VIDEO

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

      @@rodrigodigo9472 con la tecla "insert"

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

    si hace plooof y sigo vivo le agradezco a dios djsajdsa, muy buen video Juan

  • @princesapaint7474
    @princesapaint7474 4 ปีที่แล้ว +7

    Quizá no leas esto, ya que el video es de hace más de un año ya, pero quiero agradecerte por compartir esa gran habilidad de enseñanza con todos nosotros.
    Antes de empezar el video dejo mi resultado del ejercicio:
    using System;
    namespace PracticaHerencia
    {
    class Program
    {
    static void Main(string[] args)
    {
    Avion miAvion = new Avion();
    Carro miCarro = new Carro();
    miAvion.ArrancarMotor();
    miAvion.Conducir();
    miCarro.Conducir();
    miCarro.TurboNitro();
    miCarro.PararMotor();
    }
    }
    class Vehiculo
    {
    public void ArrancarMotor()
    {
    Console.WriteLine("El motor ha arrancado");
    }
    public void PararMotor()
    {
    Console.WriteLine("El motor se ha detenido");
    }
    public virtual void Conducir()
    {
    Console.WriteLine("Se está conduciendo el vehiculo");
    }
    }
    class Avion : Vehiculo
    {
    public void AtravesarNubes()
    {
    Console.WriteLine("La nube ha sido atravesada");
    }
    public override void Conducir()
    {
    Console.WriteLine("Se está volando");
    }
    }
    class Carro : Vehiculo
    {
    public void TurboNitro()
    {
    Console.WriteLine("El carro va super rápido");
    }
    public override void Conducir()
    {
    Console.WriteLine("Se está conduciendo sobre los suelos");
    }
    }
    }

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

    Este profesor se merece todos los meritos habidos y por haber

  • @Cuidaito
    @Cuidaito 5 ปีที่แล้ว +8

    BRUTAL!!!! Explicas tan bien que he podido hacerlo sin esfuerzo. Es que consigues que los conceptos se graben a fuego! Enhorabuena.

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

    • @lorelvis1185
      @lorelvis1185 3 ปีที่แล้ว

      @@rodrigodigo9472 tecla insert.

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

    Me encantan tus explicaciones, son realmente útiles para los trabajos de Programación en mi universidad. Aplausos!

  • @lacrowd.portgas5274
    @lacrowd.portgas5274 8 หลายเดือนก่อน

    Creo que veo el primer problema que le encontré a el curso, para entender mucho mejor este capitulo tendría el profe que haber hablado sobre la asignación de referencia de los objetos con eso se entiende mas simple todo esto, no es una queja todos los que estamos aqui sabemos que es un profesor excelente y que yo como muchos otros estamos agradecidos con este curso. 👍

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

    Fenomenal Juan. Con estos ejercicios y tus explicaciones se asimilan los conocimientos a la perfección. Gracias y ánimo.

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

    Excelente trabajo, un privilegio que seas nuestro tutor...

  • @stevenh7844
    @stevenh7844 3 ปีที่แล้ว

    El ejemplo de polimorfismo quedo muy claro, al principio no lo habia captado del todo pero con la asignación en cada objeto quedo 100% entendido muchas gracias, saludos desde México✌

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

    Por fin entendí con este pequeño ejemplo, Polimorfismo. Gracias profesor, excelente!

  • @TM-ln1jc
    @TM-ln1jc 5 ปีที่แล้ว +3

    Chingón chingón, muy bien!
    Saludos desde México!!

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

    Traca traca hace mi corazón por ti,traca traca como una máquina de escribir,jaja buen ejemplo Juan

  • @milagrossalas4734
    @milagrossalas4734 2 ปีที่แล้ว

    Gracias por hacer tan entendible el polimorfismo profesor!!!

  • @kensu1231
    @kensu1231 4 ปีที่แล้ว

    Excelente curso con esto retomo nuevamente C# después de varios años sin practicar!!

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

    Excelente saludos desde Cuba

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

    Buahhhhhhh.....Cuando las lecciones se explican genial y te enteras....y empiezas a reirte....Gracias Juan

  • @weslinmartinez1802
    @weslinmartinez1802 5 ปีที่แล้ว +14

    Así me gusta profe siga subiendo videos y lo que más me gustaría es que usted pueda enseñarnos como hacer conexiones con SQL server a usar (SQL conexión, SQL comando etc.. )Gracias una vez más

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

      @@rodrigodigo9472 busca la tecla llamada insert, arriba de Delete (está a la derecha de Backspace)

  • @juanjosemunozmartinez3647
    @juanjosemunozmartinez3647 4 ปีที่แล้ว +2

    Muchas gracias Maestro por tus vídeos, son más que excelentes. Quería decir algo que note hasta este punto. Si se prescinde de virtual y override para este ejemplo en los métodos comunes el programa sigue funcionando correctamente. Lo que percibí de virtual y override es que son necesarios si se llaman de una clase diferente a la que los contiene, en otras palabras, si se crea un arrayObjeto de la clase vehículos donde se ingresen objetos de las clases (avión, coche) que tienen métodos comunes sin haberlos definido con virtual y override, en este caso, cuando se llame el método conducir(), va a hacer para todos los objetos lo que contenga el método conducir() de la clase vehículos, ahora bien, si se añade virtual y override a los métodos comunes, aqui si hace para cada objeto lo que este definido en el método conducir de la clase con la que se creo el objeto.

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

  • @eduardootero5218
    @eduardootero5218 หลายเดือนก่อน

    Estoy aprendiendo bastante gracias a ti. Muchas gracias

    • @pildorasinformaticas
      @pildorasinformaticas  หลายเดือนก่อน

      Gracias a ti por seguir mis vídeos. ¡Un saludo!

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

    Hola Juan, bueno ya al dia con este curso, realmente es bueno tomar varios cursos de POO ya que cada vez que se ven estos temas se van comprendiendo de mejor forma.. Saludos!

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

  • @Netzcod
    @Netzcod 4 ปีที่แล้ว

    super feliz por poder llevar este curso como no verlo antes; pero bueno nunca fue tarde.

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

    Impecable, muy claro, muchas gracias profe!

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

    Gracias profesor, gracias a usted pude entender este tema de polimorfismo Dios lo bendiga

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

      @@rodrigodigo9472 Presiona la tecla de tu teclado que se llama "Insert"

  • @heptamegisto
    @heptamegisto 4 ปีที่แล้ว

    Mas claro no lo puedo tener ! Estoy iluminado! Gracias por el aporte!

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

      @@rodrigodigo9472 eso pasa cuando presionas la tecla insert

  • @elaprendiz7208
    @elaprendiz7208 3 ปีที่แล้ว

    Simplemente Fantastico!

  • @omarfloressalas
    @omarfloressalas 9 หลายเดือนก่อน

    Excelente explicaciones, gracias.

  • @Solis2051
    @Solis2051 2 ปีที่แล้ว

    Hola quiero darte las gracias por el video, hice el ejercicio en un fichero y pude aplicar el polimorfismo y entenderlo mejor junto con la sobre escritura de métodos y en parte la sustitución, aun debo repasarla más. Bueno a la espera de más videos, si es posible sobre el ámbito de videojuegos, saludos y Feliz Año Nuevo.

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

    Excelete curso, muchas gracias por el contenido profe, estoy ansioso por llegar a MVC, Rest, Services con BD, saludos desde colombia.

  • @jfornesm
    @jfornesm 2 ปีที่แล้ว

    Fantástica explicación!

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

    Profesor, importante aclarar que si se deja la instrucción base.Conducir(); se ejecutarían las instrucciones del Conducir de la clase padre y luego las del Conducir de la clase Coche o Avión.

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

      Muchas gracias por tu aporte amigo

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

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

    Buen video grande

  • @1976off
    @1976off 6 หลายเดือนก่อน +1

    Hola Juan. En mi caso hice una clase base llamada transportes, sus métodos llevarCargamento() y llevarPasajeros() y sus clases derivadas que he creado fueron aviones, con un método volar(), automóviles con un método llamado manejarPorTierra() y barcos con un método llamado navegar(). ¿Qué te parece?

  • @user-dm5qi4nb6l
    @user-dm5qi4nb6l 4 ปีที่แล้ว +15

    yo si escucho que el avión hace "tracatra" al arrancar me voy bajando enseguida :,D

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

    Excelente manera de explicar

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

    Muy buen video!

  • @alvarorodriguez8035
    @alvarorodriguez8035 3 ปีที่แล้ว

    ostiaaaaaa nunca habia aprendido mucho con este curso, siento que tengo el poder en c#

  • @DavidAppleton
    @DavidAppleton 3 ปีที่แล้ว

    Hola familia, alguien me puede decir que hacer cuando salta la notificación de que la licencia de Visual Studio se esta por caducar?

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

    Gracias!

  • @nico0005
    @nico0005 3 ปีที่แล้ว

    16:48 jajsajajsj
    Que genio profe!!

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

    Super el ejercicio

  • @TheGeardarko
    @TheGeardarko 5 ปีที่แล้ว +13

    espero que veamos bases de datos, ya que no hay mucha información en otros canales sobre este tema en C#

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

      Estoy de acuerdo contigo y ojalá ese hombre con esa sabiduría que tiene pueda enseñarnos esas conexiones que no son fáciles

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

      ​@@weslinmartinez1802 la documentación del conector de .net para mysql está muy bien, solamente tendrías que descargarte el conector, agregar su referencia, y a partir de ahí ya podrias crear una instancia mysqlconnection pasandole el string de la conexion y luego la query con una instancia de mysqlcommand, luego usarías el nombre de la instancia y la nomenclatura del punto junto a ExecuteNonQuery() para consultas que no sean de seleccion y ExecuteScalar().toString() para devolver el resultado de un select especifico

  • @gabrielralfcaceresgabriell319
    @gabrielralfcaceresgabriell319 3 ปีที่แล้ว

    Muchas gracias

  • @diegososa5817
    @diegososa5817 4 ปีที่แล้ว

    gran curso maestro, quiso verse mas inteligente agregandole mas cosas a este ejercicio jasdfjasdfjsdf saludos

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

    Muy buen curso estoy aprendiendo este concepto de POO con todos sus aspecto que me confundian y gracias pdt: me mato que solo el coche pueda volar y aterrizar en condiciones muy salvajes jajaja

  • @victor_hernandez_g
    @victor_hernandez_g 4 ปีที่แล้ว

    7:43, "...un coche no puede aterrizar y despegar salvo excepciones muy salvajes..." 😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣

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

    ¿Alguien más que yo está haciendo este curso ahora?

  • @mr.prince4297
    @mr.prince4297 5 ปีที่แล้ว

    Excelente.

  • @victor_hernandez_g
    @victor_hernandez_g 4 ปีที่แล้ว

    16:52, "grrrum grrrrummm", 😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣

  • @rodrigodigo9472
    @rodrigodigo9472 4 ปีที่แล้ว

    Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

    así ise el ejercicio
    como el visual studio que tengo es el 2022
    no necesito poner el método main ni el namepaces
    avion a = new avion();
    coche c = new coche();
    vehiculos v = new vehiculos();
    a.arrancarMotor();
    a.conducir();
    a.pararMotor();
    Console.WriteLine("-----------------------------------");
    c.arrancarMotor();
    c.conducir();
    c.pararMotor();
    Console.WriteLine("-----------------------------------");
    v.arrancarMotor();
    v.conducir();
    v.pararMotor();
    Console.WriteLine("-----------------------------------");
    class vehiculos {
    public void arrancarMotor() {
    Console.WriteLine(" arancando motor");
    }
    public void pararMotor() {
    Console.WriteLine(" parando motor ");
    }
    public virtual void conducir (){
    Console.WriteLine("conduciendo el veiculo");

    }
    }
    class avion : vehiculos
    {
    public override void conducir()
    {
    Console.WriteLine(" conduciendo el avion");
    }
    }
    class coche : vehiculos {
    public override void conducir() {
    Console.WriteLine(" conduciendo el coche");
    }
    }

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

    No me pierdo ningún capitulo de este curso pero en este te sentí desanimado juan, pasó algo? o es solo mi idea? espero que estés bien si es que pasó algo.. muchas gracias por tu dedicacion

  • @hernangarcia77
    @hernangarcia77 4 ปีที่แล้ว

    Hola, pues algo debo hacer mal porque solo me funciona el virtual y override cuando instancio un vehiculo y le almaceno un coche o un avion.
    si uso los objetos cohe o avion siempre usa conducir() de sus clases, este o no el overrride y virtual

  • @roylinrodriguez9679
    @roylinrodriguez9679 4 ปีที่แล้ว

    se nota la diferencia entre un aprendiz y un maestro se puede decir que hice casi lo mismo pero su codigo es 100 veces mas elegante.

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

    Tienes algún curso dónde has aplicaciones para desktop que no sea phyton o en este se verá más adelante?

    • @pildorasinformaticas
      @pildorasinformaticas  5 ปีที่แล้ว +4

      En este se verá más adelante y también tienes mi curso de Java donde hago varias aplicaciones desktop a lo largo del mismo. Un saludo!

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

    • @rbjmalca2
      @rbjmalca2 4 ปีที่แล้ว +2

      @@rodrigodigo9472 con la tecla "Insert"

  • @mathperes6233
    @mathperes6233 3 ปีที่แล้ว

    este juega con los nombres de las clases, es el que realicé:
    using System;
    namespace EjercicioPOO
    {
    internal class Program
    {
    static void Main(string[] args)
    {
    Vehiculo vehiculo = new Vehiculo();
    Avion avion = new Avion();
    Coche coche = new Coche();
    /* Polimorfismo */

    vehiculo.conducir();
    vehiculo = avion;
    vehiculo.conducir();
    vehiculo = coche;
    vehiculo.conducir();
    Console.WriteLine("------------------------------------------------");
    Console.WriteLine("Empezando el manejo de vehiculos...");
    vehiculo.arrancarMotor();
    vehiculo.conducir();
    vehiculo.pararMotor();
    Console.WriteLine();
    avion.arrancarMotor();
    avion.conducir();
    avion.pararMotor();
    Console.WriteLine();
    coche.arrancarMotor();
    coche.conducir();
    coche.pararMotor();
    Console.WriteLine("Terminado de manejar todos los vehiculos!...");

    }
    }
    class Vehiculo
    {
    private string nombreVehiculo = "Vehiculo";
    public Vehiculo() { }
    public virtual void arrancarMotor()
    {
    Console.WriteLine($"Arrancando motor de {nombreVehiculo} brrrr....");
    }
    public virtual void arrancarMotor(string nombre)
    {
    Console.WriteLine($"Arrancando motor de {nombre}...");
    }
    public virtual void pararMotor()
    {
    Console.WriteLine($"Parando motor de {nombreVehiculo} ....");
    }
    public virtual void pararMotor(string nombre)
    {
    Console.WriteLine($"Parando motor de {nombre}...");
    }
    public virtual void conducir()
    {
    Console.WriteLine($"Conduciendo {nombreVehiculo}...");
    }
    public virtual void conducir(string nombre)
    {
    Console.WriteLine($"Conduciendo {nombre}...");
    }
    }

    class Avion: Vehiculo
    {
    private string nombreVehiculo = "Avion";
    public Avion(): base(){ }
    public override void arrancarMotor()
    {
    base.arrancarMotor(this.nombreVehiculo);
    }
    public override void pararMotor()
    {
    base.pararMotor(this.nombreVehiculo);
    }
    public override void conducir()
    {
    base.conducir(this.nombreVehiculo);
    }
    }
    class Coche: Vehiculo
    {
    private string nombreVehiculo = "Coche";
    public Coche(): base(){ }
    public override void arrancarMotor()
    {
    base.arrancarMotor(this.nombreVehiculo);
    }
    public override void pararMotor()
    {
    base.pararMotor(this.nombreVehiculo);
    }
    public override void conducir()
    {
    base.conducir(this.nombreVehiculo);
    }
    }
    }

  • @akiztoi
    @akiztoi 4 ปีที่แล้ว

    Pues yo dejo aquí lo que hice:
    class Program
    {
    static void Main(string[] args)
    {
    Coche Foccus = new Coche("coche", "Ford Foccus");
    Coche Megane = new Coche("coche", "Renold Megane");
    Avion Boing737 = new Avion("avión comercial", "Boing 737");
    vehiculo Ciclomotor = new vehiculo("ciclomotor", "Mountain Bike");
    Avion Caza = new Avion("avión de combate", "F16");
    Coche Qasqai = new Coche("coche", "Nissan Qasqai");
    vehiculo[] ArrayVehiculos = new vehiculo[6] { Foccus, Megane, Boing737, Ciclomotor, Caza, Qasqai };

    LeerArray(ArrayVehiculos);
    }
    static void LeerArray(vehiculo[] array)
    {
    foreach (vehiculo it in array)
    {
    it.ArancarMotor();
    it.PararMotor();
    it.Conducir();
    Console.WriteLine("");
    }
    }
    }
    class vehiculo
    {
    public vehiculo(string tipoVehiculo, string modeloVehiculo)
    {
    Console.WriteLine($"Estamos accediendo a un {tipoVehiculo} modelo: {modeloVehiculo}
    ");
    this.modeloVehiculo = modeloVehiculo;
    this.tipoVehiculo = tipoVehiculo;
    }
    protected string modeloVehiculo;
    protected string tipoVehiculo;
    public void ArancarMotor()
    {
    Console.WriteLine($"Estoy arrancando el motor del {modeloVehiculo} introduciendo la llave del {tipoVehiculo}");
    }
    public void PararMotor()
    {
    Console.WriteLine($"Estamos PARANDO motores del {modeloVehiculo}");
    }
    public virtual void Conducir()
    {
    Console.WriteLine($"Los vehículos como el {modeloVehiculo} se conducen desde una posición de mando");
    }
    }
    class Coche : vehiculo
    {
    public Coche(string tipoVehiculo, string modeloVehiculo) : base(tipoVehiculo, modeloVehiculo)
    {
    }
    public override void Conducir()
    {
    Console.WriteLine($"Los coches como el {modeloVehiculo} se conducen con un volante. Aunque hoy, algunos ni siquiera tienen conductor");
    }
    }
    class Avion : vehiculo
    {
    public Avion(string tipoVehiculo, string modeloVehiculo) : base(tipoVehiculo, modeloVehiculo)
    {
    }
    public override void Conducir()
    {
    Console.WriteLine($"Los aviones como el {modeloVehiculo} se conduen " +
    $"con un piloto y un copiloto. A veces se usa la navegación automática");
    }
    }

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

    tracatra-tracatra

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

    bien clase igual lo hice, solo que Conducir() fue el que se llevo mis marrones :)

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

    Hola, me gustaría saber si este curso me podría ayudar a introducirme en la programación orientada en videojuegos, o si no tiene nada que ver con eso, gracias.

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

      De introduccio te servira aprenderas lo básico, te servira este curso pero para videojuegos es con Unity que es con C# igualmente también tendras que aprender física y algebra lineal pero con dedicacion seguro lo lograras

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

      Primero deberías ver que motor quieres usar. Lo habitual es Unity o Unreal 4 (Game Maker para juegos más "sencillos"), aunque hay muchas más opciones. Cada motor puede utilizar un lenguaje distinto, Unity utiliza C# y Unreal 4 C++, aunque lo cierto es que en principio si aprendes un lenguaje orientado a objetos (el que sea) es fácil adaptarte a otro distinto (C# para empezar es de los mejores).
      Yo uso Unity y utiliza C#, cuya sintaxis a veces es la misma y a veces cambia (aunque suele ser parecida), y también cuenta con funcionalidades que no tiene C#; lo que no cambia es la lógica, es la misma que en C#. Todo lo que se ha visto en este curso diría que es útil, no obstante depende de lo que quieras profundizar. Se pueden hacer videojuegos sin profundizar mucho en la programación, eso depende de lo que quieras hacer.

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

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

    No me subo a ese avion ni aunque me paguen...Solo con escuchar como arranca ya es suficiente...Y ni hablar de como se detiene el motor...

  • @sleter2929
    @sleter2929 4 ปีที่แล้ว

    este es mi código, probablemente no entiendan algunas cosas pero es porque use la librería de unity.
    using UnityEngine;
    public class Herencia : MonoBehaviour
    {
    // Start is called before the first frame update
    void Start()
    {
    Coche carro = new Coche();
    Avion avion = new Avion();
    carro.conducir();
    avion.conducir();
    }
    // Update is called once per frame
    void Update()
    {
    }
    }
    class Vehiculo : MonoBehaviour
    {
    protected void arrancar_Motor()
    {
    print("mi motor enciende");
    }
    protected void apagar_Motor()
    {
    print("mi motor se apaga");
    }
    public virtual void conducir()
    {
    print("solo me pueden consducir personas experimentadas");
    }
    }
    class Coche : Vehiculo
    {
    public override void conducir()
    {
    print("me puede coonducir quien quiera");
    }
    }
    class Avion : Vehiculo
    {
    }

    • @sleter2929
      @sleter2929 4 ปีที่แล้ว

      me falto el polimorfismo

    • @rodrigodigo9472
      @rodrigodigo9472 4 ปีที่แล้ว

      Alguien sabe como quitar lo del minuto 10:05, cuando se cambia la barra de escritura, por esa barra más gruesa, me pasa y cuando sigo escribiendo va borrando lo que tiene al lado

    • @sleter2929
      @sleter2929 4 ปีที่แล้ว

      @@rodrigodigo9472 pulsa insert en el teclado de Windos

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

      @@rodrigodigo9472 si tu teclado fisico no tiene insert abre el teclado de pantalla

  • @joseph.l
    @joseph.l 3 ปีที่แล้ว

    Y cual es la utilidad del polimorfismo, ¿Por qué es mejor hacerlo de esa manera y no creando metodos propios?

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

      Probablemente ya sepas más que yo al respecto pero creo que es porque asi cuando haces un loop puedes llamar a un solo metodo que aplica para todas las clases. Si no, tendrias que hacer un loop separado de otro dependiendo de la clase.

    • @joseph.l
      @joseph.l ปีที่แล้ว

      @@nimaltra7353 Muy buen punto, gracias.

  • @fabianizquierdo9234
    @fabianizquierdo9234 2 ปีที่แล้ว

    yo no implemente metodos en cada vehiculo, creo que me falta imaginacion 🤣🤣

  • @Tom-si7iy
    @Tom-si7iy 4 ปีที่แล้ว

    using System;
    namespace Main
    {
    class Program
    {
    static void Main(string[] args)
    {
    Vehiculo v1 = new Vehiculo();
    Avion a1 = new Avion();
    Carro c1 = new Carro();
    v1.Conducir();
    v1.Arrancarmotor();
    v1.Paramotor();
    a1.Arrancarmotor();
    a1.Paramotor();
    a1.Conducir();
    c1.Arrancarmotor();
    c1.Paramotor();
    c1.Conducir();
    }
    }
    class Vehiculo
    {
    public void capacidad_pasajeros(int pasajeros)
    {
    Console.WriteLine($"la cantidad de pasajeros es de {pasajeros}");
    }
    public void Arrancarmotor()
    {
    Console.WriteLine("el motor esta encendido.");
    }
    public void Paramotor()
    {
    Console.WriteLine("el motor se ha detenido.");
    }
    public virtual void Conducir()
    {
    Console.WriteLine($"estas conduciendo un vehiculo.");
    }
    }
    class Avion : Vehiculo
    {
    new public void Arrancarmotor()
    {
    Console.WriteLine("el motor del avion esta encendido.");
    }
    new public void Paramotor()
    {
    Console.WriteLine("el motor del avion se ha detenido.");
    }
    public override void Conducir()
    {
    Console.WriteLine("estas conduciendo un avion");
    }
    }
    class Carro : Vehiculo
    {
    new public void Arrancarmotor()
    {
    Console.WriteLine("el motor del carro esta encendido.");
    }
    new public void Paramotor()
    {
    Console.WriteLine("el motor del carro se ha detenido.");
    }
    public override void Conducir()
    {
    Console.WriteLine("estas conduciendo un carro.");
    }
    }
    }

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

    Like bro

  • @fahdcharafi7331
    @fahdcharafi7331 3 ปีที่แล้ว

    Quién diría que la programación no es divertida, "TracatraTracatraaaa"

  • @pumpdoriloco915
    @pumpdoriloco915 4 ปีที่แล้ว

    Yo nombre la clase padre transporte y las otras 3 fieros las que heredaron

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

      Así mismo hice yo y le puse constructores para darles mejor personalización y toda la cosa, lo que si fue que en vez de ese sonido yo coloque, motor enciendo con un bool y un motor apagado con bool, los recibía el contructor, al igual que el modelo y un monton de cosas jajajaja

  • @memedance3535
    @memedance3535 10 หลายเดือนก่อน

    🚗

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

    salvo excepciones muy salvajes jaja

  • @alphaalfre
    @alphaalfre 3 ปีที่แล้ว

    👀

  • @兎_Lizy
    @兎_Lizy ปีที่แล้ว

    Esta fue mi forma , use Protected nada más , Muchas Gracias por la clase
    using System;
    namespace ejercicio
    {
    class programa
    {
    static void Main(string[] args)
    {
    //AUTO
    Auto Mustang = new Auto();
    Mustang.arrancar("Bruuuum");
    Mustang.info_Conducir();
    Mustang.frenar();
    Mustang.parar("Duumm");
    Console.WriteLine();
    //AVION
    Console.WriteLine();
    avion Avion = new avion();
    Avion.arrancar("Drummmmmm");
    Avion.info_Conducir();
    Avion.aterrizando();
    Avion.parar("frummmm");

    }
    }
    internal class vehiculo
    {
    public void arrancar(string sonido)
    {
    Console.WriteLine("arrancando motor = " + sonido);
    }
    public void parar(string sonido)
    {
    Console.WriteLine("Parando motor = " + sonido);
    }
    protected virtual void Conducir()
    {
    Console.WriteLine("a");
    }
    }
    internal class avion : vehiculo
    {
    private string a;
    public void deplegando()
    {
    Console.WriteLine("Vuela por los cielos");
    }
    public void aterrizando()
    {
    Console.WriteLine("aterrizando");
    }
    protected override void Conducir()
    {
    Console.WriteLine("Volando por los cielos");
    }
    public void info_Conducir()
    {
    Conducir();
    }
    }
    internal class Auto : vehiculo
    {
    protected override void Conducir()
    {
    Console.WriteLine("Manejando auto");
    }
    public void info_Conducir()
    {
    Conducir();
    }
    public void acelerar()
    {
    Console.WriteLine("Acelerando Auto");
    }
    public void frenar()
    {
    Console.WriteLine("Auto frenando");
    }
    }
    }

  • @stefanoriosferrer1672
    @stefanoriosferrer1672 2 ปีที่แล้ว

    Excelente.