Bienvenido al Curso

1

Algoritmos y Estructuras de Datos: Curso Básico

Introducción a los algoritmos

2

Cómo Funcionan las Computadoras y el Sistema Binario

3

Introducción a Lenguajes de Programación: Bajo y Alto Nivel

4

Estructuras de Datos para Rutas Más Cortas en Mapas

5

Algoritmo de Dijkstra para encontrar la ruta más corta

6

Metodología para Resolver Algoritmos Paso a Paso

7

Variables y Tipos de Datos en Programación

8

Creación de Tipos de Datos Personalizados en C

9

Configuración de Ubuntu en Windows 10 para C/C++

10

Implementación de User Defined Data Type en C: Estructuras paso a paso

11

Tipos de Datos Abstractos y Estructuras de Datos en Programación

12

Tipos Abstractos de Datos: Lista, Pila, Cola y Diccionario

13

Tipos Abstractos de Datos: Listas, Pilas y Colas

14

Clases y objetos

15

Colas y estructuras de datos: gestión de pedidos en restaurante

16

Implementación de Queues con Arrays en Visual Studio Code

17

Implementación de Abstract Data Type en C: Función enqueue

18

Implementación de la función dequeue en estructuras de datos en C

19

Implementación de Colas en C: Declaración y Uso de Funciones Básicas

Algoritmos de ordenamiento

20

Algoritmos de Ordenamiento: Conceptos y Aplicaciones Básicas

21

Funcionamiento del Algoritmo de Ordenamiento Burbuja

22

Implementación de Bubble Sort en C paso a paso

23

Implementación de Bubble Sort en C y función de impresión

24

Ordenamiento por Inserción en C: Algoritmo y Ejemplo Práctico

25

Algoritmos de Ordenamiento Descendente: Implementación Práctica

Recursividad

26

Recursividad en Programación: Entendiendo el Factorial

27

Factorial Recursivo en C: Implementación y Ejemplo

28

Inversión de cadenas con recursividad en Java

29

Recursividad en Python: Arte con Turtle y Funciones Recursivas

Divide and conquer y programación dinámica

30

Diseño y análisis de algoritmos: Divide y vencerás

31

Introducción a Programación Dinámica y Quicksort

32

Ordenamiento de Arrays con MergeSort en C

33

Algoritmos de Ordenamiento de Datos de Mayor a Menor

34

Algoritmo Quicksort en Python: Implementación y Funcionamiento

35

Ordenamiento Quick Sort en Python paso a paso

Algoritmos 'Greedy'

36

Algoritmos Voraces: Principios y Aplicaciones Prácticas

37

Implementación de Algoritmo Greedy para Cambio de Monedas

38

Cambio de Monedas en C++: Implementación y Ejecución

Grafos y árboles

39

Introducción a Árboles y Grafos: Estructuras de Datos Básicas

40

Estructura de Datos: Árboles y sus Componentes Básicos

¿Cómo comparar Algoritmos?

41

Comparación de Algoritmos: Complejidad y Ritmo de Crecimiento

¿Qué sigue?

42

Resolución de Problemas Básicos con Algoritmos y Estructuras de Datos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Clases y objetos

14/42
Recursos

Aportes 75

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

CLASES Y OBJETOS
Con la programación orientada a objetos podemos hacer una abstracción de cualquier cosa que queramos crear, por ejemplo, un vídeo juego de fútbol, y esta se llamara CLASE la cual se compone de dos cosas: ATRIBUTOS Y MÉTODOS.
ATRIBUTOS: son todas las propiedades que corresponden al jugador
MÉTODOS: son todas las acciones que tiene que hacer el jugador
QUE ES UN OBJETO: es la base de la programación orientada a objetos, los objetos son las instancias de la clase, eso quiere decir que la clase será el molde del objeto, o sea que con la clase que es el molde del jugador, podemos crear muchos jugadores diferentes.
HERENCIA: esto nos ayudara a crear nuevas clases a partir de otra clase, las clases pueden tener características parecidas entre sí.
ENCAPSULAMIENTO: puede significar esconder algo, por ejemplo, si en el vídeo juego queremos esconder la velocidad con la que corre un jugador para que los otros jugadores no puedan verla.
POLIMORFISMO: significa muchas formas. También es una base importante de la programación y lista de objetos, por ejemplo, el entrenador puede enviarle un msj a un jugador y este saldría al campo a jugar y a realizar lo que entendió del mensaje

