Principios básicos de programación (OOP) para principiantes ✅ | Grant Klimaytys | Skillshare

Velocidad de reproducción


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Principios básicos de programación (OOP) para principiantes ✅

teacher avatar Grant Klimaytys, Software Engineer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

13 lecciones (1h 3min)
    • 1. Introducción y lo que aprenderás

      1:05
    • 2. ¿Qué es la programación orientada a objetos?

      3:29
    • 3. La gran idea, ¿por qué qué qué utilizan la orientación de objetos?

      2:14
    • 4. Configuración de nuestro entorno de desarrollo

      2:24
    • 5. clases y objetos explicados

      3:17
    • 6. Crear una clase y un objeto

      11:27
    • 7. Inherencia explicada a través de un ejemplo

      7:34
    • 8. Tipos de inherencia y gotchas

      5:03
    • 9. Polimorfismo explicado

      2:20
    • 10. un ejemplo del polimorfismo

      11:23
    • 11. Encapsulación explicada

      1:51
    • 12. un ejemplo de encapsulación

      5:01
    • 13. Resumen del proyecto y la farewell con la farewell

      5:35
  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

1132

Estudiantes

5

Proyectos

Acerca de esta clase

Programación orientada a objetos. ¿Qué es eso?

Esa fue mi más cuando empecé a la programación.

Me llevó muchos meses para que el concepto de programación orientado con objetos de cementado en mi mente. Ahora te ayudaré a conseguir la orientación de los objetos en menos de una hora. Evita las explicaciones innecesarias innecesarias que encuentras en Internet, ¡mientras te explicaré todo en el lenguaje PLAIN y las ilustraciones de Lego.

__________REVIEW de este COURSE_____________

Forma muy sencilla de aprender básico de OP

_________________________________________________

La programación con objetos (OOP) se utiliza en casi cada lenguaje popular que existe, ya sea que es Java, C#, Javascript o PHP. ¡También lo necesitarás para aplicaciones de iOS y de Android si las haces las mismo!

¡Así que ENROL hoy!

0f78364

Conoce a tu profesor(a)

Teacher Profile Image

Grant Klimaytys

Software Engineer

Profesor(a)

My very first software program was the artificial intelligence brain of an underwater robot in the early 2000's, still the coolest project I have ever worked on!

Since then I have designed and built websites, software and apps using all manner of languages and frameworks. Javascript, Bootstrap, .Net, Python, PHP - you name it, I've probably used it.

These days I focus on building quality cross platform apps using Xamarin studio in C#, Xcode and Swift 2 and Android Studio.

If you're considering becoming a freelance developer then I can honestly say it is the best life in the world. You will have no boss, earn an hourly rate of $60 - $150 and take holiday whenever you want!

Of course you have to learn how to make good apps first, which brings me to my second pa... Ver perfil completo

Calificaciones de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%
Archivo de reseñas

En octubre de 2018, actualizamos nuestro sistema de reseñas para mejorar la forma en que recopilamos comentarios. A continuación, se muestran las reseñas escritas antes de esa actualización.

¿Por qué unirse a Skillshare?

Toma las galardonadas clases originales de Skillshare

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Toma clases sobre la marcha con la aplicación Skillshare. Transmite o descarga para verlas en el avión, el metro o donde aprendas mejor.

Transcripciones

