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

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

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

Objetos

8/37
Recursos

Los Objetos son aquellos que tienen propiedades y comportamientos, tambi茅n ser谩n sustantivos.

  • Pueden ser F铆sicos o Conceptuales

Las Propiedades tambi茅n pueden llamarse atributos y estos tambi茅n ser谩n sustantivos. Algunos atributos o propiedades son nombre, tama帽o, forma, estado, etc. Son todas las caracter铆sticas del objeto.

Los Comportamientos ser谩n todas las operaciones que el objeto puede hacer, suelen ser verbos o sustantivos y verbo. Algunos ejemplos pueden ser que el usuario pueda hacer login y logout.

Aportes 540

Preguntas 29

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Apareci贸 el perrito y yo

Este tipo de cursos deber铆amos tomarlos antes de aprender a alg煤n lenguaje de programaci贸n.

Nota de clase:

Un Objeto: Son aquellos que tienen propiedades y comportamientos. Un objeto puede ser algo f铆sico o conceptual.

Una Propiedad: Tambi茅n llamado atributo, son las caracter铆sticas o las propiedades que describen a un objeto. Estas propiedades siempre deben ser de forma sustantiva. ej: color, tama帽o, etc.

Un **Comportamiento **o m茅todo: Son las acciones que puede realizar un objeto, es decir lo que puede hacer dicho objeto.

Los objetos (Sustantivos) tienen cualidades (Adjetivos) y comportamientos (Verbos).

Esto es muy importante porque es la base de la POO, un objeto tiene propiedades y comportamientos, y b谩sicamente las propiedades son aquellas cosas que describen al objeto, y los comportamientos son todas esas cosas que dicho objeto puede hacer, e igual, para evitar confusiones, hay varias formas de llamar a las propiedades y comportamientos, pero son lo mismo:

propiedades/atributos/variable <- Es lo mismo (variable solo aplica si est谩 dentro de una clase, no es una variable que usar铆as com煤nmente en alg煤n lenguaje)

m茅todos/acciones/comportamientos/funciones <- Es lo mismo (al igual que con variable, funciones solo aplica dentro de una clase)

Dios no puede ser un objeto, pues Dios es verbo no sustantivo.

Si lo s茅, mal chiste xD

Un ejemplo de objetos, podr铆a ser en una sistema de ventas de videojuegos. Donde identificamos el objeto videojuego:

-------------------------------------------------------
--------------------Videojuego-------------------
-------------------------------------------------------
-ID: integer
+Titulo: string
+Duracion: string
+Clasificacion: string
+Precio: float
-------------------------------------------------------
-ProbarDemo()
-VenderVideojuego()
-------------------------------------------------------

Objetos


Lo primero que te que hacer cuando tengamos un problema es identificar Objetos. Tenemos que observar nuestro problema, no ir directo al c贸digo.

Para identificar objetos debemos tener en cuenta que estos siempre van a tener propiedades y comportamientos. Adem谩s, estos siempre ser谩n sustantivos.

Los objetos podr谩n ser f铆sicos pero tambi茅n podr谩n ser conceptuales. Estos siempre van a tener un nombre, y este nombre ser谩 un sustantivo. Ej:

  • Usuario, este es un objeto f铆sico.
  • Secci贸n de usuario, es un objeto conceptual.
  • Cuenta de un banco, es un objeto conceptual.

Las propiedades tambi茅n pueden llamarse atributos, y estas ser谩n sustantivos.

  • Usuario
    鈥斺斺
    nombre
    tama帽o
    forma
    estado

馃挕 Es importante tener en cuenta que el atributo no sea el resultado. Ej: el atributo de ser nombre, no el resultado del atributo.

Adem谩s, los objetos tambi茅n puede tener comportamientos. Estos ser谩n todas las operaciones del objeto, suelen ser 鈥榲erbos鈥 o 鈥榮ustantivo y verbo鈥.

  • login() 鈫 Verbo
  • logout() 鈫 Verbo
  • makeReport() 鈫 Sustantivo y verbo

馃搾 Es importante tener en cuenta el contexto en que est谩n mis objetos.

Como siempre las clases de Anah铆 son muy buenas, la manera en que las prepara, las explica es excelente!

Ejemplo de la clase:

Objeto: Perro

Propiedades:
+nombre
+color
+raza
+altura

Comportamientos:
+ladrar
+comer
+dormir
+correr

Con contexto Sistema de Adopciones

