@icarusmx/creta 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -125,7 +125,7 @@ deposit(100) // ¿A cuál cuenta?`
|
|
|
125
125
|
console.log("=" .repeat(50))
|
|
126
126
|
|
|
127
127
|
console.log("\n💡 Un objeto AGRUPA datos y procedimientos")
|
|
128
|
-
console.log("Los datos quedan unidos con
|
|
128
|
+
console.log("Los datos quedan unidos con las operaciones que los manipulan")
|
|
129
129
|
|
|
130
130
|
await this.waitForEnter("\nPresiona Enter para ver el código...")
|
|
131
131
|
|
|
@@ -138,7 +138,7 @@ deposit(100) // ¿A cuál cuenta?`
|
|
|
138
138
|
this.isActive = true
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
//
|
|
141
|
+
// OPERACIONES que operan sobre ESTOS datos específicos
|
|
142
142
|
deposit(amount) {
|
|
143
143
|
if (!this.isActive) {
|
|
144
144
|
console.log("Cuenta inactiva")
|
|
@@ -200,7 +200,7 @@ account2.withdraw(200)
|
|
|
200
200
|
console.log(account1.getBalance()) // 5500
|
|
201
201
|
console.log(account2.getBalance()) // 2800
|
|
202
202
|
|
|
203
|
-
//
|
|
203
|
+
// Las operaciones operan sobre los datos del objeto específico
|
|
204
204
|
account1.deactivate()
|
|
205
205
|
console.log(account1.isActive) // false
|
|
206
206
|
console.log(account2.isActive) // true ← No afectado`
|
|
@@ -217,12 +217,12 @@ console.log(account2.isActive) // true ← No afectado`
|
|
|
217
217
|
|
|
218
218
|
console.log("\n🔴 Enfoque Procedural:")
|
|
219
219
|
console.log(" Datos: let balance = 5000")
|
|
220
|
-
console.log("
|
|
220
|
+
console.log(" Operación: function deposit(amount) { balance += amount }")
|
|
221
221
|
console.log(" ❌ Separados, sin relación formal")
|
|
222
222
|
|
|
223
223
|
console.log("\n🟢 Enfoque Orientado a Objetos:")
|
|
224
224
|
console.log(" Datos: this.balance = 5000")
|
|
225
|
-
console.log("
|
|
225
|
+
console.log(" Operación: deposit(amount) { this.balance += amount }")
|
|
226
226
|
console.log(" ✅ Unidos en el MISMO objeto")
|
|
227
227
|
|
|
228
228
|
await this.waitForEnter("\nPresiona Enter para ver ejemplo visual...")
|
|
@@ -240,7 +240,7 @@ console.log(account2.isActive) // true ← No afectado`
|
|
|
240
240
|
console.log("│ • balance = 5000 │")
|
|
241
241
|
console.log("│ • isActive = true │")
|
|
242
242
|
console.log("├─────────────────────────────────────┤")
|
|
243
|
-
console.log("│
|
|
243
|
+
console.log("│ OPERACIONES: │")
|
|
244
244
|
console.log("│ • deposit(amount) │")
|
|
245
245
|
console.log("│ • withdraw(amount) │")
|
|
246
246
|
console.log("│ • getBalance() │")
|
|
@@ -248,7 +248,7 @@ console.log(account2.isActive) // true ← No afectado`
|
|
|
248
248
|
console.log("└─────────────────────────────────────┘")
|
|
249
249
|
|
|
250
250
|
console.log("\n📌 Nota clave:")
|
|
251
|
-
console.log("
|
|
251
|
+
console.log("Las operaciones SOLO operan sobre los datos de ESTE objeto")
|
|
252
252
|
console.log("account1.deposit() modifica account1.balance")
|
|
253
253
|
console.log("account2.deposit() modifica account2.balance")
|
|
254
254
|
|
|
@@ -266,7 +266,7 @@ console.log(account2.isActive) // true ← No afectado`
|
|
|
266
266
|
this.totalAmount = 0
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
//
|
|
269
|
+
// OPERACIONES que operan sobre estos datos
|
|
270
270
|
addItem(product, quantity) {
|
|
271
271
|
const item = { product, quantity, price: product.price * quantity }
|
|
272
272
|
this.items.push(item)
|
|
@@ -320,8 +320,8 @@ console.log(cart.getItemCount()) // 3`
|
|
|
320
320
|
console.log("\n🔍 Desglose:")
|
|
321
321
|
console.log("1️⃣ CONJUNTO → agrupación unificada")
|
|
322
322
|
console.log("2️⃣ DATOS → información del objeto (this.balance, this.name)")
|
|
323
|
-
console.log("3️⃣ PROCEDIMIENTOS →
|
|
324
|
-
console.log("4️⃣ OPERAN SOBRE →
|
|
323
|
+
console.log("3️⃣ PROCEDIMIENTOS → operaciones del objeto (deposit, withdraw)")
|
|
324
|
+
console.log("4️⃣ OPERAN SOBRE → las operaciones modifican/leen los datos")
|
|
325
325
|
|
|
326
326
|
console.log("\n✅ Ventajas demostradas:")
|
|
327
327
|
console.log("• Encapsulación: datos y operaciones juntos")
|
|
@@ -336,7 +336,8 @@ console.log(cart.getItemCount()) // 3`
|
|
|
336
336
|
console.log("\n🔗 Conexión con otros enunciados:")
|
|
337
337
|
console.log("• Enunciado 1: Estos objetos son los que descomponemos del sistema")
|
|
338
338
|
console.log("• Enunciado 2: Estos objetos interactúan mediante solicitudes")
|
|
339
|
-
console.log("• Enunciado
|
|
339
|
+
console.log("• Enunciado 4: Cada operación tiene una firma (nombre, insumos, retorno)")
|
|
340
|
+
console.log("• Enunciado 5: La interfaz expone las operaciones disponibles")
|
|
340
341
|
|
|
341
342
|
console.log("\n💭 Reflexión:")
|
|
342
343
|
console.log("Antes de diseñar cómo los objetos interactúan,")
|