Programación Orientada a Objetos
- Atributos: Variables
- Métodos: Funciones de una clase

Objeto: Instancia de una clase
Clase: Molde de un objeto

Herencia: Crear otra clase a partir de otra
Encapsulación: Esconder algo (variables privadas o protegidas)
Polimorfismo: Una clase puede tomar muchas formas

El curso de POO que hace la profe Anahí es de verdad pero bueniiiiiisimo, usa 4 lenguajes distintos y usa para explicar todo a Uber, de verdad muy muy recomendado.

Hace tiempo hice un tutorial sobre POO, explicando paso a paso lo pueden encontrar aqui:
https://platzi.com/tutoriales/1545-c-plus-plus/6352-que-es-la-programacion-orientada-objetos-como-entenderla-sin-morir-en-el-intento/

Class: Son abstracciones de codigo complejas, que se utilizan para definir o crear objetos, lo que quiere decir que una clase es basicamente un model donde, tendran dos caracteristicas en programacion las cuales son:


  • Atributos: Seran las caracteristicas del objeto, como por ejemplo puede ser un atributo el color de cabello de una persona, su nombre, edad, peso.

  • Metodos: Los metodos seran las acciones que este objeto puede realizar como por ejemplo, pensar, caminar, escribir, reir.


Objeto: Un objeto en programacion lo podemos definir como en la vida real por ejemplo nuestro telefono es un objeto que tiene atributos, los cuales son su marca, color, tamaño, etc etc, y sus metodos son, llamar, acceso a internet, camara, etc etc…


Resumen: Entonces teniendo una clase de telefonos, podemos crear distintos telefonos que queramos, pero sus atributos y metodos pueden actuar de formas distintas para de esta manera diferenciarlos, como por ejemplo una marca de telefono con otra.


Herencia: Es cuando creamos nuevas clases apartir de otras, como por ejemplo tenemos una clase para crear magos, ahora podemos agarrar esa misma clase y crear otra apartir de esta para crear priest, con esto vamos a tener los mismos atributos y metodos y obviamente pasamos a editarlos para hacer referencia a los priest pero lo importante es que con esto estaremos haciendo herencia entre las clases.


Encapsulamiento: Es un paradigma de la programacion donde ocultamos parametros que no queremos mostrarle a otras personas como por ejemplo, pueden ser stats ocultos de nuestro personaje o puede ser la velocidad de movimiento que tiene cada personaje cuanto puede correr entre otras cosas.


Polimorfismo: Significa trabajar con las mismas clases creadas anteriormente de las herencias pero esta vez cambiarle las acciones, puede ser por ejemplo crear una clasa mago y de ella hacer una herencia para crear una clase mago de fuego, en ella vamos a modificar los metodos haciendo sobre-escritura de metodo mejor conocido como polimorfismo.

Ann es capaz de resumir un semestro en 3 minutos 😮

Polimorfismo: Significa trabajar con las mismas clases creadas anteriormente de las herencias pero esta vez cambiarle las acciones, puede ser por ejemplo crear una clasa mago y de ella hacer una herencia para crear una clase mago de fuego, en ella vamos a modificar los metodos haciendo sobre-escritura de metodo mejor conocido como polimorfismo.

La explicación de @anncode de clases y objetos, nos dejan ganas de aprender todos los lenguajes de programación. y tu cuantos lenguajes de programación haz aprendido?

explicación corta y muy bien explicada el ejemplo ayuda a entener

vamos con toda… me encanta anai

Genial… Que buena explicación!

excelente ilustración para definir el concepto de la poo.

este tipo de explicación realmente ayuda a unificar conceptos y entender la forma de aplicarlos.