Propiedades:
+id
+nombre
+color
+raza
+altura

Comportamientos:
+serAdoptado

El perrito feliz porque no lo excluyeron:

la analogia que siempre me ha gustado para identificar y comprender el paradigma es imaginar a las clases como moldes para preparar galletas, obviamente las galletas serian nuestros objetos y los atributos para cada objeto serian los ingredientes que tienen cada una de ellas, los metodos serian las acciones que realizaremos con dichas galletas. se ve muy simple, pero me sirvio para que ni帽os comprendieran mejor el paradigma

馃惗 Analizando el Objeto:
Propiedades

  • nombre
  • altura
  • peso
  • raza
  • edad

Comportamientos

  • comer
  • Ladrar
  • Jugar
  • Caminar

todo lo que nos rodea es una objeto con atributos y m煤ltiples acciones

驴No ser铆a m谩s apropiado pensar las Propiedades, Atributos con los conceptos Adjetivan al Objeto pero expresados con un cuantificador?

Ej Tama帽o -> grande, mediano, chico, muy chico -> 64, 32, 16, 8

En conclusi贸n
Objeto-> Sustantivo.
Propiedades -> Adjetivos
M茅todos -> verbos

Pregunta de vienen en varias certificaciones que he tomado:

  • 驴Cu谩l es la diferencia entre un objeto y una clase?
    R: El objeto es una instancia de una clase.

No es mucho, pero puede ayudarte a no volver a pagar un certificado que siempre son caros XD

Ahora si viene lo chido


Este curso deber铆a ir como principal en cada escuela de desarrollo. hasta ahora mucho lo que he aprendido viene a tener sentido. literalmente es el fundamento, por eso muchos abandonan el camino.

Mis apuntes #8

Sustantivo = nombre del Objeto

Atributos son las caracteristicas propias del objeto.
Comportamientos son las acciones que puede ejecutar el objeto

Ejemplo
Objeto Persona
Atributos
Estatura, color de pelo, color de ojos, peso etc
M茅todos (Comportamiento)
Comer, dormir, caminar, hablar, etc

Propiedades del perrito:

  • Color de pelaje
  • Tipo de pelaje
  • Vacunas
  • Nombre del due帽o

Atributos: sexo, edad, vacunas,peso,salud,etc.

Los atributos no ser铆an adjetivos en vez de sustantivos como dices en el v铆deo?

cuando dijo: una persona puede ser un objeto.
Mi mente: JAJAJA obvio, eso pienso de mi ex.

" No me interesa si el perrito come o duerme, solo que sea adoptado"

*Aparece un perrito
Autom谩ticamente yo:


Mejor explicado que en la universidad! HAHAHAHAH.
Sera posible que pelaje tambien sea una propiedad?

Es genial aprender de una persona con tan buena energ铆a y que evidencia amar lo que hace. Espero alg煤n d铆a conocerla en persona y cruzar unas palabras. Gracias Ann !

Excelente manera de aplicarlo en un contexto, por cierto, me encanta el animo con el que Anah铆 explica un tema que a muchos programadores se les queda en el tintero al momento de programar!

Regla de oro para definirlos:

Objeto = Sustantivo
Atributo = Sustantivo
Comportamiento = Verbo o Verbo + Sustantivo

En el canal de pildoras informaticas te explica chido la programaci贸n orientada a objetos espero alguien le sirva

En el paradigma de programaci贸n orientada a objetos (POO, o bien OOP en ingl茅s), un objeto es una unidad dentro de un programa de computadores que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecuci贸n. Un objeto puede ser creado instanciando una clase, como ocurre en la programaci贸n orientada a objetos, o mediante escritura directa de c贸digo y la replicaci贸n de otros objetos, como ocurre en la programaci贸n basada en prototipos.

Estos objetos interact煤an unos con otros, en contraposici贸n a la visi贸n tradicional en la cual un programa es una colecci贸n de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio.

La creacion de objetos va de la mano de tener una buena capacidad de abstraccion. Ya que la misma te permitira tomar los objetos de la vida real, llevarlos a su minima expresion, tomar solo lo necesario para el escenario que queramos resolver y luego implementarlo en codigo.

Objeto Perro
Propiedades:
+nombre
+raza
+color
+edad
+peso
+estatura

Comportamiento:
+ladrar()
+comer()
+correr()
+jugar()
+irBa帽o()
+dormir()

La edad podr铆a ser otro atributo del perro

