Bienvenida e Introducci贸n

1

驴Por qu茅 aprender Programaci贸n Orientada a Objetos?

2

驴Qu茅 resuelve la Programaci贸n Orientada a Objetos?

3

Paradigma Orientado a Objetos

4

Lenguajes Orientados a Objetos

5

Instalando Visual Studio Code

6

Diagramas de Modelado

7

Qu茅 es UML

Orientaci贸n a Objetos

8

Objetos

9

Abstracci贸n y Clases

10

Modularidad

11

Analizando Uber en Objetos

12

Reto 1: identificando objetos

Programaci贸n Orientada a Objetos. An谩lisis

13

Clases en UML y su sintaxis en c贸digo

14

Modelando nuestros objetos Uber

15

驴Qu茅 es la herencia?

16

Aplicando Herencia a nuestro proyecto Uber

17

Reto 2: analicemos un problema

Clases, Objetos y M茅todo Constructor

18

Creando nuestras carpetas iniciales para el curso

19

Definiendo clases en Java y Python

20

Definiendo Clases en JavaScript

21

Objetos, m茅todo constructor y su sintaxis en c贸digo

22

Objetos. Dando vida a nuestras clases en Java y Python

23

Declarando un M茅todo Constructor en Java y JavaScript

24

JavaScript orientado a objetos, lo m谩s nuevo

25

Declarando un m茅todo constructor en Python

Herencia

26

Aplicando herencia en lenguaje Java y PHP

27

Soluci贸n del reto de herencia en PHP

28

Aplicando herencia en lenguaje Python y JavaScript

29

Otros tipos de Herencia

30

Reto 4

Encapsulamiento

31

Encapsulamiento

32

Encapsulando atributos en Java

Polimorfismo

33

Generando polimorfismo en Java

34

Generando polimorfismo en PHP

Cierre del curso

35

El Diagrama UML de Uber

36

Conclusiones

37

Bonus: Qu茅 es la Programaci贸n Orientada a Objetos

Curso de Programaci贸n Orientada a Objetos: POO

Curso de Programaci贸n Orientada a Objetos: POO

Anah铆 Salgado D铆az de la Vega

Anah铆 Salgado D铆az de la Vega

Lenguajes Orientados a Objetos

4/37
Recursos

Correcciones:
En el minuto 5:06. El navegador NO interpreta el c贸digo PHP. Lo hace el servidor

Visual studio code y visual studio no es lo mismo.
Visual Studio Code, el editor de c贸digo multiplataforma de Microsoft, es uno de los preferidos por muchos desarrolladores mientras que Visual Studio permite a los desarrolladores crear sitios y aplicaciones web, as铆 como servicios web en cualquier entorno compatible con la plataforma .NET

Algunos de los lenguajes de programaci贸n Orientados a Objetos son:

  • Java:
    鈥 Orientado a Objetos naturalmente
    鈥 Es muy 煤tilizado en Android
    鈥 Y es usado del lado del servidor o Server Side
  • PHP
    鈥 Lenguaje interpretado
    鈥 Pensado para la Web
  • Python
    鈥 Dise帽ado para ser f谩cil de usar
    鈥 M煤ltiples usos: Web, Server Side, An谩lisis de Datos, Machine Learning, etc
  • Javascript
    鈥 Lenguaje interpretado
    鈥 Orientado a Objetos pero basado en prototipos
    鈥 Pensado para la Web
  • C#
  • Ruby
  • Kotlin

Aportes 362

Preguntas 13

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Ja, yo empec茅 a programar en Basic (la versi贸n del Sinclair Spectrum) y, cr茅eeme, ni de broma le tengo un apego especial.
He programado profesionalmente en C, C++, COBOL (me daban ganas de ahorcarme), Pascal (Turbo Pascal de Borland), Clipper (xBase), Access (en VBA con MS Office), Visual Basic, Java, C#, JavaScript (ECMA Script), PHP, Python, Swift, bash (lenguaje de script de la consola de Unix/Linux) y distintas versiones de SQL.
Tambi茅n he usado no profesionalmente: Basic, Ensamblador (del 6502, Z80 y x86), Logo (fant谩stico lenguaje injustamente tratado), Lisp, Prolog, App Inventor (pru茅benlo es incr茅ble lo que se puede hacer), Scratch y Ruby.
Pues despu茅s de todo eso, con mi experiencia les digo que casarse con una tecnolog铆a es fatal, pierdes la objetividad necesaria en este negocio tan cambiante y puedes estar usando herramientas no adecuadas. El fanatismo no conduce a nada.

