Course C #. POO IV. Builders Video 30

Поділитися
Вставка
  • Опубліковано 17 гру 2024

КОМЕНТАРІ • 137

  • @JORVACHA
    @JORVACHA 6 років тому +61

    Saludos profesor.
    No nos abandone con los cursos de C#

  • @juanma1364
    @juanma1364 6 років тому +12

    Este video esta nominado a los premios OSCAR sin dudas...y gana el OSCAR de ORO.

  • @JjJohan22
    @JjJohan22 Рік тому

    El mejor profesor de cientos que he visto..

  • @Sheyk871
    @Sheyk871 6 років тому +126

    "A no ser que lo haya hecho un Ruso, que hacen cosas de estas"
    Jajajajaja.

    • @armstrong2790
      @armstrong2790 4 роки тому +3

      jaja cierto, soy ruso y nos gusta actuar de manera extraordinaria

    • @oldmanBig89
      @oldmanBig89 3 роки тому +1

      Hay Vehiculos de 12, de 8, de 6 ruedas.

    • @JuanCaOfocial
      @JuanCaOfocial 3 роки тому +1

      Soy ruso y me gustó su comentario xd

  • @angelparra6412
    @angelparra6412 Рік тому +1

    Eres un maestrazo.. claro, conciso, sin repetir y saltar lineas .. mil gracias

  • @giorgiechannel4091
    @giorgiechannel4091 5 років тому +18

    Ya había tomado esta lección en el curso de Java y pensé que mejor explicado no podía estar, y ahora veo este curso y mejora la explicación increíblemente, no cabe duda profe que a usted lo tenemos que proponerlo para algo estilo premio Nobel, es increíble su dedicación. Mil gracias

  • @gadhager
    @gadhager 8 місяців тому

    el primer profesor online que tuve con java, me acompaño por otros cursos y ahora C#, compartidisimo. saludos de Argentina!

  • @AntonioGamez
    @AntonioGamez 3 роки тому

    Una clase muy, muy dura. Para mi, claro.

  • @danieltejada6265
    @danieltejada6265 5 років тому +3

    El mejor profesor, ojalá y termine el curso.

  • @juanbella6817
    @juanbella6817 Рік тому

    sublime este video, estoy en el penultimo semestre de la carrera y me salvo este curso.

  • @starlinpolanco8163
    @starlinpolanco8163 2 роки тому

    Gracias a personas como tu que saben explicar y comparte sus conocimientos, Dios bendiga men .

  • @osmartangara5993
    @osmartangara5993 3 роки тому

    Gracias por el curso, sos capisimo para explicar, hacen falta mas docentes como vos. Gracias

  • @justinlu5730
    @justinlu5730 4 роки тому

    Esta es la mejor documentación orientada a objetos de UA-cam, muchas gracias, me has ayudado bastante.

  • @amolahistoria15
    @amolahistoria15 5 років тому +7

    agradezco terriblemente tu trabajo es lo mejor, tal vez viva en Venezuela y no pueda pagar ni un curso básico de algo de unos 20$ y tenga 14 años pero me encanta saber que gratuitamente hay personas como tu dando contenido de calidad dando una explicación a detalle sobre algún tema, gracias, gracias a ti aprendí php, sql y javascript y ahora c#

    • @SoyFantasmita.
      @SoyFantasmita. Місяць тому

      Vamos bro, y dime, ya completaste tu curso de c#, a que te dedicas ahora

    • @amolahistoria15
      @amolahistoria15 Місяць тому

      @SoyFantasmita. Wepale. Buenas amigo, actualmente soy de 20 y bueno... Hace unos años que deje la programación, por raro que parezca, me dedico al boxeo tiempo completo y ya el año que viene debuto como profesional. La vida da muchas vueltas pero, eran buenos tiempos aquellos. 🙂

  • @elaprendiz7208
    @elaprendiz7208 3 роки тому +2

    🤣🤣🤣🤣 un coche de 27 ruedas a no ser que lo haga un ruso. Mítico! 🙌🏼 El profesor Juan es el mejor.

  •  Рік тому

    Excelente video 👌, me vi otros videos q me dejaron en las mismas, este video fue extremadamente claro

  • @alexanderiglesias1997
    @alexanderiglesias1997 4 роки тому +11

    Le tengo que poner pausa al vídeo porque ojala en mis días de estudio me hubiesen explicado con esta paciencia y detenimiento sobre los métodos Get y Set, solo le puedo decir muchas gracias, no todas las persona vienen con la habilidad de transmitir su conocimiento.

    • @daniel_lids8949
      @daniel_lids8949 Рік тому

      Entonces a lo que llama metodos de acceso son los metodos Get y Set??

  • @jorgeromeroc
    @jorgeromeroc 4 роки тому

    Aaaaaaaaa por la cresta profe, me hizo el día, con este vídeo logré entender muchas cosas que no pude entender el primer año de programación. Muchísimas gracias por sus vídeos.

  • @nadiefuego
    @nadiefuego 6 років тому +8

    Saludos. Gracias por otro capitulo mas del curso. 👍

  • @ManuCarmona88
    @ManuCarmona88 2 роки тому

    Muchísimas gracias. En mi aprendizaje de programación iba superrápido hasta que me topé con los constructores, los getters y los setters. De momento, lo tengo más claro, necesito ponerlo en práctica pero lo tengo más claro.

  • @andres_mora
    @andres_mora 4 роки тому

    Excelente video, x fin comprendí qué es un constructor y para qué sirve. Muy clara la manera de explicar.
    Además me voy con un adicional que es la sobrecarga de constructores, también me quedó absolutamente claro. Muchas gracias.

  • @nairoandrescuadradolara5445
    @nairoandrescuadradolara5445 3 роки тому

    Que alegria estar en 2021 y no esperar por los videos son un crack!
    Depronto para los que lo esten viendo escribiendo ctor y doble tab se puede crear el metodo constructor sin que marque error ya que a mi me pasaba. Buenos videos!!

  • @gianfrancogosdinski4243
    @gianfrancogosdinski4243 Рік тому

    QUE GRAN MAESTRO!

  • @nebadigital
    @nebadigital 9 місяців тому +1

    Marzo 2024: Estoy usando .NET 8 y se Visual Studio me ofrece otra forma más concisa de realizar los constructores. De todos modos la forma que nos muestras ayuda mucho a entender cuando nos enfrentemos a código de versiones anteriores. Tus explicaciones son muy claras. Gracias por tus enseñanzas 😄

  • @angelkree1086
    @angelkree1086 3 роки тому

    Muchas gracias por los videos y el entusiasmo sos un gran profesor

  • @arielzarate3643
    @arielzarate3643 6 років тому +2

    hola papa estoy haciendo el curso tuyo de java . incrementando lo que se con lo tuyo . tamhien programo en c# es buenisima tu pedagogia . te felicito por seguir con esto

  • @KobeniProgramadora
    @KobeniProgramadora Рік тому

    Antes escuchaba el nombre de Constructor y lo escuchaba muy intimidante jsjs. Gracias por el vídeo me ayudo bastante a entenderlos y como manejarlos!.

  • @n41mad56
    @n41mad56 6 років тому

    Excelente curso, ojala no lo deje de lado

  • @MiguelAngel-ff5ce
    @MiguelAngel-ff5ce 5 років тому +1

    Otro excelente video Profe, seguimos avanzando. Gracias !!!

  • @kalmabombo
    @kalmabombo 4 роки тому

    Eres lo máximo Juan!!!

  • @joset7318
    @joset7318 2 роки тому

    Si decides hacer un curso de pago seria el primero en inscribirme. Explicas MUY bien. Gracias.

  • @oremet47844
    @oremet47844 5 років тому

    Este Profesor es el mejor, bien explicado todo

  • @Schachlover
    @Schachlover 6 років тому

    Gracias desde Rep.Dom. Esperando con ansias la entrega de cada capítulo.

  • @guillermoantoniotobonbarco9676
    @guillermoantoniotobonbarco9676 6 років тому

    Hola Juan saludos desde Colombia .... mil gracias por el curso ...

  • @rolandodqbol8356
    @rolandodqbol8356 4 роки тому

    Monumental el contenido del vídeo y aunque durara dos horas lo seguiría viendo. Agradecer por los vídeos que motivan a seguir aprendiendo programacion

  • @ushiookasaki
    @ushiookasaki 6 років тому +10

    No se si vas a explicarlo más adelante, pero por si las moscas C# tiene algo muy de mi agrado que es que cuando declaras una propiedad puedes definir los getters al mismo tiempo:
    namespace ConsoleApllication1 {
    class Coche {
    private int ruedas { get; };
    }
    }
    y si quieres getters y setters:
    private int ruedas { get; set; }
    te define el getter y el setter al mismo tiempo sin tener tu que crear un método especial.
    Muy buena la explicación del video saludos desde México sigue así.

    • @virtualive1585
      @virtualive1585 5 років тому

      Al principio me pareció muy útil, pero luego he visto que existe el modificador readonly que hace básicamente lo mismo, solo que también parece estar en otros lenguajes y supongo que tendrá usos más generales. Supongo que más tarde enseñará readonly y por eso no ha comentado nada de esto.

    • @hugomauleongonzalez7940
      @hugomauleongonzalez7940 4 роки тому

      Transparentes

    • @ipkickss
      @ipkickss 4 роки тому

      Tambien estaba pensando lo mismo durante el video, a mi me excitan las propiedades asi se ahorra mucho codigo basura que en lenguajes como Java no se puede.

  • @mumofly
    @mumofly 5 років тому

    gracias por tomarte el tiempo para dar estos cursos, felicitaciones !!

  • @websexpress4325
    @websexpress4325 6 років тому +16

    Juan por favor, no te olvides de explicar en algún vídeo cómo podemos encarar documentación de lenguages de programación, librerías, etc. Eso de que nadie nace enseñado y que seguro que vosotros los experimentados sabéis cómo encarar sin que os enseñe nadie. Que a veces viene mal explicado. En el caso de librerías de jQuery por ejemplo venía mejor explicado dentro del JS de las propias librerías que en la documentación. Pues a eso me refiero. Esa experiencia de saber por dónde hilar para entender a veces lo inentendible. A mí me hace depender siempre de alguien que me explique. Y ya van como 4 lenguajes de programación que toco y que no termino porque me noto que no puedo ser independiente en aprendizaje por mi cuenta si necesito algo muy concreto. No sé, es complejo, como la propia informática.
    No puedo ver 5 cursos diferentes por ejemplo por falta de tiempo. Sabiendo encarar ese aprendizaje por escrito, sería más rápido si necesito bootstrap, por ejemplo, vue.js, etc, etc, etc. A eso es a lo que voy.
    Gracias por tus enseñanzas. He aprendido por fin la POO.
    P.D.: Voy a ser muy pesado con esto. Me parece importante para todos.

  • @Valhalla_Code
    @Valhalla_Code 3 роки тому

    Muchas gracias, me fue muy útil esta información.

  • @victor_hernandez_g
    @victor_hernandez_g 3 роки тому +9

    En el minuto 7:23 la palabra reservada "new" no llama al constructor, sino que indica al compilador que debe crear un objeto de una clase determinada que se indica a continuación de new, para este ejemplo sería la clase Coche; quien llama al constructor es la instrucción "Coche()" que viene después de la palabra reservada "new", no es new en sí quien llama al constructor.

  • @xarnegaire4239
    @xarnegaire4239 6 років тому

    Felices fiestas y gracias por los cursos

  • @jpopfahrenheit6184
    @jpopfahrenheit6184 3 роки тому

    Excelente explicación. Muchas gracias.

  • @irvingvi
    @irvingvi 6 років тому

    Aún no carga el video pero ya dejé mi like, veré este curso desde el inicio aunque yo ya sea algo experimentado, gracias master

  • @justogonzalez5300
    @justogonzalez5300 4 роки тому

    Excelente como siempre

  • @hectorbolivar3777
    @hectorbolivar3777 4 роки тому

    Amo tus videos Juan , "GET" es obtener, Dar es "Give" en el idioma Ingles.. saludos

  • @joseenriquesanabriasurga6102
    @joseenriquesanabriasurga6102 6 років тому

    Gracias por tus videos. Lo que no me gusta es esperar tanto por mas videos... Debo ya ir aprender en otro lado.

  • @joseandresherreraalcantar692
    @joseandresherreraalcantar692 4 роки тому

    Me encanta tu curso. Llevo una semana y eh aprendido demasiado gracias.
    Sigue así espero más contenido de ti :)

  • @VictorCampoblanco
    @VictorCampoblanco Рік тому +2

    ¡Estoy llevando el curso en 2023 y está increíble! Lo más valioso es que no solo se aprende la sintaxis sino los fundamentos y conceptos detrás de la misma. Muchísimas gracias.
    Me gustaría hacer una consulta. ¿Cuál es la diferencia de escribir el tipo de las variables string con mayúsculas o minúsculas en la primera letra? He hecho la prueba y no veo ninguna diferencia al ejecutar código pero Visual Studio muestra un color de texto diferente cuando se escribe "string" que cuando se escribe "String". También se muestra un ícono distinto, según la palabra tenga mayúscula o minúscula inicial, cuando se despliega el menú de sugerencias de autocompletado.

    • @cesaraugustomendozayanez9552
      @cesaraugustomendozayanez9552 Рік тому

      En esta clase se explica mas o menos, pero basicamente se puede explicar que cuando hablamos de las cadenas de caracteres, no es un tipo de dato primitivo asi como int, double, float, etc, las cadenas de caracteres deben ir relacionadas con la clase String, por lo tanto lo que hacemos siempre es crear instancias de esa clase String, asi que se debe respetar el uso y el cómo crear instancias de dicha clase.

  • @wilmergonzales634
    @wilmergonzales634 4 роки тому

    Muy bien explicado, gracias

  • @matiasmartina4951
    @matiasmartina4951 7 місяців тому

    Impecable!

  • @juancarlosgonzalezmendoza22
    @juancarlosgonzalezmendoza22 6 років тому

    30 Vídeos ya Píldoras Informáticas Gran Curso

  • @juanpabon4254
    @juanpabon4254 3 роки тому

    Justo al final del video me preguntaba pro que en el video de circulo se llama al constructor (que no existe) ya entendí Mil gracias de nuevo y saludos.

  • @carlosizquierdo444
    @carlosizquierdo444 6 років тому

    Gracias por el nuevo capítulo, se echaba de menos.
    Igual estoy metiéndome en camisa de once varas, pero VS tiene un generador de getters setters cuando se pulsa con botón derecho en una variable private. el código resultante se intuye pero me resulta un poco extraño. Por ejemplo si lo hacemos para la propiedad largo de la clase coche
    private double largo;
    se genera
    public double Largo { get => largo; set => largo = value; }
    es bastante intuitivo y está claro que esto nos permitirá acceder a la propiedad con el operador punto. Por ejemplo
    Console.WriteLine( coche1.Largo);
    no dará ningún error. Lo que no acabo de entender es la estructura, es decir, porque es coche1.Largo sin paréntesis y no coche1.Largo().
    Por cierto creo que lo que no entiendo son las expresiones del tipo get=>largo; operador lambda me parece que se llaman, y me llevan loco desde la primera vez que las vi. Como imagino que aun no tocan este tipo de expresiones, mientras llega el momento ¿No sabrás de algún sitio donde empezar a hincarles el diente?
    Gracias otra vez por aguantar a los coñazos que preguntamos cosas raras

    • @arielzarate3643
      @arielzarate3643 6 років тому

      hola papa porqie progranas en vs , mantenes software porqke ya no se usa mucho sino que todo se hace en c# es mas facil la sintaxis . la potencia es muy similar son lenguajes potentes y permiten un desarrollo rapido. lo de la sintaxis labda fijate en goglle sale todo

    • @Schachlover
      @Schachlover 6 років тому +1

      coche1.largo y NO coche1.largo() porque estamos invocando una propiedad y NO un método. Espero te sea de ayuda. No soy un experto.

  • @rominaprograma
    @rominaprograma 2 роки тому

    qué bien que explica

  • @edwardgeronimo335
    @edwardgeronimo335 6 років тому +1

    Gracias por tu arte de enseñar. Me gustaria saber si puedes impartir un curso de delphi

  • @oscarmarronblasquez8478
    @oscarmarronblasquez8478 2 роки тому

    te agradezco mucho lo que dijiste al final aunque lo hubieras dicho desde el principio por la instanciación me perdí mucho jajaj a

  • @danielsantiago1627
    @danielsantiago1627 4 роки тому

    excelentes vídeos.

  • @pablofonseca8867
    @pablofonseca8867 4 роки тому

    Yo tenía un profesor que me había dicho que los Getters/Setters que usaban particularmente la palabra get o set, como GetCantidadRuedas() simplemente retornaban o establecían valores, sin condiciones. Pero ahora que estoy llevando este curso me estoy dando cuenta que toda mi vida no he sabido entenderlo bien, ya que un set sin condicionales o evaluaciones sería lo mismo a poner un valor directo en la instancia, es decir, igual puedo poner ruedas negativas a ese coche si yo quiero. Entonces no le encuentro mucho sentido a lo que me habían enseñado. Ahora bien, por separación de responsabilidades pienso que mi profesor sí pudo tener razón, que exista una función con la palabra clave get o set solamente si es un valor que se modifica directamente sin importar nada y si hay un valor que requiere de procedimientos adicionales evaluativos llamarle de diferente forma, por ejemplo, EstablecerCantidadRuedas()

  • @kevinpalencia7527
    @kevinpalencia7527 5 місяців тому

    Muy buen video

  • @ledesmaalejandro
    @ledesmaalejandro 5 років тому

    gracias por tanto

  • @1010-x5k
    @1010-x5k 2 роки тому

    @pildorasinformaticas Vaya hombre eres un crack. Tienes algún curso para unity? Así sea de pago? Me gusta como explicas las cosas. Tienes el don de enseñar.

  • @alunito6279
    @alunito6279 4 роки тому

    Gracias Bro !

  • @abrahameduardoordoricaisla9103
    @abrahameduardoordoricaisla9103 4 роки тому

    Todo un crack

  • @stefanoriosferrer1672
    @stefanoriosferrer1672 2 роки тому

    Muy útil.

  • @odalmer8110
    @odalmer8110 4 роки тому

    9:59 mi solucion:
    crear un metodo public para acceder a la variable ruedas en la clase coche
    public int VerRuedas()
    {
    return ruedas;
    }

  • @omarsanchezcuevas8309
    @omarsanchezcuevas8309 2 роки тому +1

    Aquí dejo mi pequeño programa con lo aprendido hasta ahora
    Determina el área de un circulo, cuadrado, rectángulo o triangulo a decisión del usuario.
    namespace Areas_de_figuras_geometricas__clases_metodos_
    {
    internal class Program /* Programa que permite calcular el area de ciertas figuras
    geometricas sencillas, utilizando mis copnocimientos hasta ahora
    (Switch, While, Do- While, Clases, Metodos, metodos anidados(?),
    execpciones tanto try catch como throw. Se podria hacer mes sencillo por supuesto (thumbs up)*/
    { //PD: Faltaria el tema de constructores pero asi esta bien.
    static void Main(string[] args)
    {
    Console.WriteLine("-------Seleccione la figura geometrica------");
    Console.WriteLine("1.Circulo
    2.Cuadrado
    3.Rectangulo
    4.Triangulo");
    int eleccion;

    eleccion = int.Parse(Console.ReadLine());
    try {
    Console.WriteLine($"El area del rectangulo es: {Area(eleccion)} metros al cuadrado");
    } catch (ArgumentOutOfRangeException ex)
    {
    do
    {
    Console.WriteLine("Solo se pueden seleccionar esos 3");
    Console.WriteLine("Digite su seleccion: ");
    eleccion = int.Parse(Console.ReadLine());
    } while (eleccion < 0 || eleccion > 4);
    Console.WriteLine($"El area del rectangulo es: {Area(eleccion)} metros al cuadrado");
    }
    static double Area(int eleccion)
    {

    switch (eleccion)
    {
    case 1:
    Console.WriteLine("Ha seleccionado cirulo!");
    calcularAreaCirculo aCirculo = new calcularAreaCirculo();
    Console.WriteLine("Digite el radio por favor: ");
    double radio = double.Parse(Console.ReadLine());
    // Console.WriteLine($"El area es: {aCirculo.AreaCirculo(radio)} metros cuadrados");
    return aCirculo.AreaCirculo(radio);
    case 2:
    Console.WriteLine("Has seleccionado Cuadrado!");
    calcularAreaCuadrado aCuadrada = new calcularAreaCuadrado();
    Console.Write("Digite el tamano de uno de los lados por favor: ");
    double lado = double.Parse(Console.ReadLine());
    // Console.WriteLine($"El area es: {aCuadrada.AreaCuadrado(lado)} metros al cuadrado");
    return aCuadrada.AreaCuadrado(lado);
    case 3:
    Console.WriteLine("Has seleccionado Rectangulo!");
    calcularAreaRectangulo aRectangulo = new calcularAreaRectangulo();
    Console.WriteLine("Digite el tamano de la base por favor: ");
    double baseRectangulo = double.Parse(Console.ReadLine());
    Console.WriteLine("Digite el tamano de la altura por favor: ");
    double alturaRectangulo = double.Parse(Console.ReadLine());
    // Console.WriteLine($"El area del rectangulo es: {aRectangulo.AreaRectangulo(baseRectangulo,alturaRectangulo)} metros al cuadrado");
    return aRectangulo.AreaRectangulo(baseRectangulo, alturaRectangulo);
    case 4:
    Console.WriteLine("Has seleccionado Triangulo!");
    calcularAreaTriangulo aTriangulo = new calcularAreaTriangulo();
    Console.WriteLine("Digite el tamano de la base por favor: ");
    double baseTriangulo = double.Parse(Console.ReadLine());
    Console.WriteLine("Digite el tamano de la altura por favor: ");
    double alturaTriangulo = double.Parse(Console.ReadLine());
    return aTriangulo.AreaTriangulo(baseTriangulo, alturaTriangulo);
    default: throw new ArgumentOutOfRangeException();

    }
    }
    }
    }
    class calcularAreaCirculo
    {
    private const double pi = 3.1416;
    public double AreaCirculo(double radio)
    {
    return pi * radio * radio;
    }
    }
    class calcularAreaCuadrado
    {
    public double AreaCuadrado(double lado)
    {
    return lado * lado;
    }
    }
    class calcularAreaRectangulo
    {
    public double AreaRectangulo(double LaBase, double LaAltura)
    {
    return LaBase * LaAltura;
    }
    }
    class calcularAreaTriangulo
    {
    public double AreaTriangulo(double LaBase, double LaAltura)
    {
    return (LaBase * LaAltura) / 2;
    }
    }
    }

  • @robertoarauz4206
    @robertoarauz4206 5 років тому +17

    11:27 ajaja es graciosos cómo entre europeos vacilan de la tecnología de sus vecinos, se parece mucho a los sudamericanos que algunas veces son "amigos" y después "rivales" pero no en tecnología sino en pendejadas 😂.

  • @tamararojas6044
    @tamararojas6044 Рік тому

    te amo loco

  • @Haironons
    @Haironons 6 років тому

    Maestro soy de los legendarios de Java, noto un tono de voz diferente, ajeejjejej.
    Buena clase.

  • @luisfelipemejia9547
    @luisfelipemejia9547 6 років тому

    Muchas gracias :)

  • @enriquealvizo1765
    @enriquealvizo1765 6 років тому

    Gracias profesor, y un saludo para los rusos que también son europeos, bueno + o -.

  • @diegodiaz6397
    @diegodiaz6397 3 роки тому

    Muchas gracias por el video. Aprendo mucho con tu curso
    Tengo una duda con los constructores, en la sintaxis iría antes de los atributos o entre los atributos y los métodos?

  • @diegotrujillo444
    @diegotrujillo444 4 роки тому +1

    Excelente eres el mejor.... ( •_•)>⌐■-■

  • @seamusforever7081
    @seamusforever7081 5 років тому

    Clases de Coches, un clásico.

  •  4 роки тому

    Porque usas camelCase en los nombres de los metodos si justamente en el video anteior explicaste que los métodos publicos van en PascalCase. ??

  • @ulisesa.chavez9526
    @ulisesa.chavez9526 4 роки тому +1

    Tengo una duda Juan... para trabajar con clases en C# se tienen que crear en "Program" asi como lo has estado haciendo, ó se pueden crear nuevos archivos con la clase que se va a utilizar e instanciarlos desde "Program". Saludos desde El Salvador.
    EDIT: no pasa nada, ya lo comprobe por mi mismo. Posdata: GRANDIOSO CURSO

  • @charlyr2678
    @charlyr2678 4 роки тому

    ¿Puede explicar y dar un ejemplo sobre inyección de dependencias? Saludos.

  • @juanchaustre7869
    @juanchaustre7869 2 роки тому

    13:43 No seria mejor simplemente declarar a las ruedas como una constante y listo?

  • @Mrleopola
    @Mrleopola 6 років тому +1

    Fantástico Juan. Una pregunta. Has trabajado mucho con C#? O lo estas descubriendo a medida que vas avanzando con el curso. De todas formas. Viendo que C# es muy versátil, es decir, veo que se usa mucho tanto para juegos (Unity), como para realizar softwares de plataforma. En tu opinión, en que aspectos C# tiene los puntos fuertes? Saludos Leopoldo.

  • @abrahammedina7918
    @abrahammedina7918 4 роки тому +1

    Por que se utiliza "String" en mayúscula?

    • @akiztoi
      @akiztoi 4 роки тому

      tengo la misma duda

    • @akiztoi
      @akiztoi 4 роки тому

      Vale , está explicado más abajo, parece que da lo mismo escribirlo de una u otra manera. En este caso.

    • @pierojav4310
      @pierojav4310 Рік тому

      Por regla o buena práctica se usa en minúscula, si te fijas cuando puso en mayúscula se pinta de otro color a diferencia de otros atributos. Quizá lo usa porque en su versión de VS le da igual, acepta sin problema.

  • @adamegarcia
    @adamegarcia 2 роки тому

    Dios mío, me duele la cabeza de tanta información 😭

  • @mynorcarcuz241
    @mynorcarcuz241 6 років тому

    Muy buen curso, profeo cuandi subir mas temas, saludos

  • @rushiano89
    @rushiano89 Рік тому

    Hay algo que no entendi, puedo tener otro constructor de Coche() pero que tenga otros valores sin que yo se los introduzca? o sea puedo crear un segundo cosntructor que se llame Coche2()?. Asi por ejemplo digamos que creo un juego de carreras donde existen 3 coches y cada uno tiene propiedades diferentes, puedo usar la clase Coche sin tener que otra clase de tipo coche? no se si se entiende mi pregunta.

  • @antonioqin785
    @antonioqin785 4 роки тому

    hola profe, una pregunta ojala me la responda o alguien de los comentarios, por que usa el "S"tring y no el "s"tring por que me di cuenta que son validos los dos pero al ser case sensitive supongo que debe haber algo diferente, porfaaaaa si no no podre dormir con esa duda

  • @mecabike
    @mecabike 5 років тому

    hola profe si hay coches con mas de cuatro ruedas seria mas bien un tracto camión de 24 o 26 ruedas creo...?

  • @gbarajas2971
    @gbarajas2971 6 років тому

    Hola, excelente curso. Algun libro que recomienden para ir reforzando los conocimientos de este curso.

  • @giourinarizzo3242
    @giourinarizzo3242 4 роки тому

    Maestro, he visto algunos codigos y tienen un constructor vacio y luego el constructor lleno, esto con que objetivo?

  • @nelsonmerino383
    @nelsonmerino383 6 років тому

    Saludos Profesor, la pregunta que le voy hacer no se trata de este curso, si no de el de java, pero el tutorizado, quisiera saber cuando empieza y si por cada lección se realizan ejercicios para practicar, le agradezco su pronta respuesta

  • @crossroads3188
    @crossroads3188 6 років тому

    Hay algun atajo para generar constructores por parametro? a veces se manejan muchos atributos en una clase y se hace tedioso escribirlo uno a uno

  • @infotips2475
    @infotips2475 3 роки тому

    Y el constructor internal A() { } para que sirve ?

  • @danielvera8099
    @danielvera8099 4 роки тому

    Todavia no me queda claro un cosa, en el anterior video con el ejemplo de la rueda se podia crear varios objetos de tipo rueda con un estado incial y sin constructor (me refiero a la propieda de PI que escribio) y en este usted dice que es necesario un constructor. No entiendo si es o no es necesario un contructor, agradeceria que me respondiera esta duda.

  • @kalmabombo
    @kalmabombo 4 роки тому +1

    JUAN POR FAVOR ESCRIBE UN LIBRO DE C# Y TE LO COMPRAMOS

  • @RingOfFaia
    @RingOfFaia 3 роки тому

    "Dar" en ingles no es "Get"
    "Dar" en inges es "Give"
    "Obtener" en ingles es "Get"
    Ya se que tu ya lo sabes Juan, y se que no te diste cuenta de ese fallo, tu te referias a que el programa nos "Da" esa informacion, y nosotros la "Obtenemos" (get) Solamente Aclarando eso. Saludos Juan, Exelentes videos

  • @nicolas2008alcubo
    @nicolas2008alcubo 6 років тому +2

    ¡Hola, amigo Juan!
    Acabo de instalarme en mi viejo ordenador Dell Inspiron One 2305 ó 2350 Xamarin Studio y parece por el momento funcionar bien. ¿Es buena esa IDe?.
    Bueno, estuve practicando un poco:
    using System;
    namespace ObjetoCoche
    {
    class MainClass
    {
    public static void Main(string[] args)
    {
    Coche miCoche1 = new Coche();
    Console.WriteLine(miCoche1.getDatos());
    Console.WriteLine(miCoche1.getAsientos());
    Coche miCoche2 = new Coche();
    miCoche2.setAsientos("cuero");
    Console.WriteLine(miCoche2.getDatos());
    Console.WriteLine(miCoche2.getAsientos());
    Console.ReadKey();
    }
    }
    class Coche
    {
    private int ruedas;
    private double ancho;
    private double largo;
    private bool asientos_cuero;
    public Coche()
    {
    ruedas = 4;
    ancho = 3000.45;
    largo = 1000.44;
    asientos_cuero = false;
    }
    public String getDatos()
    {
    return "El coche tiene " + ruedas + " ruedas
    Con un ancho de " + ancho + " cm.
    Con un largo de " + largo + " cm.";
    }
    public void setAncho(double miAncho)
    {
    ancho = miAncho;
    }
    public void setLargo(double miLargo)
    {
    largo = miLargo;
    }
    public void setAsientos(string tipo)
    {
    if (String.Compare(tipo, "cuero", true) == 0) asientos_cuero = true;
    else asientos_cuero = false;
    }
    public String getAsientos()
    {
    if (asientos_cuero) return "Este coche poseé asientos de cuero";
    else return "Este coche tiene asientos comunes";
    }
    }
    }

  • @maximo252
    @maximo252 4 роки тому

    Hay algo que no entiendo muy bien: si mi clase tiene por ejemplo 4 propiedades, cuantos constructores debo crear?

  • @danisabadia5606
    @danisabadia5606 5 років тому

    ¿Que pasaria si en lugar de sobrecargas, creó un solo constructor con condicionales, para dependiendo de los argumentos recibidos así me inicialice las variables?
    -¿Es des-recomendado?
    Considero que si lo hago así estaría ahorrando mucho código, por que podria utilizar argumentos, que obtengan un valor en dicho de no recibir uno. y trabajar con condicionales internas. por complejidad algorítmica tal vez sea útil. Si no es así te agradecería que por favor me aclares que me interesa mucho aprender y tú enseñas muy bien.

    • @pildorasinformaticas
      @pildorasinformaticas  5 років тому

      El problema está cuando quieres pasar un nº diferente de parámetros al constructor. Es decir, tú puedes crear condicionales dentro del constructor que evalúen el parámetro pasado pero ¿cómo lo haces si en ocasiones le quiero pasar al constructor 3 parámetros en otras 5, en otras 7 o 9....? ¿cómo controlas eso con condicionales dentro del constructor? ten en cuenta que no es lo mismo un objeto que no tiene por ejemplo la propiedad "nombre" que un objeto que tiene nombre =null (esto lo digo por si estabas pensando controlar con un condicional que si no te paso nada en el nombre lo dejas en null). Un saludo!

    • @danisabadia5606
      @danisabadia5606 5 років тому

      @@pildorasinformaticas Muchas gracias brother siempre das respuestas muy completas de verdad haces un excelente trabajo, por otro lado, entonces en este orden de ideas, lo ideal es dependiendo como voy a usar la clase. uso sobrecargas o uso condicionales, te mando un ejemplo de lo que yo hice
      public Coche(int tipo = 0)
      {
      switch (tipo)
      {
      case 1:
      ruedas = 1;
      largo = 2300.5;
      ancho = 0.800;
      break;
      case 2:
      ruedas = 3;
      largo = 3000.5;
      ancho = 5.800;
      climatizador = true;
      break;
      default:
      ruedas = 4;
      largo = 3000.5;
      ancho = 352.00;
      climatizador = true;
      tapiceria = "cuero";
      break;
      }
      Para trabajar más que todo el tipo de coche, y el argumento es uno o 2 o 3 etc si voy agregando unos tienen climatizador y otros, lo tienen en null

    • @danisabadia5606
      @danisabadia5606 5 років тому

      Men no se para donde se me fue el resto del texto, jeje pero lo que decía que lo ideal seria dependiendo de qué usos le voy a dar a esa clase

    • @RingOfFaia
      @RingOfFaia 3 роки тому

      @@danisabadia5606 Buena observacion, eso podria servir de alguna forma, cuando tenga que ser algo muy muy concreto, esa manera seria como hacer varios Constructores por Defecto. Pero cuando, como dice Juan, tengas que Asignar algun nombre por medio de los parametros, sera Imposible hacer, o podria ser posible con mas condicionales encimadas, pero ya seria mucho enrredo, aunque en serio buena observacion, esta muy util para hacer Varios Constructores por Defecto

  • @cosasdecompu5597
    @cosasdecompu5597 3 роки тому

    creo que ya sabemos que los dias de las universidades estan contados

  • @nosinfantasia
    @nosinfantasia 4 роки тому +1

    Holas, alguien haciendo el curso en 12/2020 ?

  • @Jutrons
    @Jutrons 5 років тому

    Buenas tardes,tengo una duda...
    Si yo creo usando un poco el ejemplo que tu has usado con coches yo hago lo siguiente :
    Coche coche1 = new Coche();
    Coche coche2 = coche1;
    coche1.Ruedas = 3;// el valor inicial en el constructor es 4.
    coche1 = null;
    Primero creo un coche1 luego digo a coche2 que apunte a coche1.
    Al cambiar el numero de ruedas de coche1 también se cambia a coche dos pero si yo pongo coche1 a null, coche2 sigue siendo coche1...
    No debería coche2 ser también null ?
    Es un poco feo el codigo que hago ahora pero es para ver el resultado.
    try
    {
    Console.WriteLine(coche1.GetHashCode());
    Console.WriteLine(coche1.Ruedas);
    }
    catch (Exception e)
    {
    Console.WriteLine(e.Message);
    }
    try
    {
    Console.WriteLine(coche2.GetHashCode());
    Console.WriteLine(coche2.Ruedas);
    }
    catch (Exception e)
    {
    Console.WriteLine(e.Message);
    }
    La salida en terminal es :
    Referencia a objeto no establecida como instancia de un objeto.
    21083178
    3
    Un saludo.

    • @RingOfFaia
      @RingOfFaia 3 роки тому

      Me parece que eso es por el Flujo de Ejecucion, si era eso? me supongo que ya lo resolviste

  • @nicolas2008alcubo
    @nicolas2008alcubo 6 років тому +1

    Y declaras esta vez String como clase, no string como primitivo. ¿Qué diferencia hay en usar el tipo string y la clase String?

    • @Sn4red
      @Sn4red 5 років тому

      string es el alias de String, da el mismo resultado. De todas maneras, por convención siempre se recomienda usar los alias.