POO: Todo es un objeto y esos objetos tienen propiedades y comportamientos. lml

Para entender mejor el concepto de objeto, Les sugiero fuertemente ver esta clase gratuita del MIT:

https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/resources/lecture-8-object-oriented-programming/

Con la ayuda de la profe Anah铆 y ese video complementario, al fin logr茅 entender qu茅 es un objeto JAJAJA

Aveces siento que la profesora se enreda al querer ser clara y da varias vueltas a lo mismo, puede confundir a estudiantes que no tengan experiencia desarrollando con objetos antes.

Notas:
Cuando tenemos un problema debemos Identificar:
1.) Los objeto: [Propiedades y Comportamientos ] -> Son sustantivos, pueden ser f铆sicos o conceptuales
2.) Los Atributos: Las caracter铆sticas de los objetos
3.) Los comportamientos: Operaciones del objeto

Un objeto puede ser:
1.concreto(f铆sico) ejem: Un usuario.
2.abstracto(conceptual) ejem: El login de un pag. web.

Propiedades 贸 atributos ser谩n sustantivos. Los atributos son las caracter铆sticas o propiedades de un objeto y pueden tener comportamientos, acci贸nes del objeto, que suelen ser verbos 贸 sustantivos y verbos.

Les comparto mi resumen.

Lo m谩s importante es el

Contexto


Tener en cuenta cual es el problema que se quiere resolver y buscar una soluci贸n que se adapte a ese CONTEXTO. 馃洜

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • La programaci贸n orientada a objetos resuelve problemas escribiendo c贸digo

  • Cuando tengamos un problema lo primero que debemos hacer es definir los objetos

  • Debemos ver el problema como un escenario, debemos observar y as铆 podemos enterarnos de los objetos dentro del problema

  • Un objeto tiene propiedades y comportamientos, siempre y ser谩n sustantivos

  • Un sustantivo es un nombre que se utiliza para nombrar un algo

  • Los objetos pueden ser f铆sicos o conceptuales

  • Un objeto conceptual es algo que vive en nuestra mente o el pensamiento vive en inteligencia infinita

  • Las propiedades pueden llamarse atributos y ser谩n sustantivos

  • Algunos atributos o propiedades pueden ser nombre, tama帽o, forma o estado

  • Sustantivos son las propiedades que componen al objeto

  • Los comportamientos son todas las acciones que realiza el usuario y ser谩n verbos

  • Algo muy importante es entender el contexto de nuestros objetos

  • Para cada objeto defino sus propiedades y comportamientos

Otra forma de ver el valor que le asignamos a un atributo es diciendo que el valor que estamos asignando es un adjetivo de esa propiedad es decir, una descripcion particular.
e.g
color="rojo"
Estamos describiendo el color de nuestro objeto, el objeto es de color rojo.

Resumiendo bastante, para crear POO se hacen clases y luego se crean objetos a partir de dichas clases, que constituyen el modelo a partir del que se estructuran los datos y los comportamientos. Y es que quiz谩 el concepto m谩s importante sea distinguir entre clase y objeto.

Una clase es una plantilla, que define de modo gen茅rico c贸mo ser谩n los objetos de un determinado tipo. Por ejemplo, una clase para representar a animales puede denominarse 鈥榓nimal鈥 y disponer de una serie de atributos, como 鈥榥ombre鈥 o 鈥榚dad鈥 (que habitualmente son propiedades), y una serie con los comportamientos que estos pueden tener, como caminar o comer, y que a su vez se implementan como m茅todos de la clase (funciones).

En POO com煤nmente el concepto que se utiliza es que un objeto

  • Es la Instancia de una clase, que es donde se encuentran las propiedades y comportamientos.

Ahora me queda claro como se relacionan 茅stos conceptos
OBJETO ( 馃惗 F铆sco 贸 馃挱 Conceptual )
Contiene
馃悤 Propiedades 馃惥 Comportamientos

Que se refieren a los:
Atributos y M茅todos.
Variables y Funciones.
Respectivamente

Para que se les haga m脿s facil saber los atributos que tendra su objeto piensenlo como si fuera una entidad para una base de datos

26/03/2022 Entendiendo verdaderamente POO鈥

Objeto telefonoMovil
Propiedades

  • Tama帽o
  • Color
  • Marca
  • Peso
  • Procesador
  • Tipo de pantalla
  • Almacenamiento Interno
  • Almacenamiento Externo
  • Tipo de c谩mara trasera
  • Tipo de c谩mara frontal
  • Flash
    Comportamientos
  • Llamar
  • Tomar fotos
  • Enviar mensajes
  • Guardar archivos
  • Descargar aplicaciones