el navegador NO interpreta php. El servidor interpreta el php y devuelve el resultado al cliente(navegador) en una forma que el entiende (html,css,etc)

QUE MIEDOO!! Escuchar a la profe decir que a PHP lo interpreta el navegador (lo cual es totalmente falso), y no solo una vez si no que lo repite, me deja en dudas de la calidad del curso

Lenguajes basados en clases vs. basados en prototipos



Los lenguajes orientados a objetos basados en clases, como Java y C++, se basan en el concepto de dos entidades distintas: clases e instancias.

Una clase define todas las propiedades (considerando como propiedades los m茅todos y campos de Java, o los miembros de C++) que caracterizan un determinado conjunto de objetos. Una clase es una entidad abstracta, m谩s que cualquier miembro en particular del conjunto de objetos que describe. Por ejemplo, la clase Empleado puede representar al conjunto de todos los empleados.

Una instancia, por otro lado, es la instanciaci贸n de una clase; es decir, uno de sus miembros. Por ejemplo, Victoria podr铆a ser una instancia de la clase Empleado, representando a un individuo en particular como un empleado. Una instancia tiene exactamente las mismas propiedades de su clase padre (ni m谩s, ni menos).

Un lenguaje basado en prototipos, como JavaScript, no hace esta distinci贸n: simplemente tiene objetos. Un lenguaje basado en prototipos toma el concepto de objeto protot铆pico, un objeto que se utiliza como una plantilla a partir de la cual se obtiene el conjunto inicial de propiedades de un nuevo objeto. Cualquier objeto puede especificar sus propias propiedades, ya sea cuando es creado o en tiempo de ejecuci贸n. Adicionalmente, cualquier objeto puede ser utilizado como el prototipo de otro objeto, permitiendo al segundo objeto compartir las propiedades del primero.

JavaScript es un lenguaje orientado a objetos basado en prototipos en lugar de clases. Debido a esta diferencia, puede ser menos evidente c贸mo JavaScript te permite crear jerarqu铆as de objetos y herencia de propiedades y sus valores.

Hola! Excelente la forma de explicar de Anah铆.
super! hace muy agradable el aprendizaje.

sobre el tema de php, propongo que se haga la edici贸n de esta clase en cuanto al texto y al video ya que:

PHP no es un lenguaje interpretado en un lenguaje del lado del servidor
(server side)

AQUI LOS CONCEPTOS:

Lenguaje interpretado . Es el lenguaje cuyo c贸digo no necesita ser preprocesado mediante un compilador, eso significa que el ordenador es capaz de ejecutar la sucesi贸n de instrucciones dadas por el programador sin necesidad de leer y traducir exhaustivamente todo el c贸digo. (y ese no es el caso de PHP)

PHP ES 鈥渆s un lenguaje de programaci贸n de prop贸sito general de c贸digo del lado del servidor鈥 (Server Side).

UN SALUDO!

Lenguajes Orientados a Objetos


No te cases con ning煤n lenguaje.

Lenguajes con los que podemos aprender a programar orientados a objetos son:

  • Java
  • PHP
  • Python
  • JavaScript
  • C#
  • Ruby
  • Kotlin

Java

Java naci贸 como un lenguaje OOP, su paradigma principal es este. Este lenguaje es muy utilizado para creaci贸n a Apps m贸viles o del lado de servido como lenguaje Backend.

  • Extensi贸n: .java

PHP

PHP es un lenguaje pensado para web y es un lenguaje interpretado, esto quiere decir que el navegador es qui茅n interpreta php.

  • Extensi贸n: .php

Python

Python es un lenguaje f谩cil de usar, y tiene m煤ltiples usos como del lado Web, Server side, An谩lisis de datos, Machine Learning, ect. Adem谩s, es un lenguaje OOP.

  • Extensi贸n: .py

JavaScript

Javascript es un lenguaje interpretado, tambi茅n es un lenguaje OOP pero este est谩 basado en prototipos. Esta pensado para web pero podemos trabajar el backend Node.js.

  • Extensi贸n: .js

Anahi es la mejor profesora de Platzi. Quiero ser tu amigooooo

Aunque para JavaScript se tiene pensado el hecho de que funcione para la web hay una m谩gica librer铆a que permite el desarrollo de apps incluso de manera nativa y por supuesto estoy hablando de React Native.

Python !!! number one. xd

En la terminal:

python3

import this 

馃槳鉂わ笍