me gusta mucho como explica anahi, es muy facil entenderle.

una fomra muy facil de entender clases

Me enamoré 😃

super claro en pocos segundos

Genial!
Retomé varios conceptos.

Clases como estas son muy fáciles de entender. Muchas Gracias.

siento que entiendo pero , aun no practico , comopodria practicar y aprender al mismo tiempo si entender mucho ayuda . algun juego , ejercicio , video , algo ?

Nunca mejor explicado

Esto explica porque los programadores aman los RPGs como WoW o LoL. Todo se trata de clases con atributos que los definen.

No se sabe mucho pero la POO es una aplicacion practica del ALGEBRA LINEAL, lo mismo que hacemos al programar clases y objetos, etc, se hace en matematicas

Una explicación fantástica de POO. Muy ilustrativo.

Buen repaso del curso. Ese curso era para Java, medio se tocan otros lenguajes.

Muy buena síntesis, me gustó la explicación.

  1. Mis apuntes sobre: "Clases y objetos"
    En POO se usan Clases, se compondrá con:
    atributos: propiedades
    métodos: acciones

Objetos: Serán las instancias de la clase.
Herencia: Se crean nuevas clases a partir de otras.
Encapsulamiento: Esconder algo.
Polimorfismo: Muchas formas.

Hace tiempo redacte un artículo sobre POO (Programación Orientada a objetos), la explicación la intento realizar con pokemones, les comparto el link, espero les sea de utilidad

De POO a SOLID explicado con Pokémon

php = etc

Tremenda clase en solo 3 minutos! más clara no podría ser.

  • Las clases de componen de atributos o propiedades y métodos o acciones.
  • Un objeto es la instancia de una clase. La clase es como el molde de un objeto.
  • La herencia nos permite crear nuevas clases a partir de otras.
  • Encapsulamiento, esconder un propiedad de una clase.
  • Polimorfismo es que un método puede ser ejecutado muchas formas dependiendo de la clase.

Chale, me enamore de la profe xd

Me encanto su manera de explicar, lo hace muy didactco. Lo vere al finalizar este xD

Me gusto mucho la forma en que explica el encapsulamiento, creo que ya se que ejemplo dar cuando me pregunten por cosas de POO.

Saludos

Excelente explicación de clases y objetos.

Like

Excelente vídeo, es más fácil comprenderlo con animaciones!

esta genial este video

Buenos conceptos para el curso, excelente.😄

Excelentísimo video

Resume muy bien la idea general de POO

Me encantó el video. Muy grata referencia.

Muy bien resumido.

Muy buena referencia de la Programación Orientada a Objectos. Se agradece la información Extra

Excelente explicación!

Que buen explicación de estos conceptos que a veces nos resultan tan difíciles de entender

Buen video

zaz

Siempre es gratificante ver a Anahí explicando :3

Cuando se realiza la explicacion de esta forma es mucho mas clara entender este tema

Excelente explicación ♥ Motivacional.

explico to muy bien, pero igual es recomendable seguir investigando

XD

que explicación tan dinámica y explicita

Vaya que explicación más corta y concisa

Un video super claro y divertido!! @anncode has mejorado increible tu forma de enseñar! FELICIDADES!

me gusta que pongan otras dinamicas eso hacia en la universidad jajaja.

Muy bien explicado

Excelente …!

Siempre repito este vídeo para explicar en términos simples la programación orientada a objetos a mis amigos

Qué buena maestra ! Ojalá hiciera muchos más cursos.

que buen video!!!, muy ilustrativo

Dan ganas de no parar de aprender y sobre todo lo relacionado a tecnología y programación… A comernos el mundo latinos!!!

Muy buena introducción al tema