Objeto: Celular
Propiedades (Atributos):

  • Tama帽o de pantalla
  • Peso
  • Color, etc.
    Comportamientos (M茅todos):
  • Enviar mensaje
  • Hacer una llamada
  • Tomar una fotograf铆a
  • Ingresar a una aplicaci贸n, etc.

Si tengo una clase Triangulo y quiero obtener su 谩rea, el m茅todo de obtener el 谩rea le corresponde al Triangulo ? o le corresponde a otra clase encargada de obtener el 谩rea como por ejemplo una clase abstracta ? esa es mi pregunta

https://www.teatroabadia.com/es/uploads/documentos/iagramas_del_uml.pdf

les recomiendo esta lectura que complementa lo que menciona esta lecci贸n

Cu谩l ser铆a el contexto del objeto FACTURA DE VENTA.
Cu谩les ser铆an algunas de sus propiedades y comportamientos?

el metodo son las cosas que puede hacer nuestro atributo

驴Como seria desglosar un Planeta en un objeto? 馃

Objeto f铆sico Port谩til

Atributos

  • Tama帽o
  • Color
  • Marca
  • Puertos
  • M茅todos de entrada

Comportamiento

  • Escritura y lectura de documentos
  • Entretenimiento
  • Movilidad
  • Ejecuci贸n de programas

Mi aporte del objeto Perro.

Deberia de haber una secci贸n de shitpost para los don comedia.

Todo lo que nos rodea es un Objeto u Objetable (convertirse en un objeto)

Objetos

Cuando tengamos un problema lo primero que debemos hacer es identificar Objetos.

Los Objetos son aquellos que tienen propiedades y comportamientos, tambi茅n ser谩n sustantivos. Pueden ser f铆sicos o conceptuales.

Las Propiedades tambi茅n pueden llamarse atributos y estos tambi茅n ser谩n sustantivos. Algunos atributos o propiedades son nombre, tama帽o, forma, estado, etc. Son todas las caracter铆sticas del objeto.

Los Comportamientos ser谩n todas las operaciones que el objeto puede hacer, suelen ser verbos o sustantivos y verbo. Algunos ejemplos pueden ser que el usuario pueda hacer login() y logout(), makeReport().

Ejemplo

  • Objeto: Perro
  • Propiedades: + nombre, + color, + raza, + altura.
  • Comportamientos: + ladrar, + comer, + dormir, + correr.

2+2 son 4, creo que he visto eso en los videos de freddy.

me pareci贸 muy interesante, en algunas partes me choc贸 lo de que el nombre es la propiedad y no el nombre en s铆, pero vengo de ense帽anza convencional y pas茅 de noche en algunas cosas jajajjajaa, me agrada expandir los horizontes y no quedarme estancado

Hola dejo mi humilde aporte :3

-----Perro----

Propiedades:
+nombre
+color
+raza
+altura
+peso
+sexo
+nacimiento

Comportamientos:
+ladrar
+comer
+dormir
+correr
+defecar
+reproducirse
+olfatear
+jugar
+chillar

En OOP, un objeto es una entidad que representa un elemento del mundo real o un concepto abstracto y que tiene una combinaci贸n de propiedades (atributos) y comportamientos (m茅todos). Cada objeto es una instancia de una clase, que es una plantilla que define qu茅 propiedades y comportamientos tienen los objetos que se crean a partir de ella.

Para crear un objeto, se utiliza una constructora, que es una funci贸n especial que se utiliza para crear una nueva instancia de una clase. En la constructora se asignan valores a los atributos y se definen las acciones que puede realizar el objeto. Una vez creado, el objeto puede interactuar con otros objetos y utilizar sus m茅todos para realizar tareas espec铆ficas.

  • Es Identificar los objetos: Propiedades, comportamientos.
    puedes ser objetos o conceptuales

  • Atributos son sustantivos y tambi茅n tienen comportamiento

  • comportamiento: operaciones del objeto, son verbos, sustantivos

Si el objeto es un sustantivo, las propiedades 驴no ser铆an adjetivos de ese objeto en lugar de sustantivos como vos dec铆s?

Mis notas!

Objetos (F铆sico 鈥淯na persona鈥 o conceptual 鈥淪esi贸n De Usuario鈥) siempre va a tener:

  1. Propiedades (Caracter铆sticas, atributos, cualidades)
  2. Comportamientos (Acciones, funciones, operaciones)