馃挋 Utilizare Dart, un lenguaje de programaci贸n para el desarrollo de aplicaciones m贸viles, web, escritorio y para el lado del servidor.
https://dart.dev/

Me enamore de la programaci贸n con Java y php; pero C# y JS ha ido marcando de a poco mis d铆as, hasta la actualidad鈥

4. Mis apuntes sobre: 鈥淟enguajes Orientados a Objetos鈥

En POO tenemos los siguientes lenguaje: Java, PHP, Python, JavaScript, C#, Ruby, Kotlin.

-Java:
-Orientado a objetos naturalmente.
-Android.
-Server side.
-Archivos .java

-PHP:
-Lenguaje interpretado.
-Pensado para la web.
-Archivos .php

-Python:
-Dise帽ado para ser f谩cil de usar.
-M煤ltiples usos: Web, Server Side, An谩lisis de Datos, Machine Learning, etc.
-Archivo .py

-JavaScript:
-Lenguaje interpretado.
-Orientado a Objetos pero basado en prototipos.
-Pensado para la Web.
-Archivos .js

Entorno de Desarrollo

Vamos a usar Visual Studio Code.

por que el lenguaje de C#, no esta considerado dentro los mejores? y por que no se considera importante dentro las industrias laboral?

**La profesora tiene una forma de dar clases que me mantiene 鈥渋dotizado en la clase鈥. **

Yo me enamore y inicie con Java y pero hoy en dia estoy ennoviado con Python

yo estoy aprendiendo Python por la ruta de Data Scientist ^_^

Si los lenguajes de programaci贸n fueran superh茅roes, su majestad Python ser铆a Superman (pero sin que le afecte la kryptonita!!). Es simplemente magia!

Y su lenguaje favorito, que superh茅roe ser铆a y por qu茅?


Me encanta la buena vibra de la profe. Contagia las ganas de aprender 馃槂

Hola. Cual es la fuente que avala de que esos 4 lenguajes son los mas buscados en la industria?. Solo tienen que buscar en Google 鈥渃uales son los lenguajes mas buscados en programacion鈥 y veran los resultados. Los que estamos en la industria sabemos perfectamente que C# esta con el mismo nivel de demanda de JAVA, que PHP y JavaScript pueden ser demandados pero para otro clase de uso diferente. Que Kotlin va en ascenso鈥 Python no deberia estar en la lista, y s铆 deber铆a estar C#. Me parece un error enorme dejar a C# fuera, y vuelve in煤til este curso para muchos miles.

iniciando C# y .NET est谩 muy interesantes, con toda ha generar proyectos magn铆ficos.

dato curioso JavaScript es de los lenguajes que menos me gustan xd

Bueno estoy aprendiendo Python, es por eso que estoy en este curso por recomendacion del profe de Python, sin embargo esta profe hace muy interesantes la POO鈥!!!

una peque帽a aclaraci贸n PHP es un lenguaje de interpretaci贸n y es interpretado por el servidor web no por el navegador

Aqu铆 en Platzi tenemos un curso de Java, del cual estoy segura que no te vas a defraudar, 驴Por qu茅? porque yo soy tu profesora >-<

Me hizo la ma帽ana!!! por cosas como estas pago Platzi

Yo aprendi OOP con C++ en la universidad!

Y Platzi, Platzi que te quiere, que te ama, y quiere lo mejor para t铆 馃榿馃槣, te ense帽a los cursos que salen a partir de [1:05]. Yo los recomiendo todos encarecidamente鈥

Golang no es orientado a objetos pero aun asi lo puedes hacer 馃槂

Vengo del curso de basico de JavaScript para poder entender un poco mas

Existe una gran variedad de Lenguajes para la POO, mi recomendaci贸n personal es que pruebes los que te llamen la atenci贸n, escoge uno y dom铆nalo hasta el punto que te sientas seguro cada vez que vayas a crear un proyecto en ese lenguaje. Despu茅s de esto, ya puedes elegir un segundo y el camino de aprendizaje ser谩 m谩s r谩pido ya que tendr谩s las bases del primero que escogiste.

Yo no se porque casi nadie menciona a MATLAB siendo un poderoso lenguaje de programaci贸n e ingenier铆a.

vengo del curso de POO y algoritmos con Python para reforzar algunas definiciones y estas clases eran justo lo que estaba necesitando.

A PHP no lo interpreta el navegador, sino un servidor. Pero tranquilos solo fue que la profesora se confundio

Notas :
javas
-orientado a objetos
-android
-server side

