Bienvenido al Curso

1

Introducci贸n al curso b谩sico de algoritmos y estructuras de datos

Introducci贸n a los algoritmos

2

驴Qu茅 entiende una computadora?

3

Lenguajes de programaci贸n

4

Estructuras de datos

5

驴Qu茅 es un algoritmo?

6

Metodolog铆a para la construcci贸n de un algoritmo

7

Variables y tipos de datos

8

User defined data types

9

Instalando Ubuntu Bash en Windows

10

Creando nuestro user defined data type

11

Abstract Data Types b谩sicos: Lists, Stacks, Queues

12

Explicaci贸n gr谩fica Data Types b谩sicos

13

Glosario de funciones para Abstract Data Types

14

Clases y objetos

15

Creando tu primera Queue: Arrays

16

Creando tu primera Queue: implementaci贸n.

17

Creando tu primera Queue: implementar la funci贸n enQueue

18

Creando tu primera Queue: implementar la funci贸n deQueue

19

Creando tu primera Queue: main code

Algoritmos de ordenamiento

20

Algoritmos de ordenamiento

21

Bubble sort

22

Bubble sort: implementaci贸n

23

Bubble sort: main code

24

Insertion sort

25

Desaf铆o: implementa un algoritmo de ordenamiento

Recursividad

26

Recursividad

27

La funci贸n Factorial, calculando el factorial recursivamente

28

Manejo de cadenas de caracteres

29

Arte: Generando arte recursivo

Divide and conquer y programaci贸n din谩mica

30

Divide and Conquer (divide y vencer谩s)

31

Qu茅 es la programaci贸n din谩mica (divide y vencer谩s v2.0)

32

MergeSort

33

Desaf铆o: Buscar el algortimo m谩s r谩pido de sort

34

Implementando QuickSort con Python

35

Implementando QuickSort con Python: main code

Algoritmos 'Greedy'

36

Qu茅 son los Greedy Algorithm

37

Ejercicio de programaci贸n greedy

38

Ejercio de programaci贸n greedy: main code

Grafos y 谩rboles

39

Grafos y sus aplicaciones

40

脕rboles

驴C贸mo comparar Algoritmos?

41

C贸mo comparar algoritmos y ritmo de crecimiento

驴Qu茅 sigue?

42

Cierre del curso y siguientes pasos

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?

o inicia sesi贸n.

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 鈥榓鈥, 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 鈥渉ola鈥 me dir谩n 鈥渃omo eso no es posible usted esta loco no me quiera enga帽ar鈥 y en esencia es verdad 1634496360 es un numero entero (int) y 鈥渉ola鈥 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 鈥渉ola鈥
![](
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.