Durante toda mi carrera batall茅 con este tema, me encant贸 esta explicacion!!

No estoy de acuerdo con el comportamiento serAdoptado puesto que es algo que el perro no puede hacer. M谩s bien, a una persona le pongo un comportamiento de adoptarMascota(Perro perro)

Los doggos!!

  • Diagrama UML OBJETO

  • Clases:

Perro
Ficha adopcion

隆Apuntes!

En esta clase se defini贸 lo que es un objeto.
Dentro de la programaci贸n orientada a objetos, el primer paso siempre es la identificaci贸n de los mismos. As铆, para identificarlos podemos definirlos como aquellas cosas que tienen tanto propiedades como comportamientos. Un objeto, definido de esta manera, tendr谩 tanto unas caracter铆sticas concretas (propiedades) como un abanico de acciones posibles de ejecutar (comportamientos).

Ahondando m谩s en la definici贸n, las propiedades de un objeto son las cualidades que, dentro del contexto, consideramos importantes. Por ejemplo, las cualidades de un doctor, en un hospital, deben limitarse a lo que se necesite de este en terminos del servicio de salud (como su especialidad, sus horarios, sus a帽os de experiencia etc鈥). A nadie le importa (y tampoco es relevante en el proyecto) si el doctor es gay, est谩 casado o incluso si es presidente del club de fans de Harry Potter, pues no tiene nada que ver con el contexto del caso (est谩 en un hospital).

Por otro lado, los comportamientos son las acciones que pueden darse en el contexto del caso. Volviendo al ejemplo del doctor, sus acciones tienen que enmarcarse en lo que deber铆a hacer en un hospital, no fuera de este. As铆, jugar golf, ir de fiesta o poder correr 100mts en 10 segundos son acciones que a nadie le importan. Las acciones que en este contexto s铆 son relevantes son, por ejemplo, sanar heridas, hacer diagn贸sticos, establecer l铆mites profesionales, etc鈥

El entender de esta manera a los objetos permite ver que pueden ser divididos entre los f铆sicos y los conceptuales. Lo que los diferencia es que mientras el primero se puede tocar, el segundo no. Este 煤ltimo, en tanto objeto, debe regirse por el mismo criterio de definici贸n: estar implicado en un contexto (del cual se desprenden tanto sus propiedades como comportamientos).

clase perro puede tener: edad, raza, due帽o etc

Objetos:
Los objetos se identifican porque tienen propiedades y comportamientos (sus nombres son sustantivos).
Los objetos pueden ser f铆sicos (presentes en la realidad como casa, perro, coche, etc) o conceptuales (presentes en la realidad virtual como registro, sesi贸n, etc)

  • Las propiedades o atributos son sustantivos que se帽alan una caracter铆stica del objeto, no confundamos los resultados o valores del atributo con el atributo en s铆

  • Los comportamientos son las operaciones que puede realizar el objeto, suelens er verbos o sustantivos con verbos (indican acciones)

Nota:
El contexto es muy importante de el dependen las propiedades y comportmaientos relevantes del objeto

Atributos:
+ sexo
+ pelaje
+ orejas
+ edad
Comportamientos:
+ saltar
+ nadar
+ atacar
+ tomar_agua

馃槂

Tambi茅n los atributos deber铆an ser relevantes para el problema que queramos solucionar.
Por ejemplo le agregar铆a el atributo car谩cter.
Si queremos adoptar una mascota esto es relevante a la hora de ser elegible (por ejemplo si el perro es sociable con otros animales porque ya tenemos un gato en nuestra casa) y al fin de cuentas es una caracter铆stica propia del animal y por tanto entiendo un atributo y no un m茅todo.
Con esto voy a que, a la hora de pensar en los atributos no hay que perder de vista el entorno y que cosas van a ser relevantes para nuestro problema a solucionar 馃槂

Anah铆 en el primer v铆deo: no vamos a ver ejemplos con perritos
Also Anah铆 en el 8vo v铆deo: ya que mi gente! a ver veamos el ejemplo del perrito! xd

