CursosEmpresasBlogLiveConfPrecios

Herencia de clases y propiedades estáticas

Clase 27 de 32 • Curso de TypeScript 3

Clase anteriorSiguiente clase

Contenido del curso

Introducción a TypeScript
  • 1
    El lenguaje de programación TypeScript

    El lenguaje de programación TypeScript

    08:43
  • 2
    Instalación de herramientas para TypeScript

    Instalación de herramientas para TypeScript

    05:47
  • 3

    Instalación de herramientas en Windows

    01:05
  • 4
    Navegación y refactorización

    Navegación y refactorización

    04:37
Entorno de Desarrollo
  • 5
    El compilador de TypeScript

    El compilador de TypeScript

    08:00
  • 6
    El archivo de configuración de TypeScript

    El archivo de configuración de TypeScript

    07:22
  • 7
    Mi primer proyecto TypeScript

    Mi primer proyecto TypeScript

    05:09
Tipos en TypeScript
  • 8
    Tipado en TypeScript

    Tipado en TypeScript

    01:37
  • 9
    Number, Boolean y String

    Number, Boolean y String

    14:09
  • 10
    Any

    Any

    08:28
  • 11
    Void y never

    Void y never

    15:58
  • 12
    null y undefined

    null y undefined

    11:03
  • 13
    Object

    Object

    07:44
  • 14
    Array

    Array

    09:44
  • 15
    Tupla

    Tupla

    11:25
  • 16
    Enum

    Enum

    10:59
  • 17
    Unión de Tipos, Alias y Tipos Literales

    Unión de Tipos, Alias y Tipos Literales

    11:58
  • 18
    Aserciones de tipo

    Aserciones de tipo

    11:26
  • 19
    Funciones en TypeScript

    Funciones en TypeScript

    14:19
  • 20
    Resumen

    Resumen

    06:54
Tipos Personalizados
  • 21
    Interfaces

    Interfaces

    10:18
  • 22
    Interfaces: propiedades opcionales

    Interfaces: propiedades opcionales

    10:57
  • 23
    Extensión de interfaces

    Extensión de interfaces

    10:54
  • 24
    Clases

    Clases

    14:02
  • 25
    Clases públicas y privadas

    Clases públicas y privadas

    15:10
  • 26
    Métodos Get y Set

    Métodos Get y Set

    08:46
  • 27
    Herencia de clases y propiedades estáticas

    Herencia de clases y propiedades estáticas

    17:41
  • 28
    Resumen

    Resumen

    13:24
Módulos
  • 29
    Principios de responsabilidad única

    Principios de responsabilidad única

    15:03
  • 30
    Resolviendo módulos

    Resolviendo módulos

    10:04
  • 31
    Webpack y agrupación de Módulos

    Webpack y agrupación de Módulos

    14:02
