99#### Abstracción y Modelado de objetos
1010#### Representando el mundo real en clases
1111
12+ ---
13+ #### El mundo real
14+
15+ ---
16+
17+ Es todo lo que nos rodea.
18+
19+ Compuesto por todo lo que vemos, tocamos, olemos, escuchamos, sentimos e imaginamos.
20+
21+ ![ Mundo real] ( ./img/img01.jpeg ) <!-- .element width="30%"-->
22+
23+
24+ ---
25+ Cada cosa en el mundo real es un objeto. Sea tangible o intangible.
26+
27+ - 👤 Una persona
28+ - 🌃 Un lugar
29+ - 🐔 Un animal
30+ - 😮 Un sentimiento
31+ - 💡 Una idea
32+
33+
1234---
1335
1436#### Objeto
1739
1840---
1941- Es una entidad que tiene un estado y un comportamiento.
20- - Es una representación de algo en el mundo real.
21- - Es una unidad de programación que agrupa datos y comportamientos relacionados
42+
43+ # 🥚🐣🐤🐔
2244
2345---
46+ - Es la representación de algo en el mundo real.
47+
48+ # 🌎 🌃 🎼
2449
25- Objetos
50+ - Es una unidad de programación que contiene datos.
2651
27- # 🍅 🛒 🚗 💸 🎶 🌸
52+ # 📦 🍱
2853
2954---
3055
31- Un objeto tiene:
56+ Un objeto tiene
3257
33- - ** Estado** : Es la información que el objeto tiene en un momento dado.
58+ - ** Estado** : Es la información que tiene en un momento del tiempo (Características).
3459- ** Comportamiento** : Es lo que el objeto puede hacer o lo que le puede suceder.
3560- ** Identidad** : Es lo que distingue a un objeto de otro.
3661
3762---
3863
39- Estado de un objeto
64+ Una canción como un objeto
65+
66+ 🎼 Hello - Lionel Richie
67+
68+ ---
69+
70+ ## Estado
71+
72+ - 🎼 Título: Hello
73+ - 🎤 Artista: Lionel Richie
74+ - ⏱️ Duración: 4:14
75+ - 🎧 Género: Pop / Soul
76+ - ⏳ Año: 1984
77+
78+ ---
79+
80+ ## Comportamiento
81+
82+ ⚙️ Lo que puede hacer o lo que le puede pasar
83+
84+ - ▶️ Reproducir
85+ - ⏸️ Pausar
86+ - ⏹️ Detener
87+ - 🔊 Subir volumen
88+ - 🔉 Bajar volumen
89+ - 🔁 Repetir
90+ - ➕ Añadir a playlist
91+
92+ ---
93+
94+ ## Identidad
95+
96+ 🆔 Es una canción única
97+
98+ - 💿 Canción: Hello
99+ - 🎤 Artista: Lionel Richie (1984)
100+ - 💿 Canción: Hello
101+ - 🎤 Artista: Adele (2015)
102+
103+ ---
104+ #### Preparando el proyecto para las sesiones
105+
106+ - Crear un repositorio en GitHub con el nombre ** psg-oop-2025**
107+ - Añadir el archivo ** README.md** y el archivo ** .gitignore** para Python
108+
109+ ---
110+ Clonar el repositorio en tu computadora
111+
112+ ``` bash
113+ git clone https://github.com/< usuario> /psg-oop-2025.git
114+ ```
115+
116+ Abrir el proyecto en VSCode
117+
118+ ``` bash
119+ code psg-oop-2025
120+ ```
121+
122+ ---
123+ Crear una carpeta con el nombre ** sesion01**
124+
125+ Los archivos de esta sesión deben estar dentro de la carpeta ** sesion01**
126+
127+ Al finalizar la sesión, subiremos los cambios al repositorio en un commit
128+
129+ ---
130+ Ejemplo 01
131+
132+ Crear el archivo ** ejemplo01.txt** en la carpeta ** sesion01**
40133
41- # 🎼
134+ ``` markdown
135+ Obtener el estado, comportamiento y comparar las identidades de
136+
137+ - "Stay" de Rihanna & Mikky Ekko
138+ - "Stay" de The Kid LAROI & Justin Bieber
139+ ```
42140
43- ## ⏳ 🎹 🎸 🥁 🎤
141+ ---
142+
143+ 🎼 Stay - Rihanna & Mikky Ekko
144+
145+ ``` text
146+ Estado:
147+ Título: Stay
148+ Artista: Rihanna, Mikky Ekko
149+ Duración: 4:00
150+ Género: Pop
151+ Año: 2013
152+
153+ Comportamiento:
154+ Reproducir
155+ Pausar
156+ Detener
157+ Subir volumen
158+ Bajar volumen
159+ Repetir
160+
161+ Identidad:
162+ - Stay, Rihanna & Mikky Ekko, Pop, 2013
163+ ```
44164
45165---
46166
47- Comportamiento de un objeto
167+ 3 Minutos
168+
169+ 🎼 Stay - The Kid LAROI & Justin Bieber
48170
49- # 🎼
50- ## ▶ ⏸ ⏹ 🔈 🔊 🔁
171+ <iframe src =" https://time-stuff.com/embed.html " frameborder =" 0 " scrolling =" no " width =" 391 " height =" 140 " ></iframe >
51172
52173---
53174
54- Identidad de un objeto
175+ 🎼 Stay - The Kid LAROI & Justin Bieber
55176
56- # 🎼
57- ### 💿 Hello - Lionel Richie (1984)
58- ### 💿 Hello - Adele (2015)
177+ ``` text
178+ Estado:
179+ Título: Stay
180+ Artista: The Kid LAROI, Justin Bieber
181+ Duración: 2:21
182+ Género: Pop, Hip-hop
183+ Año: 2021
184+
185+ Comportamiento:
186+ Reproducir
187+ Pausar
188+ Detener
189+ Subir volumen
190+ Bajar volumen
191+ Repetir
192+
193+ Identidad:
194+ - Stay, The Kid LAROI & Justin Bieber, Pop / Hip-hop, 2021
195+ ```
59196
60197---
61- El proceso para convertir un objeto del mundo real en un objeto de programación se llama ** modelado** .
198+
199+ ``` text
200+ No son la misma canción pueden ser similares
201+ en algunos aspectos, pero son diferentes.
202+ ```
62203
63204---
64- #### Modelado
205+ #### Modelado
65206
66- Es el proceso de identificar las características y comportamientos de un objeto en el mundo real y representarlos en un programa.
207+ Es el proceso de identificar las características y comportamientos de un objeto del mundo real
208+
209+ Y llevar el objeto con sus características a un objeto programable
67210
68211Es una forma de ** abstracción** .
69212
@@ -75,52 +218,125 @@ Es una forma de **abstracción**.
75218
76219---
77220
78- - Es separar lo importante de lo trivial.
221+ - Es separar lo importante de lo trivial.
79222- Es un proceso mental que nos permite enfocarnos en lo que es relevante para resolver un problema.
80223- Es un proceso de simplificación del mundo real a través de la identificación de las características.
81224
82225---
226+ Un tomate ¿qué es?
83227
84228# 🍅
85229
86230``` text[1|2|3|4|6]
87- Un tomate es una fruta.
88- Un tomate es rojo.
89- Un tomate es dulce.
90- Un tomate es redondo.
231+ Un tomate es una fruta (tipo)
232+ Un tomate es rojo (color)
233+ Un tomate es dulce (sabor)
234+ Un tomate es redondo (forma)
91235
92236Un tomate es una fruta roja, dulce y redonda.
93237```
94238<!-- .element class="fragment" data-fragment-index="1"-->
95239
96240---
97- Las características son relativas a un contexto.
241+ Las características importantes dependen del contexto.
98242
99243---
100244
245+ Un tomate para la agricultura ¿qué características importan?
246+
101247# 🍅
102248
103- ``` markdown [2-3|5-6|8-9|11-12|14-15|17-18]
104- # Contexto en:
105- Agricultura: Que crezca saludable y no tenga plagas
106- - (plagas y enfermedades)
249+ ``` markdown
250+ - Especie de tomate (tipo)
251+ - Color del tomate (color)
252+ - Presencia de defectos (calidad)
253+ - Presencia de hongos o insectos (plagas)
254+ - Uso de pesticidas (pesticidas)
255+ - Estado de madurez (madurez)
256+ ```
257+
258+ ---
259+ Un tomate en el contexto culinario ¿qué características importan?
260+
261+ # 🍅
107262
108- Transporte: Que sea fácil de transportar y almacenar
109- - (tamaño y peso)
263+ ``` markdown
264+ - Color del tomate (color)
265+ - Tamaño del tomate (tamaño)
266+ - Textura del tomate (textura)
267+ - Forma del tomate (forma)
268+ - Porcentaje de azúcar (sabor)
269+ - Cantidad de jugo (jugosidad)
270+ ```
110271
111- Nutricional: Que aporte nutrientes y sea saludable
112- - (vitaminas y minerales)
272+ ---
113273
114- Culinaria: Que sea sabroso y tenga buena textura
115- - (sabor y textura)
274+ Un tomate en el contexto de la nutrición ¿qué características importan?
116275
117- Consumidor: Que sea atractivo y tenga buen sabor
118- - (color, sabor, precio)
276+ # 🍅
119277
120- Finanzas: Que sea rentable y tenga un precio competitivo
121- - (costo y tamaño)
278+ ``` markdown
279+ - Porcentaje de agua (hidratación)
280+ - Porcentaje de fibra (fibra)
281+ - Porcentaje de carbohidratos (carbohidratos)
282+ - Porcentaje de proteínas (proteínas)
283+ - Porcentaje de grasas (grasas)
284+ - Porcentaje de vitaminas (vitaminas)
285+ ```
286+
287+ ---
288+ El mundo real es complejo y está lleno de detalles.
289+
290+ La identificación de las características importantes es un proceso que depende del contexto.
291+
292+ > El contexto define qué es importante y qué no.
293+
294+ ---
295+ Ejercicio 02
296+
297+ Crear el archivo ** ejercicio02.txt** en la carpeta ** sesion01**
298+
299+ ``` markdown
300+ Identifica las características importantes para una canción
301+
302+ - En el contexto del marketing
303+ - En el contexto del trending en redes
304+
305+ Mínimo 5 para cada contexto
306+ ```
307+
308+ ---
309+
310+ ``` markdown
311+ Una canción en el contexto del marketing:
312+
313+ - Título de la canción (título)
314+ - Artista de la canción (artista)
315+ - Género de la canción (género)
316+ - Año de lanzamiento (año)
317+ - Plataformas de streaming (plataformas)
318+ - Cantidad de ventas (ventas)
319+ ```
320+
321+ ---
322+
323+ Una canción en el contexto del trending en redes
324+
325+ 3 minutos
326+
327+ <iframe src =" https://time-stuff.com/embed.html " frameborder =" 0 " scrolling =" no " width =" 391 " height =" 140 " ></iframe >
328+
329+ ---
330+
331+ ``` markdown
332+ Una canción en el contexto del trending en redes:
333+
334+ - Título de la canción (título)
335+ - Artista de la canción (artista)
336+ - Cantidad de reproducciones (reproducciones)
337+ - Cantidad de reacciones (reacciones)
338+ - Cantidad de reutilizaciones (viralidad)
122339```
123- <!-- .element class="fragment" data-fragment-index="1"-->
124340
125341---
126342
@@ -198,18 +414,6 @@ En el desarrollo iterativo, una pequeña parte de la tarea se modela, diseña y
198414
199415![ Iteración] ( ./img/img01.svg )
200416
201- ---
202- #### Preparando el proyecto para las sesiones
203-
204- - Crear un repositorio en GitHub con el nombre ** psg-oop-2025**
205- - Añadir el archivo ** README.md** y el archivo ** .gitignore** para Python
206- - Clonar el repositorio en tu computadora
207- - Abrir el proyecto en VSCode
208-
209- ---
210- - Crear una carpeta con el nombre ** sesion01**
211- - Los archivos de esta sesión deben estar dentro de la carpeta ** sesion01**
212- - Subir el avance al repositorio de GitHub
213417
214418---
215419#### Ejemplo 01
@@ -828,4 +1032,5 @@ Repositorio de la Sesión
8281032- [ Guía PEP 8] ( https://peps.python.org/pep-0008/#class-names )
8291033- [ Mermaid Charts] ( https://www.mermaidchart.com/play )
8301034- [ Draw.io] ( https://app.diagrams.net/ )
831- - [ Python 3 Object-oriented Programming, Second Edition, Dusty PhillipsDusty Phillips] ( https://github.com/PacktPublishing/Python-3-Object-Oriented-Programming-Second-Edition )
1035+ - [ Python 3 Object-oriented Programming, Second Edition, Dusty PhillipsDusty Phillips] ( https://github.com/PacktPublishing/Python-3-Object-Oriented-Programming-Second-Edition )
1036+ https://ebac.mx/blog/objeto-en-programacion
0 commit comments