Rescato algo muy importante de la explicacion de Anahi sobre ir directo al codigo. Una parte muy importante del paradigma de objetos es la forma de pensar. Hay una abstraccion que ya casi no se nombra (le gana la abstraccion como caracteristica de implementacion) que es la forma de desarrollar. Como dice Anahi en la funcional es muy normal atacar directamente el codigo y mientras se codifica tomar decisiones. En la orientacion a objetos el dise帽o de las clases es muy importante porque define 鈥渃ontratos鈥 de esa clase en relacion a su funcionalidad y relacion con otros objetos (mediante mensajes) lo que hace que se pueda dividir el desarrollo en distintos equipos ya que deben respetar ese contrato (que la interfaz ayuda a declarar) con lo que al dise帽ar se 鈥渁bstrae鈥 de la implementacion (asbtraccion como forma de pensamiento) y cuando se unen distintos objetos desarrollados por separado si el dise帽o esta bien hecho y las clases cumplen con las especificaciones debe funcionar. Incluso se puede cambiar una clase mientras respete la implementacion del contrato sin que afecte al sistema (contrario a la funcional donde cualquier cambio podia tener impacto). De esa forma al codificar se debe respetar la interface y si se encuentra un impedimento se debe volver al dise帽o porque cada objetos se comunica con otros mediante mensajes (definidos en la 鈥渋nterfaz鈥 o contrato) evitando las decisiones al momento de codificar (salvo metodos privados que no afecten el contrato y sean necesario para el funcionamiento). Lo que buscaba el paradigma era cambiar el modo de pensar para evitar los problemas de la programacion funcional (y se recomendaba a tal efecto que aunque no se codificara orientado a objetos se dise帽e orientado a objetos) Por eso me parece muy importante destacar ese punto de la explicacion de Anahi.

Algo muy importante para tomar las caracter铆sticas de un objeto es el contexto.

Objetos (Fisicos y conceptuales)

  • Propiedades : tambien pueden llamarse atributos seran sustantivos : nombre, tama帽o, forma y estado (son todas las caracteristicas)

  • Comportamiento : seran todas las operaciones del objeto, suelen ser verbos o sustantivos y verbo
    login(), logout(), makeReport()

  • Objeto Perro

  • Atributos nombre, color, raza y altura

  • Comportamiento ladra, comer , dormir , correr

Adopciones

  • Id
  • nombre
  • color
  • raza
  • altura

comportamiento

  • ser Adoptado ()

Para entender mejor esto podemos decir que cada objeto hace la funci贸n de un mini programa dentro de la aplicaci贸n, donde cada objeto contiene sus propios datos, su propia l贸gica y se comunican entre ellos.
Anahi ha dicho algo muy importante y es que los objetos de un programa no son solo los que tiene apariencia visual en la pantalla, como en el caso de los botones, contadores o naves en un video juego, pero tambi茅n pueden ser objetos una matriz o un temporizador.

驴Pero como saber si algo en mi aplicaci贸n puede ser un objeto?
Una pista o ayuda puede ser, si puedo poner delante de ese elemento la palabra (el o la) , ya tenemos aqu铆 posibles objetos.
La hora.
La cuenta.
El carro
El ojo.
Pero ojo que podemos decir tambi茅n la explosi贸n, el sonido, como vemos estos son m茅todos o acciones que provienen de un objeto por tanto se convierten en los m茅todos.

En el contexto del sistema de adopciones yo a帽adir铆a el atributo estado para saber si ya ha sido adoptado o no.

Definici贸n
Sustantivo es el nombre que le damos a las cosas, las personas, los animales o los lugares, es decir, es la palabra que sirve para designar a todos los seres, reales o imaginarios. Los sustantivos son todas las palabras que podemos utilizar para referirnos tambi茅n a los objetos, ya sea material abstracto, animado o inanimado. Muchas de las palabras que se utilizan diariamente son sustantivos y son tambi茅n el sujeto de la oraci贸n.

Caracter铆sticas
Las caracter铆sticas m谩s importantes que tienen los sustantivos son las siguientes:

  1. Los sustantivos siempre se deben iniciar a escribir utilizando una letra may煤scula.

  2. Son palabras que pueden escribirse en masculino o en femenino.

  3. Tambi茅n pueden ser escritos en forma singular o plural.

  4. Funcionan como el n煤cleo de un sintagma nominal.

  5. Se acompa帽an por lo general de adjetivos.

  6. Tienen concordancia con el adjetivo y el n煤mero.

https://www.euston96.com/sustantivos/

El tema del 鈥楶erro鈥 lo mencion贸 como ejemplo base, despu茅s lo extendi贸 a 鈥楢dopciones鈥.

Objetos, propiedades y comportamientos.