0% encontró este documento útil (0 votos)
13 vistas13 páginas

Clase7 POO

Cargado por

devmondidev
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas13 páginas

Clase7 POO

Cargado por

devmondidev
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación orientada a objetos

Clases - Métodos - Herencia


Programación

Estructurada

Limitaciones:
Función ● La descomposición de programas en
funciones no es suficiente para conseguir la
reusabilidad de código.
Función
● Es difícil entender, mantener y actualizar un
Datos programa que consiste de una gran
Función colección de funciones.

Solución:
Función
Programación orientada a objetos
● Estilo de programación en el que las tareas
se resuelven mediante la colaboración de
objetos.
Ej: Fortran, C, pascal

2
Programación

Estructurada Orientada a objetos (POO)

Función Aplicación

Función Objeto Objeto


Datos
Función Datos Datos

Función

Métodos Métodos

Ej: Fortran, C, pascal Ej: Java, C++, Python

3
Programación orientada a objetos
● Clase:
○ Es una plantilla de entidades del mismo tipo
○ Una realización particular de una clase se llama instancia
○ Para crear una instancia se invoca el constructor
ejemplo: nombre_instancia = nombre_clase(args)
● Objeto:
○ Es una instancia particular de una clase
○ Formada por: atributos de datos (variables) y comportamiento (métodos)
○ Para acceder un atributo/método se usa el operador punto
ejemplo: nombre_objeto.nombre_atributo
nombre_objeto.nombre_método

4
POO - Un ejemplo
● Creamos una clase llamada Mascota
○ Dentro de la clase vamos a definir los atributos
Nombre
Especie
Peso
Atención: Cuando creamos una nueva mascota, necesitamos dar estas
informaciones (atributos de datos)
○ También dentro de clase vamos a definir los métodos: funciones que nos van a
permitir interactuar con nuestros datos
PuedeCorrer()
Identificacion()

● Una vez definida la clase, la vamos a usar:


○ Creamos una instancia:
tito = Mascota("Tito","Perro",6)
○ Le aplicamos un método a la instancia creada:
tito.Identificacion()

5
Otro ejemplo:
● Queremos hacer un programa de control de cuentas de clientes en una red bancaria
● Necesitamos guardar las informaciones sobre cada cuenta bancaria
● Creamos una clase para representar exactamente este tipo de dato cuenta que agregue las
informaciones y comportamientos básicos de una cuenta corriente.

● Creamos la clase Cuenta


○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

6
Otro ejemplo:
● Creamos la clase Cuenta
○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

● Creamos el objeto c1 con CC 1234-5 y saldo de $100


[] c1 = Cuenta (1234-5, 100)

7
Otro ejemplo:
● Creamos la clase Cuenta
○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

● Creamos el objeto c1 con CC 1234-5 y saldo de $100


[] c1 = Cuenta (1234-5, 100)

● Le pedimos el saldo en cuenta


[] c1.resumen()

8
Otro ejemplo:
● Creamos la clase Cuenta
○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

● Creamos el objeto c1 con CC 1234-5 y saldo de $100


[] c1 = Cuenta (1234-5, 100)

● Le pedimos el saldo en cuenta


[] c1.resumen()
CC número 1234-5 tiene saldo 100

9
Otro ejemplo:
● Creamos la clase Cuenta
○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

● Creamos el objeto c1 con CC 1234-5 y saldo de $100


[] c1 = Cuenta (1234-5, 100)

● Le pedimos el saldo en cuenta


[] c1.resumen()

● Retiramos de cuenta $30


[] c1.extraccion(30)

10
Otro ejemplo:
● Creamos la clase Cuenta
○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

● Creamos el objeto c1 con CC 1234-5 y saldo de $100


[] c1 = Cuenta (1234-5, 100)

● Le pedimos el saldo en cuenta ● Le pedimos nuevamente el saldo en cuenta


[] c1.resumen() [] c1.resumen()

● Retiramos de cuenta $30


[] c1.extraccion(30)

11
Otro ejemplo:
● Creamos la clase Cuenta
○ Atributos:
saldo
numero
○ Métodos:
resumen() (imprime CC número numero tiene saldo saldo)
extraccion(valor) (sustrae el valor dado a saldo)
deposito(valor) (adiciona el valor dado a saldo)

● Creamos el objeto c1 con CC 1234-5 y saldo de $100


[] c1 = Cuenta (1234-5, 100)

● Le pedimos el saldo en cuenta ● Le pedimos nuevamente el saldo en cuenta


[] c1.resumen() [] c1.resumen()

● Retiramos de cuenta $30 CC número 1234-5 tiene saldo 70


[] c1.extraccion(30)

12
Principio de la POO
● Usamos clases y objetos para facilitar la construcción de programas más complejos

● Notemos que en los métodos de extraccion y deposito no es necesario pasar el saldo como
parámetro, solo pasamos el valor a ser sacado o depositado

● Este efecto de memória o de permanencia de los atributos es intencionado para evitar estar
pasando muchos parámetros cuando estamos lidiando con informaciones complejas en nuestros
programas.

● La idea es imitar el comportamiento de objetos del mundo real: al hacer un depósito o extracción
en una cuenta, no necesitamos informar al banco cual es el saldo de la cuenta.

● Una clase puede ser instanciada varias veces: o sea podemos tener muchos objetos, en nuestro
ejemplo diferentes personas: c1, c2, c3, …. , cN (todos los clientes del banco)

● El programa en ejecución es como una tela de objetos que se comunican entre sí a través de
mensajes

13

También podría gustarte