Vi en la sección de preguntas que hay algunas dudas con el polimorfismo asi que quiera compartirles este concepto Bien partamos de esta imagen, desconozco que tanto conocimiento de C tendrán pero si vienes de un lenguaje tipado sera un poco mas fácil de asimilar
![](
En C un puntero char (const char * o char []) es un string es decir contiene letras, pero que son exactamente estas letras, bueno resulta que son números por ejemplo el 97 es ‘a’, sabiendo esto el contenedor que es un (const char * o string) toma estos valores y los interpreta como esta definido su contenedor osea caracteres o letras. Bien asta qui todo claro ¿verdad? ok que pasa si les digo que el numero 1634496360 es lo mismo que decir “hola” me dirán “como eso no es posible usted esta loco no me quiera engañar” y en esencia es verdad 1634496360 es un numero entero (int) y “hola” es un string(const char * o char []) y sus tipos de datos son incompatibles pero resulta que estos datos parten de una base y esa base es el binario es decir (ceros y unos) y el numero binario de 1634496360 es exactamente igual al numero binario en “hola”
![](
En la primera imagen el char arreglo[] puede funcionar como un int o un float, es decir int toma los datos del char arreglo[] y lo interpreta como un int y el proceso es igual con el float. Entonces ¿que es el polimorfismo?
Es la interpretación de datos provenientes de la misma base. Como ultimo ejemplo para dejar claro el concepto ,Tenemos la clase armazón y esta clase contiene un motor y llantas ok, y tenemos las clases moto, carro y tractor bien, bien estas heredan de armazon por que ya saben una moto un carro y un tractor tienen llantas y motor, bien tu puedes hacer tres objetos armazon y convertirlos en una moto en un carro o un tractor ya que estas parte de la misma base, se preguntaran para que sirve esto. En el mundo real manejar muchos objetos puede ser bastante complicado para lo cual tener un solo objeto y convertirlo de acuerdo a nuestras necesidades resulta muy conveniente si tuviéramos un juego donde una humana se transforma a una hechicera y conforme avanza el juego esa hechicera ahora se convierte en una elfa y digamos que elfa y hechicera son tipos de datos incompatibles como haríamos esos cambio pues la respuesta es con polimorfismo, lo que haríamos seria partir de la clase hechicera retroceder a la clase base en este caso humana y de ahi la convertimos a elfa con la ventaja de que conservamos los datos que tenia como humana. Y en escancia eso es el polimorfismo espero les sirva ;D

Imagina que tenemos un videojuego de futbol en el que tenemos que representar a los jugadores de cada equipo, con la POO podemos hacer una abstracción de todo esto, la abstracción se llamara Clase y se compondrá de
Atributos, serán todas las propiedades que corresponderán al jugador
Métodos, todas las acciones que tendrá que hacer ese jugador
Un Objeto es la base de la POO, serán las instancias de la clase, eso quiere decir que la Clase será el molde de nuestro objeto, con las clases podemos crear tantos jugadores como nosotros queramos, cada jugador podrá tener diferentes características.
Hay un concepto muy importante también y es la Herencia, nos ayudara a crear nuevas clases a partir de otras, por ejemplo, necesitaremos crear un Árbitro y un portero.
El encapsulamiento puede significar esconder algo, en nuestro videojuego podemos esconder la velocidad a la que corre alguno de nuestros jugadores
Polimorfismo significa muchas formas, el entrenador podría darle información importante a cada jugador, y cada jugador ejecutara la información interpretada.

POO
Objeto(casa): Instancias(direccion) de la clase
Clase(planos): Abstracción de lo tangible, molde del objeto.
Tiene atributos(propiedades cualitativas) & métodos(acciones)
Herencia: Crea nuevas clases a partir de otras.
Encapsulamiento: Esconder algo.
Polimorfismo: Muchas formas

Genial!!! gracias!!

Muy buena explicación 😄

Me gusta mucho como explica ella 😄

excelente analogia

Una clase es el molde que usaremos para crear tus objetos. Las clases tienen atributos(características) y métodos (acciones).
Para que queden mas claros estos conceptos imaginemos que creamos la clase jugador, a partir de esa clase podríamos crear el objeto Messi.

Espero que les haya servido😁

Ann definitivamente es una de las mejores en Platzi, su capacidad de síntesis y de explicar conceptos muy muy complejos es impresionante.