php
-Lenguaje interpretado
-Pensado para la web

Python
-Dise帽ado para ser facil de usar
-Multiples usos: Web, Server side, Analisis de Datos, Machine learning, etc.

JavaScript
-lenguaje interpretado
-Orientado a objetos pero basado en prototipos
-pensado para la web

python y C++

Lenguajes basados en clases vs. basados en prototipos Imgur Los lenguajes orientados a objetos basados en clases, como Java y C++, se basan en el concepto de dos entidades distintas: clases e instancias. Imgur Una clase define todas las propiedades (considerando como propiedades los m茅todos y campos de Java, o los miembros de C++) que caracterizan un determinado conjunto de objetos. Una clase es una entidad abstracta, m谩s que cualquier miembro en particular del conjunto de objetos que describe. Por ejemplo, la clase Empleado puede representar al conjunto de todos los empleados. Imgur Una instancia, por otro lado, es la instanciaci贸n de una clase; es decir, uno de sus miembros. Por ejemplo, Victoria podr铆a ser una instancia de la clase Empleado, representando a un individuo en particular como un empleado. Una instancia tiene exactamente las mismas propiedades de su clase padre (ni m谩s, ni menos). Imgur Un lenguaje basado en prototipos, como JavaScript, no hace esta distinci贸n: simplemente tiene objetos. Un lenguaje basado en prototipos toma el concepto de objeto protot铆pico, un objeto que se utiliza como una plantilla a partir de la cual se obtiene el conjunto inicial de propiedades de un nuevo objeto. Cualquier objeto puede especificar sus propias propiedades, ya sea cuando es creado o en tiempo de ejecuci贸n. Adicionalmente, cualquier objeto puede ser utilizado como el prototipo de otro objeto, permitiendo al segundo objeto compartir las propiedades del primero. Imgur JavaScript es un lenguaje orientado a objetos basado en prototipos en lugar de clases. Debido a esta diferencia, puede ser menos evidente c贸mo JavaScript te permite crear jerarqu铆as de objetos y herencia de propiedades y sus valor

Java 鉂わ笍 JavaScript 馃槏 C# 馃い Kotlin 馃グ

Lenguajes de Programaci贸n Orientados a Objetos

Java:

  • Principal lenguaje para aplicaciones de celular (android)
  • Tambi茅n es muy usado en Server Side (servidores)

PHP:

  • Es un lenguaje interpretado (no hay que compilarlo antes de ejecutarlo)
  • Fu茅 ensado para la web

Python

  • Dise帽ado para ser f谩cil de usas
  • Tiene m煤ltiples usos (web, Server Side, An谩lisis de Datosm Machine Learning, etc)

JavaScript

  • Lenguaje Interpretado
  • POO (pero basado en prototipos)
  • Pensado para la web

MInuto 5:06. El navegador NO interpreta el c贸digo PHP. Recomendaci贸n a Platzi, editen esan parte.

Yo estoy comenzando con JavaScript dado que es mi primer lenguaje de programaci贸n, la l贸gica y la implantaci贸n de paradigmas esta dificultando mi aprendizaje en cosas como Asincronismo y los prototipos espero con este curso resolver todas estas dudas y entender mejor los problemas

soy principiante en la programacion, ando practicando en C pero luego de este curso seleccionare javascritp front y back, y despues aprender python para usarla bastante en la seguridad informatica.

vengo de programar en C, algun consejo??

Minuto 5:06 emmm el navegador web no interpreta php鈥 esto lo hace el servidor, php es un lenguaje para el servidor鈥

As铆 ser谩 en todo el curso ? serio ?

Cuando dijiste 鈥測 bueno para nuestro entorno de desarrollo鈥, autom谩ticamente en mi cabeza: Visual Studio Code馃

la moraleja de todo esto es que no hay que 鈥渃asarse鈥 con ning煤n lenguaje de programaci贸n, cada tecnolog铆a tiene sus ventajas y desventajas y es del profesional saber asesorarse y aprender cuando su carrera profesional y trabajo le exijan aprender un nuevo lenguaje, sus ventajas, falencias, problemas y dem谩s, creanme como programador que me desempe帽o que cuando una empresa los contrata se debe trabajar bajo las tecnolog铆as que tenga la empresa y muchas veces puede que no sea la que mas nos gusta pero es lo que hay, se pueden hacer mejoras paulatinas y sistem谩ticas de acuerdo a las necesidades, pero he visto a varios compa帽eros en la industria llegar a una empresa y querer cambiar todo por que esta enamorados de un lenguaje y dicen que el lenguaje que ellos saben es mejor.

C# y Python!

Empec茅 con C# , pero quiero aprender m谩s

Quiero aprender JavaScript estoy en eso. Pero quiero que me aconsejen. No s茅 si terminar este de POO y luego el de JavaScript. Que me aconsejan ?

python forever <trs

En las 煤ltimas actualizaciones de JavaScript ya vienen las clases, el problema es con los navegadores antiguos. Es un poco tedioso trabajar con prototipos.

Explicaci貌n PHP.

JAVA, PHP Y JAVASCRIPT

Explicaci貌n de Java y POO.

Explicai貌n de Lenguaje Interpretado.

Explicaci貌n Python.

Explicaci貌n JavaScript.

Simula-67 (1967), Smalltalk y C++, antecedieron a Java, PHP, Python, JS, C#, Ruby y Kotlin.

Voy a intentar incluir una imagen:

<a href=鈥https://www.researchgate.net/figure/TRIZ-evolutionary-map-of-the-object-oriented-programming-languages_fig4_285018102鈥><img src=鈥https://www.researchgate.net/profile/Victor_Berdonosov2/publication/285018102/figure/fig4/AS:[email protected]/TRIZ-evolutionary-map-of-the-object-oriented-programming-languages.png鈥 alt="鈥 TRIZ-evolutionary map of the object-oriented programming languages"/></a>

muy buen curso

Excelente 馃槂

Javascript y PHP. Con fuerte intencion de aprender Python y Java

JavaScript 鈥 cambiara la web

Hola, Por ahora solo estoy iniciando con Python

Por ahora solo he desarollado con java, pero me muero por iniciar con python y javaScript

Ya siento la emoci贸n que corre por mis venas. todav铆a no estoy seguro en cual lenguaje especializarme me llama la atenci贸n JS pero del lado del servidor pero python tiene buena pinta sobre todo por su aplicaci贸n machine learning

Java
POO, Android, Server Side / Lado del servidor

Python
F谩cil de usar (Supuestamente por que a mi me ha costado mucho)
para Web, Server Side(como java), Analisis de Datos, ML, AI

JS
Pensado para la web, OO prototipos

PHP se me hace bello, con el aprend铆 web,

C#, C++ python 鉂わ笍

jajajaa me encanta su forma de explicar

Java

conozco php, c++, java, javascript,python, pero no domino ninguno que ironia pero ahora espero almenos dominar en un mayor porcentaje java y python

Bueno la verdad estoy empezando as铆 que todav铆a no tengo un favorito pero lo que si se es que quiero poder conocerlos todos y programar

Apenas entro m谩s a o fondo esto de la programaci贸n, soy electr贸nico y lo 煤nico que manej茅 fue C++ para programar microcontroladores.

yo disque tuve clase de POO en mi universidad, pero nunca aprend铆 nada de esto.

Python, Javascript y php 馃憠馃憟 son los 煤nicos que he escrito algunas l铆neas de c贸digo, en ese orden !

Java naci贸 de la POO, es muy usado en creaci贸n de mobile apps con android y de backend. la extensi贸n de los archivos es .java
PHP, Es pensado para la web, es un lenguaje interpretado, no es necesario generar la compilaci贸n como lo es con java. la extensi贸n es .php
Python*, python fue dise帽ado para ser f谩cil de usar, se puede tener con backend, analisis de datos etc. la extensi贸n de los archivos es .py
JavaScript, Es un lenguaje interpretado, es un lenguaje Orientado a Objetos, pero la naturaleza de javascript son los prototipos. Es totalmente pensado para la web, pero tambi茅n se puede correr en el backend con node la extensi贸n de los archivos es .js

El IDE que usaremos es Visual Studio Code. Porque corre todos los lenguajes que vamos a trabajar.

He utilizado C#, C++ y Python pero he utilizado tambien HTML, CSS, JavaScript y PHP pero en casos muy basicos

Me gusta mucho que se promueva el pensamiento abierto hacia m煤ltiples lenguajes de programaci贸n. Al comienzo solemos apegarnos mucho a un solo lenguaje y por lo tanto a una sola forma de hacer las cosas. Sin embargo con el tiempo es bueno darle chance a otros lenguajes: se aprende mucho m谩s y se abren muchas posibilidades.

PHP es lo mejor 鉂わ笍

c# for ever 馃槂

Aqu铆 les dejo un ranking de los lenguajes m谩s populares al d铆a de hoy.

http://pypl.github.io/PYPL.html

Estar茅 usando Python pero si es algo nuevo.

Python tambien es interpretado!

en la universidad nos est谩n ense帽ando Poo, con java, en un editor llamado NetBeans, es algo tediosos para programar, prefiero mil veces vs code es mucho mejor en todo

Me encanta el entusiasmo que tiene la profesora, como con sus palabras me hace sentir tranquilo y pensar que el curso va a estar excelente!!

Nunca olvidar茅 lo frustrante que Java fue para m铆 en la universidad. C++ me cay贸 mejor (ir贸nicamente). En medio de la carrera hice un proyectico con Autoplay Media Studio que internamente usaba un lenguaje llamado Lua y ah铆 fue donde me solt茅 un poco m谩s con la programaci贸n.
Y ya por 煤ltimo, mi tesis la hice con Django (v1.6) sumamente atropellado y desastroso. Pero lo logr茅.
Ahora estoy aqu铆 asentando cabeza en mi vida jajajaja鈥

En mi corazon est谩n Python y C# .JavaScript no me gusta tanto, pero creo es por costumbre xd .

Es verdad. En la uni vimos un poco de POO en c++ y al toque pasamos a JAVA鈥o odie!!! jajajaj. En parte fue problema mio y en parte del profe que era infumable. Pero aca estoy re enganchado con esta profe y la POO.

yo defiendo asambler

Solo los borrachos usamos Ruby 馃馃徎 !!!

Hace rato que he decidido tener nociones para programar en cualquier lenguaje, no habituarme a uno. He programado en Cobol, lenguajes xBase (como clipper o foxpro), lenguajes desconocidos (como BBXL) pero desde que conoc铆 a C capturo mi atenci贸n y esa l铆nea de lenguajes es mi elecci贸n. Al empezar en la programaci贸n orientada a objetos fue seguir con C++ y en en 1999 conoci a Java de la mano del libro de Angel Lopez (inclu铆a el JDK 1.1.3). Pero en si hay lenguajes que para mi siguen la l铆nea de C (como tambien javascript, php y C#). De hecho las sentencias (como switch) son las mismas lo que no solo contribuye a trabajar con distintos lenguajes sino tambi茅n eleva la curva de aprendizaje ya que es muy natural empezar con ellos por la base que comparten. Ahora estoy con C#, Spring (linea java) y tambien algo de angular (que usa el lenguaje typescript que es un superconunto de javascript) pero empezando con R y python para incursionar en ciencia de datos. Pero mi lenguaje en si es C++.

Exelente explicaci贸n, me encanta el curso, yo comenz茅 con C++ usando turbo c y programe tambien en Pascal XD!!

me encanta la actitud de anahi salgado, realmente estoy disfrutando del curso no solo por el contenido si no, tambien por las ganas y entusiasmo de anahi por ense帽ar lo aprendido鈥 saludos desde peru @anncode

Si mal no tengo entendido Python es mas orientado a objetos que Java, porque incluso los primitivos que utiliza son objectos, cosa que en Java no.

POO tiene dos corrientes principales:

Basado en Clases: Es la m谩s ampliamente usada por los lenguajes POO. Por ejemplo es usada por Java, C++ y C#. Se basa en crear una estructura molde llamada clase donde se especifican los campos y m茅todos que tendr谩n nuestros objetos. Cada vez que necesitamos un objeto creamos una copia del objeto (instancia) usando la clase como molde.
Basada en prototipo: Es soportado en Javascript, Python y Ruby. No hay clases, solo hay objetos. El mecanismo para la reutilizaci贸n est谩 dado por la clonaci贸n de objetos. Se crean directamente los objetos y cuando se quiere generar otro con la misma estructura se usa clonaci贸n. Una vez clonado si queremos podemos agregar los campos y m茅todos necesarios. Un objeto protot铆pico es un objeto que se utiliza como una plantilla a partir de la cual se obtiene el conjunto inicial de propiedades de un objeto. Cualquier objeto puede ser utilizado como el prototipo de otro objeto, permitiendo al segundo objeto compartir las propiedades del primero.

A mi me toc贸 llevar Java en la universidad y lo detesto con toda mi alma. Pero seguramente le de una oportunidad a los cursos de Java para cambiar de opini贸n 馃槂

En lo personal uno de los mejores lenguajes orientado a objetos es JAVA, igual he desarrollado con python, php y c++ , pero sigo diciendo que para este paradigma java tiene la delantera.

Excelente explicaci贸n