1. Introducción y lo que aprenderás: Hola, Mi nombre es Grant, y en este curso te voy a enseñar todo sobre programación orientada a objetos, y es algo que vas a ver en cada lenguaje moderno como Java, sea shop y Swift. Ahora bien, recuerdo cuando por primera vez estaba aprendiendo sobre la orientación a objetos, me tomó un buen seis meses a un año entender realmente los pilares fundamentales de lo que waas. Entonces entonces, cuando empecé a aprender por primera vez, no tenía idea de qué clases y objetos dónde la herencia, polimorfismo y la encapsulación. Pero todos son temas realmente sencillos. Y por eso he hecho este curso es para que tú, como principiante, puedas aprender todos estos temas en menos de una hora porque son tan simples. También uso ilustraciones de Lego porque me parece que esa es la mejor manera de conseguir algo ya que una imagen vale 1000 palabras y ¿a quién no le gusta Lego? Por lo que espero trabajar con ustedes 2. ¿Qué es la programación orientada a objetos?: bien. Hola ahí. En este tutorial, te voy a guiar por exactamente qué es la orientación de objetos en cuanto programación. Y cuando empecé a programar, me resultaba extremadamente confuso. Pero una vez que tengas la idea de ello, nunca volverás a ninguna vieja forma de pensar. Y para facilitar tu transición a cómo te explico esto, voy a estar usando piezas de Lego. Y Lego es las esperas perfectas descritas programación, porque cuando programas estás creando algo. Cuando usas Lego, estás creando algo. Entonces, ¿cómo fue la programación cuando empezó por primera vez? Bueno, programación. Cuando fue por primera vez alrededor de Waas, tenía una pieza de datos y quiero alimentarla a través de un ducto, y quiero hacer diversas operaciones en él. Entonces digamos que tenía un número. Yo lo alimentaría a través de un anuncio un poco a la vez. Y en Lego, podemos representar eso con tres trabajadores uno, dos y tres, y en el extremo izquierdo, le damos trabajo al primer trabajador. Para ello, tiene que hacer, por ejemplo, el chasis de un coche de carreras. Una vez hecho eso, lo pasa al segundo trabajador, y agrega las ruedas al auto de carreras. Y por último, se la pasan al tipo de aspecto triste de la derecha, y añade el alerón en el asiento y varios otros pedacitos del auto. Y una vez hecho eso, el auto sale de la fábrica, y ese es el final fuera de la línea de producción. Entonces en esta forma de pensar estamos pensando en que los trabajadores se estaban concentrando en esos tipos. Pero, ¿qué pasa si hacemos dos autos o tres autos o 20 autos o 20 millones de autos? Bueno, empezamos a tener un problema si queremos mantener la pista de esos autos porque nuestro programa se enfocó sólo en los trabajadores. Realmente no sabemos adónde han ido esos autos. Y en los primeros días de programación eso estuvo bien porque sólo teníamos una pieza de datos en general que queríamos analizar. Por lo que la orientación a objetos sigue programando, pero pone el foco en el elemento que se está construyendo en su lugar. Fuera del trabajo está haciendo el trabajo, por lo que la orientación a objetos es. Aquí está el chasis del auto, y uno por uno invitamos a los trabajadores a través de esta puerta a que vengan y le sumen pedacitos al auto, que lo hagan poco a poco eventualmente. Y luego al final tenemos un auto al que estamos rastreando. Realmente no nos importan los trabajadores donde se alojan y lo que hacen. Sólo nos importa el objeto final que se produce y eso es todo. Realmente hay orientación del objeto del dedo del pie. Nos estamos concentrando en lo que hacemos. 3. La gran idea, ¿por qué qué qué utilizan la orientación de objetos?: De acuerdo, Bienvenido a dar conferencia a otro corto. Y en esta, sólo vamos a ver la gran idea. ¿ Por qué la mayoría de los lenguajes modernos usan orientación a objetos? Bueno, si recuerdas de la conferencia uno, teníamos a tres chicos en una línea de trabajo y esta era la vieja manera de construir cosas en programas. Y esos tres tipos podrían hacer un auto así. Cuando cambiamos la orientación del objeto, teníamos el auto como foco. Y tenemos a los tres chicos en turno, creando los bits en el auto. Ahora bien, si volvemos a la forma realmente antigua de hacer las cosas, ¿Y si quisiera cambiar algo en ese auto? ¿ Y si quisiera ponerle dos asientos y un alerón mucho más grande? Bueno, tendría que entrenar a algunos chicos nuevos e insertarlos en esta pequeña línea de trabajo, y eso sería un problema, porque eso significaría escribir más código en nuestro programa. No necesariamente queremos hacer eso. Y, por supuesto, como siempre, esa no es toda la verdad. Hay formas de hacerlo, pero es mucho, mucho más sencillo bajar por una ruta orientada a objetos. Entonces cuando empezamos a enfocarnos en el objeto. Se puede cambiar a los chicos a medida que entran por la puerta encendida. Cada tipo es ahora una unidad independiente, y le puede hacer cosas diferentes al auto para que podamos producir un auto así en su lugar. Y la Orientación del objeto es así, tan poderosa principalmente porque fuera de esta razón, podemos hacer cosas con los objetos del dedo del pie usando pequeños bits de código. Y no necesariamente tenemos que preocuparnos por el orden del código, dónde se almacenan los códigos o cómo el código hace su trabajo. Y en la siguiente lección, vamos a instalar un poco de software de programación llamado Mono Develop que nos permite desarrollar en Mac, PC o Lennox y ejecutar todas esas aplicaciones. Plataforma cruzada. Entonces únete a mí. 4. Configuración de nuestro entorno de desarrollo: De acuerdo, sigamos adelante y configuremos nuestro entorno de desarrollo, y vamos a usar el muy popular mono develop. Y este es un puerto de código abierto fuera del marco dot net, creo, y se ejecuta en Windows OS X en Linux. Ahora. Actualmente, sé de esto porque uso lo que es un producto llamado Samir en y Xamarin me permite escribir APS multiplataforma para android IOS Windows, teléfono Mac windows, etcétera. Aquí arriba dice que puedes descargar Xamarin studio, que es un entorno de desarrollo que te permite usar mono desarrollar, y puedes usarlo gratis siempre y cuando no quieras crear yo o Android APS. Hago un curso separado sobre la creación de IOS y Android APS. Entonces si quieres aprender eso, entonces adelante y mira ese curso más adelante. Entonces por ahora, ven a mono desarrollado dot com slash descargar en hit descargar Samrin studio. Y una vez que hayas hecho eso, ejecútalo y comprobará todo por ti. Y una vez que eso esté completo, solo arrastra xamarin studio a las aplicaciones y se instalará. De acuerdo, será muy similar en Windows. Simplemente tendrás que pasar por un proceso de instalación. Alternativamente, también puedes seguir los tutoriales usando el estudio visual de Microsoft, y obviamente esto solo se va a ejecutar en Windows y puedes descargarlo desde visual studio dot com. Esto también es completamente gratuito para desarrolladores individuales. Y a medida que pasemos por los diversos ejemplos de este curso, el flujo de trabajo va a ser extremadamente similar entre las dos plataformas. Por lo que realmente no importa cuál tengas. Si ya tienes uno, entonces simplemente usa el que sí tienes. De acuerdo, ahora que ya tienes todo instalado, espero verte en la siguiente lección cuando vamos a discutir clases y objetos que son el núcleo fundamental fuera de la orientación de objetos. Entonces únete a mí. 5. clases y objetos explicados: bien. Durante tu carrera de programación, te vas a encontrar clases y objetos en. Son casi uno en la misma cosa, y por eso pueden ser muy confusos para la gente. Pero si lo pongo de manera muy simple una vez más, en términos de Lego, una clase es simplemente un plano. Por lo que una clase en Lego sería un manual de instrucciones por sí mismo. No hace nada intrínsecamente útil. Pero una vez que tú. En cambio, se comió esa clase. Una vez que lo utilices para crear algo, se te ocurrirá un objeto al final. Por lo que una clase es simplemente un blueprint que puede crear un objeto. Eso no son todas las clases. Una clase también puede tener cosas dentro. Llamó a métodos que permiten al objeto hacer cosas. Entonces en esta barredora minera que tenemos aquí arriba, si quisiera rotar estos brazos aquí cuando estoy haciendo mi barrido mental, tendría un método dentro de mi clase que me permita rotar que probablemente lo llamaría rotar o algo así. También tendría un método que me permita mover mis pistas, un método que enciende mis luces en el frente, un método que baja y levanta mi barredora mente y también en la clase tenemos lo que se llaman propiedades. Por lo que en la clase, las propiedades dirían Estos ladrillos son amarillos. Este descanso es negro, estos son azules, por lo que se puede pensar en una clase como un manual de instrucciones realmente, realmente avanzado, una especie de manual de instrucciones con un cerebro primitivo. Por lo que el manual de instrucciones te muestra cómo construir algo. Pero también te permite rotar cosas, mover cosas, hacer lo que quieras con objeto que has creado Now. La otra diferencia entre una clase sobre un objeto es que en general, una clase no cambia. Los planos siguen siendo los mismos, y sólo hay una clase para un objeto. No podemos tener dos que se llamen los mismos objetos. Por otro lado, podemos tener cientos de miles fuera de esos si nos gusta, y más adelante en tu carrera de programación, empezarás a aprender a manejar estos objetos y tener mucho cuidado con algo llamado memoria fugas. Pero ese es un tema avanzado, y eso lo cubriremos más adelante. Entonces en la próxima conferencia, vamos a seguir adelante y crear una clase. Andi en Stan. Ella comió en objeto, que es la terminología oficial para construir un objeto. Y lo vamos a hacer en nuestro entorno de desarrollo. Entonces nos vemos. 6. Crear una clase y un objeto: De acuerdo, vamos a crear nuestra primera clase y objeto. Abramos xamarin studio. Una vez que eso esté encendido, sube aquí a una nueva solución o corrompe la parte superior y haz clic en archivo Nueva solución. Y se te va a llegar con una selección de plantillas para tu proyecto. Quiero que ignores por ahora todos estos proyectos basados en aplicaciones que solo está disponible en la versión de pago de Hammerin y no vamos a mirar eso. En cambio, estamos bajando a otro y vamos a hacer clic en dot net y tenemos un montón de proyectos aquí. Una biblioteca de consola vacía, etcétera, etcétera. Vamos a ejecutar un proyecto de consola porque un proyecto de consola nos permite simplemente poner texto en una ventana de consola, que es como su ventana de comando de aceite de ventana terminal. Es un click siguiente en eso y vamos a llamar a esto. No lo sé. Llamemos a esta bulldozer, no toro Doc. Señor, Bulldozer. Ahí vamos y lo almacenamos donde quieras y haz clic en crear y Zaman creará todos los archivos y la estructura de carpetas que necesitas para el proyecto. Y así al minuto que tiene. Si miras en el lado izquierdo, tres carpetas hacen referencia a las propiedades de los paquetes. No nos preocuparemos por eso por ahora. Y un archivo llamado Programa Don't CS Si nos acercamos al lado derecho en la ventana, notaremos que ya ha puesto algo llamado clase aquí para nosotros. Ahora no vamos. Teoh. Mira eso por ahora, Pero solo ten en cuenta que los lenguajes orientados a objetos van a usar mucho esta clase de palabras clave. Una clase interna. Tenemos un método que se llama Main, y dentro de este método simplemente va a escribir Hello World a la consola. Entonces si llegas a la esquina superior izquierda y te pegas a jugar en eso, nos va a abrir una consola aquí y una vez que la abra, tipea. Hola Mundo presiona cualquier tecla para continuar, y dice que debido a que el programa ha terminado de ejecutarse, así que presionamos enter y dice, he guardado tu sesión. Ahora si volvía a Xamarin Studio y le dijera hola, Marte en su lugar y luego corrí que vendría y dijera: Oh, Oh, hola, Marte para que veas lo que está haciendo. Esta línea derecha de punto de consola simplemente está fuera poniendo texto a nuestra consola. De acuerdo, vamos a crear una clase, y nuestra clase va a ser el proyecto para crear una nueva bulldozer. Y para ello, vamos a tipear clase pública. Ah, Dozo, y te darás cuenta. He puesto una D mayúscula aquí, y esta bulldozer de aquí arriba tiene una D pequeña, y sólo vamos a evitar enfrentamientos. No habría ningún choque si le pusiéramos el mismo nombre, pero en C sharp o cualquier lenguaje orientado a objetos para ese caso, siempre quieres nombrar tus cosas ligeramente diferente si puedes, o completamente diferente, que sería aún mejor. Y dentro de nuestra bulldozer de clase pública, vamos a poner una prensa de soporte rizado entrar un par de veces y otro soporte rizado. Ahora esto ha definido un plano. Por el momento, el plano no hace nada porque no hemos escrito nada. Entonces pongamos algunas propiedades en bulldozer. En primer lugar, definamos un color. Entonces digamos color de cadena pública y luego abrimos. Los corchetes rizados se establecen y se cierran los corchetes rizados, y eso simplemente significa que todo lo que utiliza este blueprint puede usar esta propiedad llamada color. Vamos a establecer otra propiedad. Digamos que suspiros de cadena pública, y vamos a escribir esto como ser enviados de nuevo. De acuerdo, entonces tenemos un plano bulldozer y el plano nos permite especificar el color y el tamaño de nuestra excavadora. Entonces esa es nuestra clase escrita, pero en realidad no hemos creado todavía son bulldozer. Todavía sólo tenemos nuestro plan. Entonces para crearlo, vamos a subir aquí a este método principal Y antes de consola esa línea correcta, vamos a decir var sí. Eso es igual a nuevo bulldozer. Y hay que tener mucho cuidado aquí. Tienes que elegir el que tiene una D mayúscula aquí, como así pon tus corchetes y semi coda. Por lo que esta variable del lado izquierdo ha creado ahora una nueva excavadora utilizando este blueprint . Y si queremos asignar algunos colores o tamaños a ese topador, entonces podemos decir que el color de punto dozer es igual a dos. Llamemos a las cotizaciones de cierre 1er 1 amarillas, semi colon. Vamos a darle un tamaño y digamos que el dozer no suspiros es igual a muchos semi colon. Y luego en nuestra línea derecha punto cónsul, vamos a despejar este Hola Mars y vamos a decir quiero que me muestres lo siguiente que hace Seibu, uh, es cerrar cotizaciones y luego derecha más dozer. Darks color como So Guarda eso y vamos a ejecutarlo. Y una vez que se ejecuta, tenemos esto. Da salida a nuestra consola y dice, Tu bulldozer es amarilla. Entonces solo para resumir, esta es una clase. Es el plano. No hace nada por sí mismo. Hasta que instancia, ella se comió esa clase y vas a usar la palabra en Stan. Ella comió mucho en tu programa en Corea, y una vez que estás en Stan, ella lo odiaba. Has hecho una copia a partir de ese blueprint, y puedes asignar las diversas propiedades a tu topadora. Y solo te voy a mostrar por qué la orientación a objetos es tan buena. Si quisiera crear otro topador, sólo podría salvar nuestros dozer . A dos igual a nuevo bulldozer así, y puedo darle a éste un punto topador Color igual a leer, y podría darle un tamaño. El tamaño de punto topador es igual a grande, pero notarás que estaban haciendo algo aquí, que es a saber, estamos repitiendo código. Si quería crear. 100 de estos sí es que tengo que escribir hace un color oscuro 100 veces, lo cual sería muy, muy molesto. Pero lo que podemos hacer en su lugar es usar lo que se llama constructor en un constructor es algo que podemos colocar en nuestra clase y típicamente reemplazarlo en la parte superior de nuestra clase. Y a esto lo llamamos bulldozer público y tiene el mismo nombre que la clase. Por lo que C Sharp sabe que este es nuestro constructor y si abrimos nuestro soporte, podemos teclear. El primer constructor que quiero que me des es el color de subrayado. El 2do 1 que quiero que me des es subrayado suspiros abrir corsé rizado y luego cerrar corsé rizado . Entonces dentro de este constructor, vamos a decir esto que es una palabra clave especial que se refiere a esta clase. Y vamos a decir que este color de punto es igual al color de subrayado y vamos a hacer lo mismo con el tamaño es igual al tamaño de subrayado. Entonces ahora cuando se llame a este método, va a asignar este color a este color aquí abajo y lo mismo con el tamaño aquí. Y todo eso significa que ahora podemos deshacernos de estas líneas aquí, que son muy, muy molestas, así. Y si volvemos aquí, Dices nueva bulldozer corchetes abiertos. Ahora nos pide color y tamaño. Entonces voy a decir coma amarilla y muchos como así y vamos a llegar a hacer lo mismo para hace también. Entonces diremos rojo y muesca así Y así puedes ver ya cortamos la mitad de nuestro código en este método principal. Y así si queremos correr que podemos decir bulldoze de uno es hace un color oscuro y luego podemos escribir una nueva línea y decir Bulldozer a es hace un color de dos puntos. Y si corremos eso tenemos una topadora. Uno es bulldozer amarillo a es rojo, por lo que más o menos resume clases y objetos. Y hemos destapado una cosa extra para ti, y ese es el constructor dentro de una clase. Entonces un constructor es solo un método que toma un montón de información que quieres poner dentro de tu objeto, que vas a construir en la siguiente lección. Vamos a cubrir un nuevo tema, que es la herencia y la herencia está estrechamente ligada a esta idea, fuera de objetos y clases. Entonces únete a mí entonces 7. Inherencia explicada a través de un ejemplo: De acuerdo, chicos, pasemos al siguiente tema en orientación a objetos. Y eso es herencia. En la última conferencia, cubrí brevemente que realmente no queremos reescribir código. Cada vez que hacemos algo en un programa, es realmente ineficiente. Y nos pondremos muy molesto muy rápido para ti como el programador. Entonces para ayudarte a entender este concepto de herencia que nos permite escribir menos. Aquí tengo tres objetos Lego. Tengo un hombre, tengo un carro, y tengo esta cosa extraña alienígena que totalmente no me acabo de maquillar ahora mismo. Y te voy a preguntar ¿cuál es la similitud entre estas tres cosas? Y no es obvio al principio porque esto es sólo una imagen fija. Pero los tres pies, las tres de estas cosas se mueven. Todos se mueven a través del espacio tridimensional. Entonces si venimos a Samrin sobre lo que vamos a hacer es borrar todo en esta clase principal aquí, baje a nuestra bulldoze la clase y vamos a cambiar este nombre de clase también, hombre. Y entonces tenemos que cambiar este nombre público también, hombre, hombre, y eliminar a este constructor aquí. Quita esta línea aquí y tenemos que darle al hombre algunas propiedades. Entonces le vamos a dar una propiedad que se llama Bull y Booleano sólo significa verdadero o falso. Sólo tiene dos valores que puede ser. Y este valor para el bullying va a ser movimientos, por lo que nos permite definir Si un hombre puede moverse o no moverse, le vamos a dar algunas otras cosas, como un nombre de cuerda. Y tal vez le vamos a dar un color como tan correcto si queremos entonces definir un carrito, podemos escribir clase pública, cortar público. No me puede gustar así y entonces tenemos que darle al carrito algunas propiedades. Entonces voy a copiar algunas de estas líneas aquí y queremos movimientos, eso es seguro. El carrito no tendrá nombre. A lo mejor lo llamaremos fabricante. Y por último, el carro tendrá un color. Y cerremos esa clase sin corchetes rizados. Entonces copie eso y definamos a nuestro alienígena. Entonces diremos alienígenas y son extraterrestres. Queremos definir si puede moverse o no. Eso está bien. No creo que tengan mis nuevas fábricas, pero no podemos decir con certeza. Entonces diremos planetas de los que viene. Y finalmente diremos color. A pesar de que es multicolor, su color principal realmente es este color amarillento aquí. De acuerdo, ahora podemos ver si queremos crear un hombre nuevo salvaríamos Nuestro hombre iguala a hombres nuevos como así Y haríamos lo mismo con carro y con Alien, y eso estaría absolutamente bien. Entonces decimos carta lejana igual a carro nuevo y salvamos a nuestro alienígena igual a nuevo alienígena como So Ahora tenemos un hombre, un carro sobre un alienígena que se está produciendo a partir de nuestros planos aquí. Pero el águila mirada entre ustedes se habrá dado cuenta. He puesto movimientos y color en cada uno. Y de nuevo, estamos escribiendo demasiado código. Entonces aquí es donde va a entrar la herencia. Lo primero que tenemos que hacer para usar la herencia es crear una nueva clase. Hagámoslo en la parte superior aquí. Entonces diremos clase pública y tenemos que dar esta clase y nombre que tiene sentido en términos de movimientos y color, todo tiene sentido en términos de estos objetos. Entonces tal vez llamaremos a este objeto de clase que se mueve y tiene color. Ahora, eso es un poco para presumir. Y si pasaras por tu programa más tarde, tendrías que parar y mirar eso por un tiempo para entender qué es. Pero en mi mundo, siempre es mucho mejor ser verboso que no. Ahora que ya he dicho eso, vamos a acortar esto a sólo objeto general. Y por supuesto, puedes llamarlo como quieras, Pero tiene que tener sentido para tu programa en particular que es abrir nuestros corchetes y cerrar nuestros corchetes. Y por supuesto, necesitamos un constructor público objeto general. Y no voy a meter nada ahí por ahora porque lo cubrimos previamente. Entonces tenemos que darle a éste algunas propiedades, y vamos a darle todas las propiedades comunes que tienen las clases. Entonces es probable que el 1er 1 copie movimientos, y voy a copiar color como señor, Entonces lo que voy a hacer es bajar a estas tres clases y voy a borrar movimientos y borrar color, y voy a hacer esa vieja manera abajo en todos ellos. Entonces ahora estas tres clases tienen tres nombres diferentes Planet manufacturing name y eso es genial. No hemos repetido ningún código, y aquí tenemos estos movimientos en color, y de alguna manera tenemos que transferir las propiedades de este objeto general al hombre, al carro y al extranjero. El modo en que hacemos eso es a través de la herencia. Y si haces click en el espacio hombre Colon, puedes escribir objeto general. Y lo que esto significa es que si se crea un hombre primero, se va a mirar objeto general y robar todas las propiedades de los objetos generales y ponerlo dentro del hombre. Y donde quiera que escriba eso, ese va a ser el caso así. Entonces si subo a mi principal aquí arriba y digamos que quiero darle un color a mi alienígena, diría punto alienígena y te darás cuenta de que te da la opción para movimientos de color y planeta , aunque en Alien no está escrito específicamente dentro la clase. Lo que se hace es tomar esas propiedades del objeto general que cubre prácticamente la herencia. Pero había unos cuantos gouaches que voy a cubrir en la próxima conferencia sobre herencia, Así que únete a mí entonces 8. Tipos de inherencia y gotchas: De acuerdo, veamos las pocas formas en que podemos heredar porque no necesariamente tenemos que heredar de un objeto que podemos heredar de múltiples objetos. Por lo que acaba de llegar a esta clase principal cornalina de primera y élite para cumplir con nuestro programa y guardarlo. Ahora tenemos un objeto general y todo. El hombre carton alien. Esos tres tipos todos heredan del objeto general para que puedan acceder a movimientos en color. ¿ Y si tuviera una clase llamada mujer? Bueno, podría decir pública más mujer, y éste tendría nombre de cadena. Tendríamos un get set como So Allá vamos. No olvidemos a nuestro constructor como So Okay, ahora de nuevo, ya deberías saber que tenemos que heredar del objeto general y tenemos una mujer. Pero tenemos un problema. Tenemos un nombre en el hombre y tenemos un nombre en las mujeres. Y por supuesto, no queremos seguir escribiendo nombre. Entonces subamos aquí y creemos otra clase llamada Human excepto un humano interno. Podemos decir humano público. Sé que no estamos usando el constructor por ahora, pero es una buena práctica ponerlo dentro y dentro de esto, podemos decir que nombre de cadena pública se envían. Excepto así ahora tenemos un humano y podemos usar esa clase para que el hombre y la mujer hereden . Por lo que podemos eliminar este nombre aquí así, y algunos idiomas te permitirán heredar de dos clases. Tan humana coma humana. Guardemos eso y lo ejecutemos. Y tenemos un problema. Dice que las clases de hombre punto bulldozer no pueden tener múltiples clases base. Objeto general y bulldozer punto humano Ahora, la razón de eso es que a C Sharp no le gusta heredar de dos clases y hay una idea sencilla detrás de eso. Y es decir, si tuviera una propiedad de mudanzas dentro de aquí eso se pondría muy, muy confusa. Voy a deshacer eso. Algunos lenguajes sí lo permiten, pero ten mucho, mucho cuidado cuando lo encuentres. La forma correcta de hacerlo es crear una jerarquía de herencia. Entonces lo que vamos a hacer es quitarle a este humano aquí como así que sube a nuestra clase pública de humano y vamos a usar eso para heredar de objeto general. Por lo que ahora humano va a tomar las propiedades de objeto general y Si bajamos al hombre y a la mujer y reemplazamos eso por humano, ahora va a heredar todas esas propiedades. Entonces si se quiere, forma una especie de árbol. Sólo te mostraré ese árbol pictorialmente aquí. Si tomo esta clase humana y la escribo y tomo clases de hombre y mujer y los golpeo dos veces. En primer lugar, estamos obteniendo un objeto general a partir de movimientos en color. Entonces estamos consiguiendo un objeto humano que tiene nombre. Y entonces estamos haciendo un hombre y una mujer fuera de eso aquí abajo. Por otro lado, carro y alienígena sólo heredan esta cosa que es en objeto general. Entonces eso es herencia jerárquica. Y es algo que vas a usar mucho. Entonces cada vez que veas código repetido, solo ten en cuenta que deberías estar usando la herencia en la siguiente sección. Vamos a cubrir otro concepto de orientación a objetos llamado polimorfismo. Por lo que espero verte entonces 9. Polimorfismo explicado: De acuerdo, pasemos a otro tema muy, muy importante en la orientación a objetos. Y eso es polimorfismo y polimorfismo es una gran palabra de fantasía que confunde a mucha gente . Y en la base de ello, polimorfismo se explica mejor una vez más con Lego. Entonces digamos que aquí tenemos a trabajadores de fábrica. Estos dos tipos tres chico más joven sobre el tipo no plusvalía y trabajan en una fábrica. Y en esta fábrica, pequeñas cosas salen por la puerta sobre las que tienen que hacer una acción. Y esperan pequeñas cosas azules porque fueron entrenados dedo del pie solo funcionan con cosas azules . Entonces, ¿qué pasa si las cosas no azules entran por la puerta? Entonces aquí tenemos la puerta otra vez y tenemos las rojas y los chicos no saben usar sus herramientas en las rojas. Se caen. Y por supuesto, en realidad sabríamos qué hacer. ¿ Los humanos son porque solo somos computadoras realmente avanzadas? Pero en el mundo de la informática, si le das un objeto a un trabajador y él no está entrenado y no sabe qué hacer con él , y no es el tipo de objeto que espera, , todo se va a estrellar y nada va del dedo del pie trabajo. Entonces lo que tienes que hacer es conseguir tu original a los trabajadores, ponerlos a través de otro programa de capacitación y decirles que esperen dos tipos de objetos. Y si consigues un objeto, quiero que hagas una cosa. Si obtienes otro tipo de objeto, quiero que hagas una cosa diferente. Y así ahora cuando los tenemos, están perfectamente contentos y no se han estrellado. Y eso es básicamente lo que es el polimorfismo. Es tener efectivamente un trabajador y darle diferentes tipos de objetos y luego poder hacer cosas específicas con esos objetos. Entonces en la próxima conferencia, vamos a ver cómo eso se aplica realmente en nuestro programa C sharp, Así que únete a mí entonces. 10. un ejemplo del polimorfismo: De acuerdo, hagamos un poco de morfación de Polly en nuestro programa. Ven a Zaman. Y si aún tienes que abrir un programa bulldozer, eliminemos todas estas clases aquí abajo que creamos el. Eliminemos todo dentro de Main. Entonces nos quedamos con esas líneas. Ahora vamos a construir lo que se llama polimorfismo, y vamos a usar como ejemplo lo haría los hombres de Lego. Entonces primero tenemos que crear algunos trabajadores. Vamos a crear una clase llamada trabajador de fábrica y llaves. Y dentro de esta clase no le vamos a dar ninguna propiedad, así que no les dará nombres ni colores ni nada por el estilo. Lo que vamos a hacer es darle un constructor, que, por supuesto, es un método. Entonces diré trabajador de fábrica Andi. Dentro de este constructor, no pasaré nada. Aquí no hay argumentos dentro. Ahora digamos que queremos que este trabajador de la fábrica simplemente cuente el número de cosas que pasan por su estación. Entonces para hacer eso, le vamos a dar un método que será el conteo público de nudos y luego dentro de ahí, le vamos a dar un número que debe sumar a su cuenta. Entonces vamos a decir int que es interject, que sólo significa un número entero tan menos 10123 etcétera Y decimos número abrir corchetes rizados y cerrar corchetes rizados Andi para almacenar este número y para agregarlo, tenemos que hacer lo que se llama la variable de clase. Entonces bajemos aquí y digamos public int total get set así y luego dentro de conteo, vamos a decir si el total es igual a saber, eso significa que aún no está listo. Entonces lo vamos a poner 20 sólo para empezar y luego en el futuro Total nunca será no . Por lo que no ejecutará esta línea en la siguiente línea. Vamos a sumar nuestro total número dos. Entonces vamos a decir que total es igual al valor actual del total más número. Y entonces lo que vamos a hacer es que lo vamos a escribir en nuestra consola para que realmente podamos ver esto sucediendo línea derecha punto total a cadena, y eso simplemente lo convierte en texto para nosotros. Aquí vamos. Por lo que cada vez que se ejecuta este conteo, se suma uno a este total. Entonces sabemos principal, Vamos a subir aquí presiona tab. Entonces debido a que hemos creado una clase como nuestro blueprint, ahora necesitamos crear un trabajador ya que el objeto es igual a nuevo trabajador de fábrica así Y vamos a darle una tarea. Digamos Trabajador, no lo hagas. Y luego aquí arriba tenemos el conteo y entre paréntesis. Démosle un número para sumar. Entonces digamos cuatro en. Hagamos que lo vuelva a hacer porque le estamos pagando y tiene que hacer lo que decimos. Hazlo a las cinco y guarda eso. Y ahora corremos eso y veamos qué le pasa a nuestra consola. Y si miramos aquí, se ejecuta el programa. Se pasó por una vez y sumó cuatro y pasó de nuevo y sumó cinco, lo que da un total de nueve. Entonces está haciendo exactamente lo que esperamos. También tengo un error aquí. He dicho que si el total no es igual a ningún código inalcanzable, vamos a ignorar eso por ahora. Después de dos Sierra de mi parte. De acuerdo, lo siguiente que tenemos que hacer es mirar al polimorfismo. Entonces, ¿qué pasa si tengo en lugar de cuatro cosas, tengo 4.5 cosas bien, y no puede contar en mitades, pero hay otros tipos de variables que pueden contar mitades para nosotros. Podemos usar lo que se llama un número flotante. Entonces intentemos hacer eso. Subamos aquí y digamos, señor Worker, me gustaría que contara 4.5 así Y lo que pasa cuando presionamos play es que obtenemos un error y dice que el mejor método sobrecargado match para conteo tiene algunos en argumentos válidos. Y si haces clic en eso, dice argumento número uno no puede convertir doble expresión a tipo int. Y eso dice que este 4.5 estoy asumiendo está fuera de tipo doble. Simplemente escribiré eso para ti el doble. Si me cierro sobre él, debería darnos una punta de herramienta, pero no tiene pero no obstante, doble puede contar mitades. Pero vamos a convertir esto en un número flotante. Pongamos Unefon it 4.5 f. Vamos a correr eso Y de nuevo dice, no puedo convertir flotador a tipo int, y eso es porque está viniendo aquí abajo a contar, y espera un interject. Y si volvemos a nuestra analogía de Lego, aquí es donde lo dimos. Un ninja sobre los trabajadores estaban perfectamente contentos aquí. Lo dimos a flote y los trabajadores lanzaron una rabieta. No saben cómo funcionan los dedos del pie con carrozas. Por lo que tenemos que capacitar a estos trabajadores para que trabajen con carrozas así como inter jizz. Entonces, vengamos aquí y arreglemos ese problema. Vamos a crear otro método llamado cuenta de vacío público. Y si recuerdas en conferencias anteriores, dije, Nunca nombres igual a tus métodos, Pero hay una excepción, y ahí es cuando vas a poner en un tipo diferente de variable, y eso es exactamente lo que vamos a hacer aquí. Entonces le vamos a poner un número flotante, como paréntesis rizadas tan abiertas y cerrar corchetes rizados. De acuerdo, entonces queremos agregar este número a nuestro total, por lo que total equivale a total más número, y eso va a conseguir este número aquí ahora, antes de continuar, hay un problema. Lo que estamos haciendo es agregar un entero y flotar, y son tipos diferentes. A pesar de que ambos son números, nuestra compilar va a tener un problema con esto. Entonces lo que tenemos que hacer es convertir todo, así que baje a nuestra variable aquí y escríbalo como flotador para luego subir a nuestro recuento aquí y lo que tenemos que hacer es correcto. Total es igual al total más número y antes número. En realidad tenemos que convertir esto a flote, que es a simple y luego poner número entre paréntesis. Y eso lo convierte en el flotador, lo que significa que entonces podemos agregar cosas y todo juega bien. Y lo último que hay que hacer en este número de flotación es la línea derecha del punto de la consola, total dark a string y eso nos dirá cuál es nuestro conteo actual. Entonces vamos a pegarle juego y ahí vamos. Ahora tenemos cuatro y nueve y un 13.5, que coincide perfectamente con lo que tenemos aquí. Entonces esto aquí este método off count float sólo es frío cada vez que algo de aquí arriba está pasado a flote. Si se pasa un entero. Entonces este cuatro y cinco, entonces se llama a este método y eso es polimorfismo. Básicamente es tener dos métodos, cada uno con un tipo de entrada diferente que te permiten hacer lo mismo para poder seguir por esta ruta y podría decir público, evitar contar y podría decir que tengo un número entero num one. Tengo un flotador número dos y tengo un doble número tres Y entonces puedo escribir algún código aquí para sumar los tres. Y puedo sumar esos al total sumar al total como así y así aquí arriba. Si dijera me gustaría que dijera el número de puntos de trabajador si pasas por encima del conteo lo pidió Lo sentimos, si borras conteo y presionas punto y luego vienes a contar atrás aquí Te dice que puedo o bien aceptar flote e interject o puedo aceptar tres números enteros a flote, un doble. Y hay algunas otras formas en que puedes implementar el polimorfismo, pero por el momento, esa es la forma central con la que te vas a encontrar en tu carrera de programación. 11. Encapsulación explicada: De acuerdo, chicos, hablemos de encapsulación. Andi, en términos de Lego en cálculo es una fábrica, una fábrica muy pequeña como la tenemos aquí. Y esta fábrica tiene una entrada aquí y nuestras partes entran ahí y la fábrica tiene una salida aquí, y nuestro producto terminado sale ahora para ti y yo como el Joe promedio, no nos importa particularmente lo que entre. Sólo nos importa lo que sale. Y si le damos a la fábrica un montón de ollas para un auto, esperamos que salga un auto por el otro extremo. No nos importa si abres la puerta y todas las partes van a Hong Kong en adelante, ordenan ahí y luego se hacen en China y luego vuelan de vuelta a EU o Reino Unido, y luego el cadáver se desmayó por esta puerta. Simplemente nos preocupamos por lo que sale. Y así tenemos aquí a nuestro hombrecito Lego. Se le cayó la parte parece y al final, se tiene un auto. Tampoco le importa lo que pase dentro de esa fábrica, y esa es la base de la encapsulación. Entonces la razón por la que usamos encapsulación es para que podamos cambiar los procesos de fábrica pero aún así tener las mismas salidas y en la programación eso es mucho más importante de lo que sería en un entorno de fábrica. Entonces en la próxima conferencia, voy a dar un ejemplo rápido de qué es la encapsulación y por qué es tan importante. 12. un ejemplo de encapsulación: Vamos a crear nuestro ejemplo de encapsulación en nuestro programa de trabajadores de fábrica. Quitemos todo este código dentro de aquí y solo dejemos la clase y el constructor ahí y luego subamos aquí y elitiremos esas líneas para simplemente dejar al trabajador igual a nuevo trabajador de fábrica. Vuelve a la clase y démosle algo a esta fábrica trabajadores algo que hacer como lo hacíamos antes. Consigamos este dedo obrero. Agrega dos números para nosotros. Hagamos eso. Vamos a hacer un método que sea público sobre este método no se va a llamar vacío Vacío simplemente significa que no estamos devolviendo nada. Vamos a llamar a este método y en números de recuento. O mejor dicho, llamemos a estos números de anuncio y decimos int aquí porque vamos a devolver algo tipo integer toe, sea que lo llame. Y si vamos a sumar números, necesitamos recibir algunos. Entonces decimos int num uno y en número dos. Abre nuestros corchetes rizados y ciérrelos. De acuerdo, Ahora tenemos que sumar esos dos números, así que vamos a ahorrar. Nuestro resultado es igual al número uno más número dos, y como vamos a devolver un entero tenemos que decirlo específicamente. Decimos devolver resultados como Así que si llegamos a nuestra principal, tenemos nuestro trabajo arriba. Vamos a decirle que agregue nuestros dos números puntos en números y digamos que quiero sumar dos y tres para mí, así. Y pongamos eso dentro de variable. Entonces ese es un resultado de barra igual a los trabajadores no agregan números para comentar. Tres. Entonces el resultado aquí será lo que sea que se devuelva aquí. Por último, escribamos eso para que podamos verlo funcionando. No escribas línea. Resultado hasta la fuerza excepto y luego corremos que tenemos, ah, consola que aparece y se suma dos y tres para nosotros en el trabajador. Está bien, eso está bien. Ahora, si volvemos aquí, podemos empezar a meternos en el interior. Agrega números para que podamos cambiar este resultado tanto como nos guste, podemos decir resultado igual resultado Plus 100. Al igual Y por supuesto, sabemos que esa es la respuesta equivocada. Entonces vamos a corregirlo y decir resultado igual resultado menos 100 para despegarlo y vamos a ejecutarlo de nuevo. Y no te sorprenderá mucho la salida porque el atuendo será el mismo que antes de cinco. Ahora, encapsulación. Si recuerdas de nuestro trabajador de la fábrica, al trabajador de la fábrica en realidad no le importa lo que pase dentro de la fábrica y volver a nuestro programa. Aquí es lo mismo. Podría haber una mil 000.000.000 líneas de código dentro de aquí, y todo aquí arriba no sabría y no le importaría ese código en eso es hermoso en programación porque si tienes un equipo de 10 personas, una de esas personas será trabajando en tu clase de trabajador de fábrica. Otra estará haciendo tu programa principal. Y mientras el tipo del programa principal espere este resultado para sumar números, el trabajador de la fábrica podría hacer lo que quiera aquí dentro. Y lo más importante, siempre que le guste hacer lo que le guste aquí dentro, y no afectará esto aquí arriba. Por lo que a veces la encapsulación también se denomina ocultación de datos, y simplemente simplifica todo el proceso de compilación para la programación. Por lo que un poco de sondear fuera de la planificación en este arranque de tu aplicación significará que ahorras mucho dolor de cabeza por el camino y podrás cambiar las cosas sin causar ningún dolor de cabeza para otras personas. De acuerdo, eso cubre encapsulación 13. Resumen del proyecto y la farewell con la farewell: De acuerdo, chicos, bienvenidos a la conferencia final de esta serie. Y en la conferencia final, te voy a poner un poco de tarea y tu tarea va a estar haciendo una línea de producción de autos . Vamos a cubrir todo lo que hemos cubierto en este curso hasta el momento. Clases, objetos, herencia, polimorfismo y encapsulación. Y lo vamos a hacer todo en este pequeño proyecto. Entonces lo primero que quiero hacer es hacer una clase de auto y debe tener las propiedades de un color y un fabricante. Hicimos algo similar antes. Entonces quiero que practiques en Stan Shih ating un objeto de esa clase. Entonces quiero que hagas del auto un objeto y me gustaría que tu. En cambio, comió con lectura de color y fabricante Toyota. Entonces vas a practicar la herencia. Entonces me gustaría que hicieras y tú clase de auto saloon que hereda de clase de auto y luego dentro de la clase de auto salón, pongas en una propiedad nueva la cual se llama número de asientos. Entonces vas a practicar tu polimorfismo. Entonces me gustaría que escribieran tres constructores diferentes para hacer lo siguiente y solo voy a copiar y pegar esto y tus tres constructores. El 1er 1 te va a permitir asignar sólo el número de asientos. El 2do 1 te va a permitir asignar el número de asientos y solo fabricante. Y el 3er 1 va a permitir asignar el número de asientos que fabricante y color. Una vez que hayas creado esos constructores, entonces vas a crear tres objetos. Ahora solo copia y pega esto en. Y aquí están sus tres objetos. El 1er 1 es que vas a crear un policía de salón con dos asientos. Entonces vas a crear un auto berlina con tres asientos en fabricante. Escucha. Y por último, vas a crear un auto berlina tres con cuatro asientos, fabricante Ford y Color Purple. Y para ello, cada uno de estos. Cuando Winston ella comió sólo debe tomar una línea dentro de su programa en. Si pudieras hacer todo lo anterior, entonces estás absolutamente preparado para la programación orientada a objetos. Entonces sólo voy a pasar por eso otra vez en imágenes. Vas a crear una clase de autos y de esa clase a la que vas En cambio, ella se comió un auto. Un objeto. Entonces vas a crear una clase de auto berlina que hereda de la clase de autos y dentro ahí agregarás una nueva propiedad llamada número de Asientos. Después escribirás tres constructores para hacer el siguiente constructor. Uno permitirá aplicar número de asientos, construidos para permitir que se aplique número de asientos y fabricante. Tres número de asientos, fabricante y color. Entonces, finalmente, vas a crear tres objetos auto saloon, un salón, auto dos y tres, todos con propiedades diferentes puestas. No he mencionado la encapsulación, que es el último tema que cubrimos. Y si recuerdas, eso es algo entra en el método, algo sale y no nos importa lo que pase entre. Pero eso está un poco cubierto implícitamente. Siempre que creamos objetos dentro de nuestro constructor, no necesariamente sabemos qué está haciendo nuestro constructor de clase. Por lo que hemos cubierto la encapsulación de esa manera. Está bien. Y si puedes hacer todo eso, lo estás haciendo muy bien. De día. Te aconsejaría que cuidaras mis nuevos cursos, que pronto vendrán, que se trata de cómo aprender, ver tienda, Java, Java, JavaScript y PHP usando juguetes Lego. Porque creo que es una manera realmente genial de aprender. Entonces si has disfrutado de este curso, por favor déjame una buena crítica. Si no lo has hecho, por favor déjame una crítica decente y dime qué no disfrutaste al respecto. Y en el futuro, haré que el curso sea pequeño en línea con lo que la gente podría esperar. Entonces sólo me deja decir gracias por escucharme, y espero que hayan aprendido algo que valga la pena.