Cierre
  • 32
    Cierre

    Cierre

    00:57
    Enrique Tecayehuatl

    Enrique Tecayehuatl

    student•
    hace 6 años

    Bueno aunque parezca cliché como todos ponen sus comentarios mi resúmen es:

    asbtract: cuando requeires que una clase no sea instanciada protected: atributo de los miembros para que puedan ser accedidos desde su propia clase y también que puedan ser solo accedidos a quienes heredan esa clase con implements(herencia) implements: herencia claseA extends claseB { ... } static: para poder acceder a métodos/propiedades de una clase sin la necesidad de la instancia(new ClaseA()) sino const a = ClaseA.propiedad

      kevin Jhordy Puscán Ortiz

      kevin Jhordy Puscán Ortiz

      student•
      hace 5 años

      En qué momento utilizó implements? implements no se debería utilzar para implementar interfaces, mas no clases?

      Juan Carlos Pinzón

      Juan Carlos Pinzón

      student•
      hace 5 años

      Compañero tu definición de implements es incorrecta, a lo que te refieres es a la herencia con extends

    Alejandro Sebastian Dubon Estrada

    Alejandro Sebastian Dubon Estrada

    student•
    hace 5 años

    Nota: Por convención los nombres de las clases siempre deben ir con inicial mayúscula.

      Jorge Cruz Perez

      Jorge Cruz Perez

      student•
      hace 5 años

      Correcto y seguir la convención UpperCamelCase

      Alan Quispe

      Alan Quispe

      student•
      hace 5 años

      Seria lo ideal pero ni los mismos que diseñan las librerías en JS a veces hacen caso de esto 😒, vengo de Java

    Jose Daniel Barría Reyes

    Jose Daniel Barría Reyes

    student•
    hace 6 años

    Herencia de clases y miembros protegidos Typescript soporta este patrón común en el mundo de la POO Implementa la habilidad de extender codigo de clases existentes a través de la herencia. Utilizamos la palabra extends para heredar Se heredan solo los atributos public o protected tenemos acceso al constructor de la clase padre super()

    class Person { protected id:number; protected name:string; constructor(id:number, name:string){ } } class Student extends Person { private active:boolean constructor(id:number, name:string, active:boolean){ super(id,name) this.active = active } }

    Clases abstractas: Las clases abstractas son la base de donde otras clases podrian derivarse. A diferencia de una interfaz, una clase abstracta puede implementar funciones para sus instancias. La palabra reservada es abstract

    abstract class myClass{}

    ++Recordar que las clases abstractas no se pueden instanciar++ Propiedades estaticas y de solo lectura Las clases por lo general definen atributos y métodos aplicables a las instancias de las mismas. A través de la palabra reservada **static ** se puede definir un miembro visible a nivel de clase Al igual que las interfaces, podemos usar la palabra reservada readonly para marcar el miembro de una clase como solo lectura

    class Person { static personQuantity: number = 0 protected readonly id: number }

    a las propiedades static se las accede a través de la clase

    console.log(Person.personQuantity)

    a las propiedades readonly no se las puede modificar

    Raul Hernández

    Raul Hernández

    student•
    hace 5 años

    Abstract, protected, extends, static, readonly

    • Abstract = cuando requieres que una clase no sea instanciada
    • Protected = Entre público y privado, para que los elementos puedan ser accedidos por la clase y subclases
    • Extends = herencia de SUPER clase a subclases, para invocar al constructor de la SUPERclase en las subclases usar super(propiedades)
    • Static = Puede acceder a métodos y propiedades de una clase sin instanciarla
    • Readonly = Indica propiedades que solo se pueden leer
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Gran resumen !

      Diego Fernando Caviedes Camaho

      Diego Fernando Caviedes Camaho

      student•
      hace 4 años

      y cuando es un método abstract?

    ELKIN YESID MORENO VELEZ

    ELKIN YESID MORENO VELEZ

    student•
    hace 5 años

    JavaScript en su definición tan dinámica, sin tipado, tan milenial y viene Microsoft con TypeScript y le pone orden a todo ese relajo......

    Hector Rubi Garcia

    Hector Rubi Garcia

    student•
    hace 5 años

    Hasta ahora que ya se como se usan las clases abstractas Se deben utilizar cuando no queremos que se creen instancias de esta clase debido a que son demasiado generales. Excelente explicación.

    Rubén Esparza

    Rubén Esparza

    student•
    hace 5 años

    Esta clase bien podría estar en un curso de OOP, impresionante clase, explicada de manera sólida, sencilla y con código.

      César Palma

      César Palma

      student•
      hace 4 años

      ahora ya hay 2 cursos de poo en javascript

      Jimmy Buriticá Londoño

      Jimmy Buriticá Londoño

      student•
      hace 4 años

      Tienes toda la razón, tenía un poco de enredos en mi cabeza con este tema de la herencia y en una sola clase lo entendí.

    silvana murgo

    silvana murgo

    student•
    hace 5 años
    export {}; enum PhotoOrientation { Landscape, Portrait, Square, Panorama } // SUPERclase abstract class Item { protected readonly _id: number; protected _title: string; constructor(id: number, title: string) { this._id = id; this._title = title; } get id() { return this._id; } // set id(id: number) { // this._id = id; // } get title() { return this._title; } set title(title: string) { this._title = title; } } // get y set class Picture extends Item{ public static photoOrientation = PhotoOrientation; // Propiedades private _orientation: PhotoOrientation; public constructor(id: number, title: string, orientation: PhotoOrientation) { super(id, title); this.orientation = orientation; } get orientation() { return this._orientation; } set orientation(o: PhotoOrientation) { this._orientation = o; } // Comportamiento public toString() { return `[id: ${this.id}, title: ${this.title}, orientation: ${this.orientation}]`; } } class Album extends Item{ private pictures: Picture[]; public constructor(id: number, title: string) { super(id, title);// constructor de SUPER clase this.pictures = []; } public addPicture(picture: Picture) { this.pictures.push(picture); } } const album: Album = new Album(1, 'Personal Pictures'); const picture: Picture = new Picture(1, 'Platzi session', PhotoOrientation.Square); album.addPicture(picture); console.log('album', album); // Accediendo a los miembros publicos console.log('picture.id', picture.id); // get id() // picture.id = 100; // private, set id(100); picture.title = 'Another title'; // private album.title = 'Personal Activities'; //private console.log('album', album); // const item = new Item(1, 'Test title'); // console.log('item', item); // Probar el miembro estatico console.log('PhotoOrientation', Picture.photoOrientation.Landscape);
    Camilo

    Camilo

    student•
    hace 5 años

    Como saber cuando usar Interfaces y cuando usar Clase???

      Daniel Meza

      Daniel Meza

      student•
      hace 5 años

      Utiliza interfaces siempre. Cuando la complejidad de lo que estás haciendo te requiera usar modelos con clases entonces sí, usa clases 🔥

      Cristian Blandón

      Cristian Blandón

      student•
      hace 5 años

      No nos vayamos a los extremos... Las interfaces se crearon para alojar la shape (forma) de objetos puntuales; decir que siempre se deben utilizar interfaces es como decir que siempre se deben utilizar objetos literales.
      Las clases no son propias de TypeScript, son propias de JavaScript, e incluso, por su funcionamiento "under the hood" (por detrás), pueden optimizar el uso de memoria y rendimiento.
      Las interfaces se deben utilizar siempre como la forma de "tipar" un objeto en TypeScript, nunca llegarán a reemplazar una clase (ni sencilla ni compleja). Incluso, una instancia de una clase se puede tipar a través de una interface.
      Siempre que vayas a hacer Programación orientada a objetos, y tengas varios "moldes" (clases) de los cuales se vayan a instanciar constantemente objetos, usa Clases, tanto en TypeScript como en JavaScript.

    Jorge Méndez Ortega

    Jorge Méndez Ortega

    student•
    hace 5 años

    la verdad si le da un plus en POO a JS

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Totalmente, hace muy práctico.

    Andrés Felipe Eslava Zuluaga

    Andrés Felipe Eslava Zuluaga

    student•
    hace 5 años
    1. Super Clases:
    • Al igual que las interfaces, las clases también pueden heredar atributos y propiedades. |-> Implementa la habilidad de extender código de clases existentes a través de la herencia
    • Modificador de acceso protected que permite un acceso ni público ni privado. Dan acceso a los miembros cuando las subclases requieran usarlos.
    • super(): Sirve para invocar al constructor de una SUPERCLASE. Un objeto que instancie la (super)clase, va a tener inicializado las variables que dentro de la superclase fueron declaradas
    1. Clases Abstractas:
    • Son la base de donde otras clases pueden derivarse. Implementa funciones para sus instancias . abstract es la palabra reservada
    • Se usan cuando una super clase llega a ser demasiado general y queremos evitar crear instacias a partir de la misma.
    • La palabra reservada static se usa para definir un miembro visible a nivel de clase.
    • Se usa la palabra reservada readonly para marcar un miembro de una clase como solo lectura.
    export {} enum PhotoOrientation { Landscape, Portrait, Square, Panorama, }; //superclase abstract class Item { protected readonly _id: number; protected _title: string; constructor(id: number, title: string) { this._id = id; this._title = title; } get id() { return this._id } // set id(id: number) {this._id = id} // La definición de _id es inservible. get title() { return this._title } set title(t: string) {this._title = t} } // clase picture class Picture extends Item { public static photoOrientation = PhotoOrientation; private _orientation: PhotoOrientation; public constructor( id: number, title: string, orientation: PhotoOrientation ) { super(id, title); this._orientation = orientation; } private toString() { return `[id: ${this._id}, title: ${this._title}, orientation: ${this._orientation}]` } } // clase album class Album extends Item{ private _pictures: Picture[]; public constructor( id: number, title: string ) { super(id, title); this._pictures = []; } get picture() { return this._pictures } set picture(pic:Picture[]) {this._pictures = pic} public addPicture(picture: Picture) { this._pictures.push(picture); } } let album: Album = new Album(100, 'Photos of mine'); const newPic: Picture = new Picture(2, 'my new pic!', PhotoOrientation.Panorama); const new2Pic: Picture = new Picture(3, 'my 2nd new pic!', PhotoOrientation.Portrait); const new3Pic: Picture = new Picture(4, 'my 3rd new pic!', PhotoOrientation.Portrait); // Primer estado del álbum console.log('album inicial-> ', album); //cambiar id de álbum ó fotos /* new2Pic.id = 300; Se hacen inútiles debido new3Pic.id = 400; a la propiedad de readonly */ //cambiar titulo de álbum album.title = 'Mi nuevo álbum de fotos !'; //agregar más fotos a mi álbum album.addPicture(newPic); album.addPicture(new2Pic); album.addPicture(new3Pic); console.log('album modificado -> ', album); // const item = new Item(1, 'Test Title'); // Realmente no tiene sentido usar ésto, // console.log('item', item) // pues Item es muuy general. console.log('PhotoOrientation', PhotoOrientation);
    Sebastian Diaz

    Sebastian Diaz

    student•
    hace 4 años

    Que bueno es venir de Java a TypeScript, eso si con los conceptos de POO bien claros :D

    Alex Camacho

    Alex Camacho

    teacher•
    hace 5 años

    TypeScript soporta la herencia, con esto implementa la habilidad de extender código de clases existentes a otras.

    Utilizamos la palabra extends para heredar, si heredamos sólo se heredan los atributos public o protected.

    class Person { protected id:number; protected name:string; constructor(id:number, name:string){ } } class Student extends Person { private active:boolean constructor(id:number, name:string, active:boolean){ super(id,name) this.active = active } }

    En las clases de TypeScript se tienen disponibles las clases abstractas, estas son la base de donde otras clases podrían derivarse. A diferencia de una interface, una clase abstracta puede implementar funciones para sus instancias.

    abstract class Person {}
    Obed Paz

    Obed Paz

    student•
    hace 4 años

    Me esta gustando mucho TS, me recuerda a cuando empecé con C# en la Universidad pero terminé odiandolo por la forma en que me lo enseñaban, TS me esta ayudando a darle un segundo oportunidad.

    Fabian Andres Ramirez Vela

    Fabian Andres Ramirez Vela

    student•
    hace 5 años

    No entiendo porque elimina la linea 67, alguien me puede ayudar?. Gracias

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Por que ya está heredado de la super clase Item

      Anyelo Leonardy Alvarez Baquero

      Anyelo Leonardy Alvarez Baquero

      student•
      hace 4 años

      Debía eliminarla en la clase anterior, en la de los métodos get y set, pero se le pasó. Hasta ahora vio el error.

    Juan Carlos Valencia López

    Juan Carlos Valencia López

    student•
    hace 5 años

    ésta clase me gustó más que todas hasta el momento

    Laura Roa

    Laura Roa

    student•
    hace 4 años

    copie el codigo de esta clase y me da un error: ++Property '_orientation' has no initializer and is not definitely assigned in the constructor++ Saben que puede estar pasando?

    export {}; enum PhotoOrientation { Landscape, Portrait, Square, Panorama } // SUPERclase abstract class Item { protected readonly _id: number; protected _title: string; constructor(id: number, title: string) { this._id = id; this._title = title; } get id() { return this._id; } // set id(id: number) { // this._id = id; // } get title() { return this._title; } set title(title: string) { this._title = title; } } // get y set class Picture extends Item{ public static photoOrientation = PhotoOrientation; // Propiedades private _orientation: PhotoOrientation; // ++ESTA LINEA MARCA ERROR++ public constructor(id: number, title: string, orientation: PhotoOrientation) { super(id, title); this.orientation = orientation; } get orientation() { return this._orientation; } set orientation(o: PhotoOrientation) { this._orientation = o; } // Comportamiento public toString() { return `[id: ${this.id}, title: ${this.title}, orientation: ${this.orientation}]`; } } class Album extends Item{ private pictures: Picture[]; public constructor(id: number, title: string) { super(id, title);// constructor de SUPER clase this.pictures = []; } public addPicture(picture: Picture) { this.pictures.push(picture); } } const album: Album = new Album(1, 'Personal Pictures'); const picture: Picture = new Picture(1, 'Platzi session', PhotoOrientation.Square); album.addPicture(picture); console.log('album', album); // Accediendo a los miembros publicos console.log('picture.id', picture.id); // get id() // picture.id = 100; // private, set id(100); picture.title = 'Another title'; // private album.title = 'Personal Activities'; //private console.log('album', album); // const item = new Item(1, 'Test title'); // console.log('item', item); // Probar el miembro estatico console.log('PhotoOrientation', Picture.photoOrientation.Landscape);
    Santiago Mendoza

    Santiago Mendoza

    student•
    hace 4 años

    Si los metodos get/set no van a hacer nada mas que asignar el valor, conviene mejor declararlos public? o que otra ventaja tiene ademas de hacer algo intermedio antes de asignar el valor?

      Daniel Meza

      Daniel Meza

      student•
      hace 4 años

      Esa es la función como tal. Devolver el valor de tu variable. Es importante no permitir la modificación desde afuera, y que sólo a través de set y get puedas manipularla.

    Eduardo Robles

    Eduardo Robles

    student•
    hace 4 años

    no me deja acceder a la propiedad static de la clase picture alguien sabe porque?

    class Picture extends Item { public static PictureOrientation = PictureOrientation; //Propiedades private _orientation: PictureOrientation;
      Diego Fernando Caviedes Camaho

      Diego Fernando Caviedes Camaho

      student•
      hace 4 años

      que quieres hacer

    Armando Alamilla Cuellar

    Armando Alamilla Cuellar

    student•
    hace 4 años

    Wow, es una clase muy completa. Me ayudó mucho a repasar conceptos que ya no recordaba sobre la programación orientada a objetos. Que buen profesor

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads