A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Programaci贸n orientada a objetos

8/21
Recursos

Aportes 30

Preguntas 2

Ordenar por:

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

En cuesti贸n de conceptos un objeto no es un molde, un objecto es lo que se fabrica con el molde, el objeto es la instancia de una clase y la clase no es una instancia, la clase al ser el molde es la generadora de objetos o de instancias de si misma, la clase es una generadora de objetos, creo que quiere decir es: 鈥渓a clase humano, la cual pueden surgir objetos/instancias鈥

Ustedes no lo saben, pero tan solo con esta clase ya aprendieron la gran mayor铆a de los conceptos de programaci贸n orientada a objetos y ya lo pueden aplicar a cualquier lenguaje jaja, les dar铆a una explicaci贸n alternativa, pero este video habla por s铆 solo:
.

Es tan cierto que es el paradigma m谩s usado que en Platzi hay MUCHOS cursos que lo abordan en diferentes lenguajes:

Objeto: es un molde que representa a un objeto de la vida real.
Clase/ Instancia: describe un conjunto de objetos que comparten los mismos atributos.
Propiedad/ Atributos: son las caracter铆sticas o propiedades que describen a un objeto.
M茅todo: son las operaciones de una clase.

驴No est谩n invertidos los conceptos? El molde es la clase鈥 Los objetos son las instancias鈥 Y lo resalto porque al inicio no es tan f谩cil entender la abstracci贸n la Programaci贸n Orientada a Objetos, qu茅 es una clase, qu茅 es una instancia, etc.

  • Clase -> Persona (molde)
    • Objeto -> H茅ctor (instancia)
    • Objeto -> RetaxMaster (instancia)
    • Objeto -> Cristian (instancia)

Las clases que 鈥渉eredan鈥, igual, no son instancias, son clases que heredan de clases鈥

  • Clase -> Profesor hereda de Persona (molde)
    • Objeto -> Anah铆 (instancia)

Abstracci贸n: aislar las caracter铆sticas de un objeto (identificar cada una de las caracter铆sticas). Se trata de conceptualizar objetos y cuales son sus caracter铆sticas

Herencia: Permite que de una clase o una instancia herede caracter铆sticas.

Encapsulamiento: ayuda aislar parte del c贸digo de una instancia o una clase, de manera que cuando sea llamada no altere su estado por accidente o por efecto colateral de los m茅todos o comportamientos de otros objetos con los que puede interactuar.

Polimorfismo: significa que ante los mensajes o llamados que reciba una clase o una instancia los va a interpretar de una forma distinta a como lo har铆an clases o instancias distintas.

Soy fan de su explicaci贸n con Legos

En el Curso B谩sico de Programaci贸n que dicta Freddy hay una clase pr谩ctica completa sobre POO que es excelente. Es la clase de los Pakimanes, un juego (es sobre insertar im谩genes sin canvas), y el c贸digo es en JS y se ven claritos varios conceptos de POO.

Me parece fascinante c贸mo hay una fuerte base de inspiraci贸n en la construcci贸n de estos lenguajes y elementos abstractos se ha dado a partir de entidades biol贸gicas y sus sistemas.
(respecto a la analog铆a de los objetos como celulas biol贸gicas de Alan Kay)

馃惐鈥嶐煉 La programaci贸n orientada a objetos permite manejar objetos, organizadas mediante clases.

COBOL 2002
鈥 principios de 1990 se decidi贸 a帽adir la orientaci贸n a objetos en la pr贸xima revisi贸n total de COBOL. La estimaci贸n inicial era tener esta revisi贸n completa en 1997 y una ISO de CD (Comit茅 de redacci贸n) estuvo disponible en 1997. Algunos ejecutores (incluyendo Micro Focus , Fujitsu , Veryant y IBM ) present贸 orientado a objetos sintaxis basada en el 1997 o los otros proyectos de la revisi贸n completa. La final aprobado por la norma ISO (adoptado como norma ANSI por INCITS ) fue aprobado y puesto a disposici贸n en 2002

Quick Source: https://cobolcs.wordpress.com/2012/10/02/cobol-2002-y-cobol-orientado-a-objetos/

En los 煤ltimos a帽os ha sido bastante cuestionado este paradigma, ya sea porque est茅n parcializados por las bondades que ofrece la programaci贸n funcional, algunos fundamentos de sus detractores podr铆an decirse que son bastante razonables.
.
Comparto un post que me pareci贸 interesante. Object-Oriented Programming is The Biggest Mistake of Computer Science. Y una ilustraci贸n que lo resume un poco.
.

Programaci贸n orientada a objetos

  • Contiene datos y c贸digo
  • El primer lenguaje fue Simula
  • Conceptos principales: clases, objetos o instancias, atributos y m茅todos

Pilares de la POO

  • Herencia: donde una clase puede heredar atributos o m茅todos de otra
  • Encapsulamiento: ayuda a aislar parte del c贸digo para que no se pueda afectar por accidente
  • Abstracci贸n: aislar las caracter铆sticas de un objeto (un cuerpo se compone de extremidades, torso y cabeza, a su vez la cabeza compuesta por distintas partes, etc.)
  • Polimorfismo: significa que ante un mismo evento las distintas clases generan comportamientos distintos

Pros

  • C贸digo reutilizable
  • Reducci贸n de redundancia
  • F谩cil de mantener
  • Seguridad

Cons

  • Tama帽o (cuando un objeto es muy general y tiene muchas clases hijas)
  • Esfuerzo (por la especificidad que requieren)
  • Velocidad del desarrollo (por el esfuerzo)
Creo que la POO es un gran ejemplo de c贸mo la programaci贸n es el resultado de una observaci贸n maravillosa al mundo y a las personas, c贸mo funcionamos, qu茅 hacemos y c贸mo lo hacemos. Mapas que seguimos plasmados en un paradigma.

Las slides estaban geniales!!!

Pilares de la POO:

Abstraci贸n:
Aisla las caracter铆sticas de un objeto.


Herencia:
Permite que de una clase o de una instancia se pueda tener otra clase o instancia hija que va a heredar atributos de la misma.


Encapsulamiento:
Ayuda a aislar u ocultar parte del c贸digo de una instancia o de una clase. Esto con el prop贸sito de que cuando sea llamada no altere su estado por accidente o por efecto colateral de los m茅todos o comportamientos de otros objetos con los que puede intetarctuar.


Polimorfismo:
Significa que ante los mensajes o los llamados que reciba una clase o una instancia los va a interpretar de una forma distinta a como har铆an clases o instancias distintas.

Programaci贸n orientada a Objetos:
En definitiva una Clase es una Plantilla que define Atributos y m茅todos que son comunes para todos los objetos de cierto tipo y permite crear cualquier n煤mero de objeto (crear Instancia de la Clase).

Les comparto un video donde de igual forma explican la clase, pero con ejemplos diferentes, espero les sea de utilidad:

nombre: Programaci贸n Orientada a Objetos (POO): Abstracci贸n, Encapsulamiento, Herencia, Polimorfismo

Link: https://youtu.be/SI7O81GMG2A

Programaci贸n orientada a objetos = P.O.O
*Basada en objetos -contiene datos y c贸digo-
.-Datos en forma de campo(atributos y propiedades)
.-C贸digo en forma de procedimientos(m茅todos)

鈥淧ens茅 los objetos c贸mo c茅lulas biol贸gicas y/o computadoras individuales en una red capaces de comunicarse con mensajes鈥 .-Alan Kay

*Simula es el primer lenguaje orientado a objetos, introduciendo conceptos como -clases, -objetos, -herencia, -enlaces din谩micos.

*En la actualidad hablar de P.O.O == .-Objetos, .-Clases, .-Propiedades, .-M茅todos.
*Pilares de P.O.O = Son cuatro:
.-Herencia(hace de una clase/instancia se pueda generar otra clase/instancia hija conservando propiedad y atributos)
.-Encapsulamiento(ayuda a encapsular/aislar parte del c贸digo de una instancia o una clase, con el prop贸sito que cuando sea llamada no altere su estado por accidente con los elementos que puede interactuar)
.-Abstracci贸n(Aislar caracter铆sticas de un objeto)
.-Polimorfismo(Refiere que ante los llamados/mensajes que reciba una instancia los va a interpretar de forma distinta a como lo hac铆an clase o instancia distintias.)

*Ventajas: .-C贸digo reutilizable, .-Reducci贸n de redundancia, .-F谩cil de mantener, .-Seguridad.
*Desventajas: .-Tama帽o, .-Esfuerzo invertido
ej: Simula, Java, C++, Python, Ruby, PHP

Excelente clase!

Tengo entendido que al crear una clase se est谩 creando m谩s especificamente un tipo de dato, sin embargo este dato tiene metodos los cuales son el compotamiento que definimos en este tipo de dato que hemos creado.

Por ejemplo la clase humano seria el molde del dato de tipo humano que tiene atibutos como los que se mencionan en esta clase.

  • Color de cabello
  • Altura
  • Edad
  • Nombre

ETC鈥

Y los metodos en este caso el comportamiento seria:

  • Comer
  • Dormir
  • Caminar
  • Correr

ETC鈥

Pilares de la POO:

Abstraci贸n:
Aisla las caracter铆sticas de un objeto.

Herencia:
Permite que de una clase o de una instancia se pueda tener otra clase o instancia hija que va a heredar atributos de la misma.

Encapsulamiento:
Ayuda a aislar u ocultar parte del c贸digo de una instancia o de una clase. Esto con el prop贸sito de que cuando sea llamada no altere su estado por accidente o por efecto colateral de los m茅todos o comportamientos de otros objetos con los que puede intetarctuar.

Polimorfismo:
Significa que ante los mensajes o los llamados que reciba una clase o una instancia los va a interpretar de una forma distinta a como har铆an clases o instancias distintas.

Si quieren tener un ejemplo practico sobre este tema de clases, les recomiendo ver la clase 21 del curso gratis de programaci贸n b谩sica que imparte Freddy, ah铆 van a ver como se construye una clase

La clase es la maqueta, las instancias de la clase son los objetos. Las clases efectivamente tienen m茅todos y atributos que le dan comportamiento y caracter铆sticas. Los objetos por su parte le dan valores a esos atributos y ejecutan los m茅todos, es decir, los objetos son las entidades del mundo real (cada una), siendo el concepto m谩s general la clase y m谩s espec铆fico el objeto. La clase podr铆a ser el Humano, o el Estudiante si se espera especificar con caracter铆sticas y atributos m谩s detallados como "c贸digo de estudiante"... un objeto ser铆a un solo humano o un solo estudiante, que tiene un valor espec铆fico para el c贸digo de estudiante que le pertenece.

En la POO se ve la importancia de tener claro sus pilares los cuales hacen referencia a la herencia, encapsulamiento, abstracci贸n y polimorfismo. Tambi茅n se debo conocer acerca de que lenguajes trabajan con POO para poder elegir bien a la hora de hacer un desarrollo.

Python tambi茅n permite la programaci贸n orientada a objetos, que es un paradigma de programaci贸n en la que los datos y las operaciones que pueden realizarse con esos datos se agrupan en unidades l贸gicas llamadas objetos.

Excelentes ejemplos!

Esas caracter铆sticas de programaci贸n orientada a objetos son clave conocerlas, en la mayor铆a de entrevistas, por no decir todas, te preguntan sobre esto.

Muy bueno.