Course C #. Heritage VI. Protected access modifier. Video 46

  Рет қаралды 41,934

pildorasinformaticas

pildorasinformaticas

Күн бұрын

Пікірлер: 43
@alespre85
@alespre85 5 жыл бұрын
En serio, no sé cómo lo haces. Estoy haciendo el curso de java para luego seguir con Android, y aunque ahora lo sigo por la web, empecé a seguirte el canal por aquí, y cada día me salen prácticamente dos o tres vídeos nuevos, alucino mucho la verdad. Muchas gracias por el trabajo que te pegas
@juanpablocortezmosquera8946
@juanpablocortezmosquera8946 11 ай бұрын
Juan, veo este curso por 3 vez y no dejo de sorprenderme! Que bien enseñas y de hecho se me ha pegado mucho de tu metodología de profesor a la forma como enseño a veces cuando doy clases.
@MegaDanni96
@MegaDanni96 4 жыл бұрын
Tus videos son los mejores de la web, gracias.
@danpar7045
@danpar7045 4 жыл бұрын
Te felicito por tu explicación sobre clases. Sos muy claro. Muchas gracias por tu gra aporte.
@alejandrovasquez6751
@alejandrovasquez6751 5 жыл бұрын
No tardé mucho en realizar el ejercicio, no hubo errores de sintaxis y tanto la herencia como el polimorfismo funcionó a la perfección. Como siempre, un millón de gracias!!
@pumpdoriloco915
@pumpdoriloco915 3 жыл бұрын
Amo este canal
@ladyprincs3202
@ladyprincs3202 4 жыл бұрын
Maravilloso el ejercicio practico, Te lo agradecemos enormemente porque nos permite reforzar lo que nos has enseñado. Muchas gracias, de corazón! En la cuarentena he aprendido muchísimo gracias a ti! Estoy loca por seguir aprendiendo de este nuevo mundo que se ha abierto ante mis ojos.
@francorolon7917
@francorolon7917 5 жыл бұрын
Hoy llegue a este video.! Lo empece la semana hace unas semanas. La verdad buenísimo el curso espero con ansias el siguiete video.
@skdante100
@skdante100 5 жыл бұрын
Genial me encantan tus videos, soy fan de muchos de los temas que has mencionado. Me gustaria que agregaras uno de Vue :)
@ghuztavorenteria6142
@ghuztavorenteria6142 5 жыл бұрын
Gracias por todo, espero con ansias el curso de django
@juliorenemendezsegura1396
@juliorenemendezsegura1396 4 жыл бұрын
Felicidades por tan buen curso!!! Soy relativamente principiante en esto de la programación y me he involucrado en varias charlas sobre POO con otros programadores (algunos con algo de experiencia), y que básicamente iniciaron y continúan en Visual FoxPro. Me llama mucho la atención que tienen la percepción casi total de que "LA POO ES PORQUE, SGÚN ELLOS, LOS OBJETOS SON LOS BOTONES, LAS VENTANAS, LOS LISTBOX, ETC." Agradecería mucho si pudiera hacer una aclaración a esto pues con un compañero que está muy arraigado a esta idea ESTAMOS SIGUIENDO ESTE CURSO y me gustaría mucho que alguien con tan buena didáctica como Ud. pudiera dejarlo bien claro. Saludos y siga adelante con esta buena causa. Buenísimo!!! (PD Aquéllos que dominan bastante el tema, disculpen la molestia por esta petición de principiantes, abrazos).
@Masitx99
@Masitx99 5 жыл бұрын
Muy bueno el video muchisimaa gracias
@francovedia5584
@francovedia5584 Жыл бұрын
Gracias.
@Francisco-rh5qg
@Francisco-rh5qg 5 жыл бұрын
Mil gracias hermano.
@cdv88
@cdv88 3 жыл бұрын
Excelente curso. No se en España, pero por aquí en México piden mucho en los empleos c#, .NET con Angular, mi duda es si tienes pensado en algún momento hacer uno de Angular. Saludos
@cristiana8025
@cristiana8025 3 жыл бұрын
Ya se te cumplio, ya lo empezó
@claudiooc1976
@claudiooc1976 5 жыл бұрын
Gracias, como siempre muy didactico
@txc1033
@txc1033 5 жыл бұрын
Te felicito por el curso muy bien explicado
@maxi5300
@maxi5300 5 жыл бұрын
Muy bueno lo del ejercicio. Saludos
@georgeestebanrojascastillo6575
@georgeestebanrojascastillo6575 2 жыл бұрын
LIKE: por un CURSO de EJERCICIOS DE POO.
@uzumakimikey4364
@uzumakimikey4364 3 жыл бұрын
Buen video
@mnl1
@mnl1 4 жыл бұрын
Antes de nada agradecerte mucho tu dedicación y tu compromiso con cada uno de los cursos que haces. Siempre los terminas y son muy completos. Solo quería hacer una pregunta sobre el protected. Si un método en una clase es protected o private ¿No es accesible para los objetos o instancias que se creen de esa clase? Y si esto es así, ¿entonces estoy obligado a hacer estos métodos public para poder usarlos en los obejtos? Muchas gracias Juan y un gran saludo desde Canarias.
@Jusilus
@Jusilus 3 жыл бұрын
Por si alguien tiene dudas. Supongamos que tenemos la clase Mamifero con dos atributos: private int patas; private bool pelo; y tres métodos: public virtual void Pensar() { Console.WriteLine("Toy pensando como mamífero."); } public int GetPatas() { return this.patas; } public bool IsPelo() { return this.pelo; } Ahora creamos una clase Humano que herede de Mamifero. Si, desde main, instanciamos Humano: Humano david = new Humano(); veremos que humano ha heredado los campos y los métodos. Si en Mamífero cambiamos un método a private la clase Humano ya no lo hereda. Si en Mamífero damos valores a los campos private int patas = 4; private bool pelo = true; y ejecutamos Console.WriteLine(david.GetPatas()); Console.WriteLine(david.IsPelo()); veremos que la clase Humano hereda los valores, también. Si queremos que Humano tenga sus propios campos y estos sus propios valores, deberemos otorgarle sus propios campos e inicializarlos: private int patas = 2; private bool pelo = false; Además, habrá que añadir los métodos GetPatas() e IsPelo() para poder acceder a ellos como Humano. Tal y como ha explicado Juan, habrá que usar el operador new o virtual + override (el propio VS ya avisa de que se puede mejorar el código).
@ELGOATRD
@ELGOATRD 5 жыл бұрын
Excelente video fuera bueno que dejaras ejercicio continuamente en los vídeos!!!
@pildorasinformaticas
@pildorasinformaticas 5 жыл бұрын
No me dan las 24 horas del día para eso. Pero en los cursos tutorizados de mi portal www.pildorasinformaticas.es hay ejercicios. Y este curso estará en breve en la zona de tutorizados. Un saludo!
@thebeginner7759
@thebeginner7759 Жыл бұрын
Tengo una pregunta, como hago que una variable/metodo no se herede pero que en otra clase sí?
@Daniel-ks8pe
@Daniel-ks8pe 5 жыл бұрын
Te planteas hacer tutoriales de unity ( no se si con esta pregunta la cago porq solo se q unity va con un lenguaje q no se si es unico o es conpatible con otros ) gracias
@franklinsena2843
@franklinsena2843 4 жыл бұрын
este curso te sirve para usar c# en Unity ya que unity usa por defecto Visual Studio como IDE para programar tus proyectos.
@TonicoBonico
@TonicoBonico 2 жыл бұрын
Like a boss.
@roylinrodriguez9679
@roylinrodriguez9679 4 жыл бұрын
No se si más adelante en el curso hablaran de eso pero quiero preguntar si, usando un método de acceso getter se puede acceder a campos de clase private, puedo acceder a métodos privated con métodos de acceso getter??
@borrego9022
@borrego9022 4 жыл бұрын
Tu pregunta es algo confusa... y bueno te responderé con lo que se. Creo que las clases prívate no pueden ser accesibles desde ninguna otra clase. Por lo cual tampoco tendrán acceso a sus métodos y a sus variables o constantes. O puede que al momento de colocar prívate en tu clase si puedas acceder a ella desde cualquier otra clase, pero siempre y cuando sea una clase de tu mismo proyecto. Ya que podrías tener dos proyectos o más bien dos archivos que compartan cierta información entre ellos... pero si una de tus clases es prívate no podrás acceder a ella más que desde el mismo archivo al que pertenece o en el que está. (No estoy muy seguro sobre las clases prívate, aunque creo que pueden ser alguna de esas dos) Y sobre los métodos “prívate”, si puedes acceder a ellos,siempre y cuando al menos uno de los métodos de tu clase sea de de tipo “public” Ya que el método de acceso “prívate” hace que puedan acceder a ese método pero solo los otros métodos que pertenezcan a la misma clase. Aunque... ahorita hablando con el tema de la herencia, no se si eso cambie algo. Supongo que no
@El_Facheras
@El_Facheras Жыл бұрын
//METODO PRIVADO private string GetNombre() { return nombreSerVivo; } //Propiedad getter publica public string getName { get { return GetNombre(); } }
@memedance3535
@memedance3535 6 ай бұрын
@jeremiasramos4887
@jeremiasramos4887 5 жыл бұрын
Gracias, continue siere de python com curso django
@kevinhernandezmonzalvo5539
@kevinhernandezmonzalvo5539 3 жыл бұрын
Aquí mi propuesta, sin mucho detalle en instrucciones: namespace Ejercicio { class Program { static void Main(string[] args) { Coche Coche = new Coche(); Avión Avión = new Avión(); Console.WriteLine(Coche.GetInfoVehículo("coche")); Console.WriteLine(Avión.GetInfoVehículo("avión")); Coche.Conducir(); Avión.Conducir(); } } class Vehículo { public Vehículo(string vehículo) { PuedeTranpsortar = true; TieneMotor = true; if (vehículo == "coche") { TieneRuedas = true; TieneAlas = false; } if (vehículo == "avión") { TieneRuedas = false; TieneAlas = true; } } protected void ArrancarMotor() { Console.WriteLine("El vehículo puede arrancar el motor"); } protected void PararMotor() { Console.WriteLine("El vehículo puede parar el motor"); } public virtual void Conducir() { Console.WriteLine("Los vehículos pueden conducirse"); } public string GetInfoVehículo(string vehículo) { return ($"Información del vehículo: {vehículo} "+ "Puede transportar: "+PuedeTranpsortar +" Tiene Motor: "+ TieneMotor+" Tiene Ruedas: "+TieneRuedas+" TieneAlas: "+ TieneAlas); } private bool PuedeTranpsortar; private bool TieneMotor; private bool TieneRuedas; private bool TieneAlas; } class Avión : Vehículo { public Avión():base("avión") { } public override void Conducir() { Console.WriteLine("El Avión se conduce en el aire"); } } class Coche: Vehículo { public Coche():base("coche") { } public override void Conducir() { base.Conducir(); { Console.WriteLine("El Coche se conduce en tierra"); } } } }
@alphaalfre
@alphaalfre 2 жыл бұрын
👀
@pepetv2566
@pepetv2566 4 ай бұрын
mi codigo: using System; using System.Drawing; using System.Reflection; namespace Herencia_5 { internal class Program : Object { static void Main(string[] args) { Avion miAvion = new Avion("A-29B Super Tucano", "Verde oscuro"); Coche miMercedes = new Coche("Mercedes-Benz Clase E (W124)", "Gris"); Vehiculo[] vehiculos = new Vehiculo[2]; vehiculos[0] = miAvion; vehiculos[1] = miMercedes; Console.WriteLine("Avión"); Console.WriteLine(miAvion.Modelo()); Console.WriteLine(miAvion.Color()); miAvion.ArrancarMotor(); vehiculos[0].Conducir(); miAvion.Aterrizaje(); miAvion.PararMotor(); Console.WriteLine(" Coche"); Console.WriteLine(miMercedes.Modelo()); Console.WriteLine(miMercedes.Color()); miMercedes.ArrancarMotor(); vehiculos[1].Conducir(); miMercedes.Estacionando(); miMercedes.PararMotor(); } } class Vehiculo { private string modelo; private string color; public Vehiculo(string modelo, string color) { this.modelo = modelo; this.color = color; } public void ArrancarMotor() { Console.WriteLine("El motor esta arrancando"); } public void PararMotor() { Console.WriteLine("El motor esta parando"); } public virtual void Conducir() { Console.WriteLine("Voy conduciendo"); } public string Modelo() { return "Nombre del modelo: " + modelo; } public string Color() { return "Color: " + color; } } class Avion : Vehiculo { public Avion(string modelo, string color) : base(modelo, color) { } public override void Conducir() { Console.WriteLine("Voy conduciendo por encima de las nubes"); } public void Aterrizaje() { Console.WriteLine("Estoy aterrizando"); } } class Coche : Vehiculo { public Coche(string modelo, string color):base(modelo, color) { } public override void Conducir() { Console.WriteLine("Voy conduciendo en la carretera"); } public void Estacionando() { Console.WriteLine("Me estoy estacionando"); } } }
@nicolas2008alcubo
@nicolas2008alcubo 5 жыл бұрын
using System; namespace EjercicioHerencia001 { class Program { static void Main(string[] args) { Avion miACME = new Avion("ACME"); Coche miSandero = new Coche("Renault Sandero"); miACME.arrancarMotor(); miACME.conducir(); miACME.pararMotor(); miSandero.arrancarMotor(); miSandero.conducir(); miSandero.pararMotor(); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkYellow; Console.ForegroundColor = ConsoleColor.DarkBlue; Console.Write("PRESIONA CUALQUIER TECLA Y NO VERAs mas este rollo..."); Console.ReadKey(); } } class Vehiculo { public Vehiculo(String marca) { this.marca = marca; } public void arrancarMotor() { Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("El vehículo " + marca + " ha arrancado el motor"); } public void pararMotor() { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("El vehículo " + marca + " ha parado el motor"); } public virtual void conducir() { Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("Conducción del vehículo"); } private String marca; } class Avion : Vehiculo { public Avion(String marcaAvion) : base(marcaAvion) { } public override void conducir() { Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("Os digo que conducir un avión es complicado"); } } class Coche : Vehiculo { public Coche(String marcaCoche) : base(marcaCoche) { } public override void conducir() { Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("¡Estoy conduciendo a 240 km/h. Jajaja!"); } } } Ahí funciona todo bien, lo único que me da errores al querer crearme un array de tipo Vehiculo llamado misVehiculos y deseo hacer algo así: misVehiculos[0]=miACME; misVehiculos[1]=miSandero; Me pone error que dice "Vehiculo es tipo, que no es válida en el contexto indicado". Si lo puedes explicar en el próximo vídeo, bárbaro. Saludos, Juancito. Nicolás Matías Funtalas.
@francorolon7917
@francorolon7917 5 жыл бұрын
Yo lo hice asi Vehículo[ ] misVehiculos = new vehículo[2]; Coche miCoche = new Coche("modelo"); misVehiculos[0] = miCoche;
@johanpalaciose
@johanpalaciose 3 жыл бұрын
Aquí mi solución al ejercicio using System; namespace EjHerencia { class Program { static void Main(string[] args) { Coche miCarro = new Coche(false); Console.WriteLine("Mi coche objeto en acción"); Console.WriteLine($"El estado del motor es: {miCarro.getMotorEstado()}"); miCarro.arrancarMotor(); miCarro.acelerar(); miCarro.frenar(); miCarro.conducir(); miCarro.pararMotor(); Avion miAvion = new Avion(false); Console.WriteLine("Mi avión objeto en acción"); Console.WriteLine($"El estado del motor es: {miAvion.getMotorEstado()}"); miAvion.arrancarMotor(); miAvion.despegando(); miAvion.aterrizar(); miAvion.conducir(); miAvion.pararMotor(); } } class Vehiculo { public Vehiculo(bool motorEstado) { this.motorEstado = motorEstado; } public void arrancarMotor() { Console.WriteLine("El motor ha sido arrancado"); motorEstado = true; } public void pararMotor() { Console.WriteLine("El motor ha sido detenido"); motorEstado = false; } public virtual void conducir() { Console.WriteLine("Conduciendo el vehiculo"); } public bool getMotorEstado() { return motorEstado; } private bool motorEstado; } class Avion : Vehiculo { public Avion(bool estadoAvion) : base(estadoAvion) { } public void aterrizar() { Console.WriteLine("El avion esta aterrizando"); } public void despegando() { Console.WriteLine("El avion esta despegando"); } public override void conducir() { if (getMotorEstado() == true) Console.WriteLine("Conduciendo el avión"); else Console.WriteLine("El motor esta apagado, no puedes volar"); } } class Coche : Vehiculo { public Coche(bool estadoCoche) : base(estadoCoche) { } public void acelerar() { Console.WriteLine("El coche esta acelerando"); } public void frenar() { Console.WriteLine("El cohce esta frenando"); } public override void conducir() { if (getMotorEstado() == true) Console.WriteLine("Conduciendo el carro"); else Console.WriteLine("El motor esta apagado no puedes manejar"); } } }
@Lucaskpp7
@Lucaskpp7 4 жыл бұрын
Le agregue unas pavadas: class Program { static void Main(string[] args) { Vehiculo myAuto = new Coche(); Avion myAvion = new Avion(); Vehiculo myavion2 = new Avion(); myAuto.PrenderMotor(); myAuto.conducir(); myAuto.ApagarMotor(); myAuto.infoDetalles(); Console.WriteLine("*-*-*-*-*-*-*-*"); myAvion.PrenderMotor(); myAvion.conducir(); myAvion.ApagarMotor(); myAvion.detallesAvion(); Console.WriteLine("*-*-*-*-*-*-*-*"); } } class Vehiculo { protected string detalles = "Precisan de un motor"; protected string detalles3 = "Distintas dificultades para pilotar"; public virtual void PrenderMotor() { Console.WriteLine("Se ha encendido el motor"); } public virtual void ApagarMotor() { Console.WriteLine("Se ha apagado el motor"); } public virtual void conducir() { Console.WriteLine("Conduciendo"); } public void infoDetalles() { Console.WriteLine(detalles + "|||" + detalles3); } } class Coche:Vehiculo { public override void PrenderMotor() { Console.WriteLine("Se ha encendido el motor del auto"); } public override void ApagarMotor() { Console.WriteLine("Se ha apago el motor del auto"); } public override void conducir() { Console.WriteLine("Conduciendo el Auto"); } } class Avion:Vehiculo { public void detallesAvion() { detalles = "Precisan de un motor mas importante"; detalles3 = "Entrenamiento profesional para pilotar"; Console.WriteLine(detalles+"|||"+detalles3); } public override void conducir() { Console.WriteLine("Conduciendo el Avion"); } }
Curso C#. Herencia VII. Ejercicio guiado, solución. Vídeo 47
25:10
pildorasinformaticas
Рет қаралды 45 М.
Curso C#. Interfaces I. Vídeo 48
23:26
pildorasinformaticas
Рет қаралды 82 М.
"كان عليّ أكل بقايا الطعام قبل هذا اليوم 🥹"
00:40
Holly Wolly Bow Arabic
Рет қаралды 14 МЛН
Sigma baby, you've conquered soap! 😲😮‍💨 LeoNata family #shorts
00:37
버블티로 부자 구별하는법4
00:11
진영민yeongmin
Рет қаралды 23 МЛН
Course C #. POO VIII. Variables and static methods. Video 34
18:23
pildorasinformaticas
Рет қаралды 70 М.
Course C #. POO VI. Visual Studio and POO. Video 32
21:21
pildorasinformaticas
Рет қаралды 76 М.
Curso C#. Expresiones regulares II. Vídeo 71
12:21
pildorasinformaticas
Рет қаралды 21 М.
Course C #. POO III. Encapsulation and conventions. Video 29
22:14
pildorasinformaticas
Рет қаралды 102 М.
Course C #. Heritage II. Syntax and class Object. Video 42
18:10
pildorasinformaticas
Рет қаралды 63 М.
Curso C#. Genéricos I. Vídeo 60
20:26
pildorasinformaticas
Рет қаралды 46 М.
Course C #. Inheritance III. Builders and base. Video 43
16:58
pildorasinformaticas
Рет қаралды 65 М.
Curso C#. Interfaces II. Vídeo 49
18:18
pildorasinformaticas
Рет қаралды 45 М.
Curso C#. Delegados predicados y lambdas I. Vídeo 67
15:43
pildorasinformaticas
Рет қаралды 47 М.
"كان عليّ أكل بقايا الطعام قبل هذا اليوم 🥹"
00:40
Holly Wolly Bow Arabic
Рет қаралды 14 МЛН