Clase 01 POO
Clase 01 POO
Clase 01 POO
www.senati.edu.pe
Instalación
1. Descargar el Producto:
https://www.anaconda.com/
2. Descargamos para el tipo de SO
que usamos
3. Instalación sencilla, damos,
Siguiente hasta terminar
www.senati.edu.pe
Entorno de trabajo de Anaconda Navigator
www.senati.edu.pe
Configu
ración
de
Archivos
Se podrán
instalar
librerías o
archivos desde
Enviroments
www.senati.edu.pe
CMD pront
1. La consola de Anaconda
www.senati.edu.pe
Definición de POO
Es una forma de programación que
permite representar directamente en
el programa los elementos del
espacio del problema
www.senati.edu.pe
Evolución de la POO
Surge en Noruega en 1967 con En 1997-98 se desarrollan
En 1996 surge
un lenguaje llamado Simula 67,
desarrollado por Krinsten un desarrollo herramientas ‘CASE’
Nygaard y Ole-Johan Dahl, en llamado JAVA orientadas a objetos (como el
el centro de cálculo noruego. (extensión de diseño asistido por
En los 70’s científicos del C++). Su computadora).
centro de investigación en Palo filosofía es
Alto Xerox (Xerox park) aprovechar el Del 98 a la fecha se desarrolla
inventaron el lenguaje Small
talk software la arquitectura de objetos
existente. distribuidos RMI, Corba,
En los 80’s AT&T Labs, amplió
el lenguaje C para crear C++ COM, DCOM.
que soporta la programación
Orientada a Objetos.
www.senati.edu.pe
Diferencia de la Programación estructurado y POO
Basado en Funciones
Programa divido en Muchas
funciones Basado en objetos
Crece drásticamente la cantidad Programa parecido a la realidad
de código El crecimiento no afecta el
Organización del código en programa
bloques de sentencias Un sistema cliente
consecutivas Es totalmente reutilizable
Llamadas a nuevas funciones y Encapsulamiento, oculta la
procedimientos complejidad interna y detalles de
Favorece la reutilización los datos y las operaciones
Variables globales sin protección
www.senati.edu.pe
Características Principales de POO
www.senati.edu.pe
Clase: Motocicleta
Definición de Clases Características:
Nos Referimos a información Marca
organizada, sistematizada de Numero de llantas
acuerdo a una clasificación, y Numero Serie
esto es algo que a diario Placa
Ejemplos Color
hacemos, para referirnos a Cilindraje
objetos que tienen las mismas
características y
funcionalidades. Operaciones
Arrancar()
Clasificar y determinar objetos Apagar()
es propio del ser humano, así Acelerar()
surgió esta forma de Frenar()
programación. Virar()
www.senati.edu.pe
¿Es hora de los repaso?
www.senati.edu.pe
Ejemplos de aplicación 1
www.senati.edu.pe
Definición de Objetos Del ejemplo Anterior
www.senati.edu.pe
Estado de un Objeto
Abarca todas las propiedades del objeto, y los valores
actuales de cada una de esas propiedades. Las
propiedades de los objetos suelen ser estáticas, mientras
los valores que toman estas propiedades cambian con el
tiempo.
1. EL estado de un objeto implica que ocupan un espacio,
ya en el mundo físico , ya en la memoria del
ordenador.
2. Está influido por la historia del objeto.
3. No deben confundirse los objetos, que existen en el
tiempo, son mutables, tienen estado, pueden ser
creados, destruidos y compartidos..., con los valores
4. El estado de un objeto representa su comportamiento.
www.senati.edu.pe
Comportamiento de un Objeto
Es como un objeto actua y reacciona, en términos de sus cambios de
estado y de los mensajes que intercambia.
Representa su actividad externamente visible y testable. Son las
operaciones que una clase realiza (llamadas también mensajes) las
que dan cuenta de como se comporta la clase
1. Modificador: altera el estado de un objeto.
2. Selector: accede al estado de un objeto, sin alterarlo.
3. Iterador: permite a todas las partes de un objeto ser accedidas
en un orden.
4. Constructor: crea un objeto y/o inicializa su estado.
5. Destructor: libera el estado de un objeto y/o destruye el objeto.
www.senati.edu.pe
Propiedades, Métodos y Objetos
www.senati.edu.pe
Tipos de Métodos de un Clase
Ejemplo:
Métodos que calcula y muestra el
1. Métodos que retornan promedio de notas.
UN valor Método que calcula y devuelve el
área de un triangulo
Ejemplo:
2. Métodos que retornan Métodos que lea las notas de un
un procedimiento alumno.
Método que imprima en pantalla
los términos de un proyección
estadistica
www.senati.edu.pe
Fases de la Vida de un objeto
1. Las fases son:
www.senati.edu.pe
Ejemplos de aplicación 2
www.senati.edu.pe
Abstracción y Ocultamiento de Información
Abstracción: tiene que ver con traer de la vida real
al modelado e implantación en un software
www.senati.edu.pe
Constructores
• Es un método que sirve para inicializar las propiedades de una clase.
• Se ejecuta cuando se crea el objeto.
• Siempre es publico
• NO retorna ningún valor.
• En python se hace con __init__
Destructores
1. Es el método contrario al constructor
2. Su uso por excelencia es ser el compilador de python
3. En python se hace con __del__
www.senati.edu.pe
Ejemplos Explicativos de Constructores y destructores
La Clase Galleta
La Clase Película
La Clase tacacho
www.senati.edu.pe
Ejemplos Explicativos de Constructores y destructores
La Clase Película
www.senati.edu.pe
Ejemplos Explicativos de Constructores y destructores
La Clase tacacho
www.senati.edu.pe
Sobrecargas de operaciones
1. Un método se identifica por su nombre, la Ejemplo Explicativo
cantidad de parámetros y el tipo de sus
parámetros; esto es la firma del método El operador + si esta
2. La sobrecarga perite tener varios métodos con tipo de datos
con el mismo nombre pero con diferentes numéricos, sumara
firma
3. Los métodos tendrán comportamientos El operador + si esta
diferentes según el tipo de datos de sus con tipo de datos
parámetros cadena,
concatenara.
www.senati.edu.pe
Editores de Código
1. Sublime Text
2. Pycharm
3. Visual Code
4. Atom
5. Notepad++
6. Bloc de notas
www.senati.edu.pe
Un entorno de desarrollo integrado, en inglés
IDEs Integrated Development Environment (IDE)
www.senati.edu.pe
IDE por defecto para Python
www.senati.edu.pe
Preguntas de Investigación 1
1. Que es un lenguaje Compilado
2. Que es IDE
3. Hable sobre Indentacion en Python
4. ¿Se puede programar en el Shell de Python?.
Explique su respuesta
5. Que es algoritmo
6. Que es un lenguaje de programación, nombre 10
de ellos
7. Que es una variable en Python y un tipo de datos
en Python
www.senati.edu.pe
Bloque de Ejercicios 1
Desarrollar los siguientes algoritmos y prográmelos en Python:
1. Realizar un sistemita con clases que calcule el área y perímetro de un triangulo
rectángulo. Nota este primer ejercicio desarróllalo con programación estructurada y
luego con POO, para tener diferencias claras entre ellas.
2. Realizar un sistemita con clases que calcule el área y perímetro de una circunferencia.
También hazlo con PEstruc
3. Dado un numero entero, dar como resultado: el doble de ese numero si este es
positivo; el triple si es negativo; y cero si neutro.
4. Dado tres longitudes, diga si forman un triangulo.
5. Determinar si un numero es múltiplo de tres y de cinco
6. Obtener la suma de los primeros N números naturales positivos
7. Dado un rango de número enteros, obtener la cantidad de números pares e impares
enteros que contiene.
8. Dado un numero entero positivo, obtener la cantidad de los primeros N números
múltiplos de 5
9. Dado un numero entero determinar cuantos dígitos tiene
10. Dado un numero devolver el digito mayor
11. Dado dos números diga si son amigos, dos números son amigos si la suma de sus
divisores son iguales. Por ejemplo los divisores de 220 son:
1+2+4+5+10+11+20+22+44+55+110=284. Los divisores de 284 son:
1+2+4+71+142=220. entonces 220 y 284 son amigos
12. Dado un numero devuelve el inverso del numero.
www.senati.edu.pe
Tarea 01
Desarrollar los siguientes ejercicios con POO y prográmelos en
Python:
1. Crear una clase con propiedades de métodos de motocar
2. Crear un clase con propiedades de clase de bufeo colorado
3. Crear una clase usando el constructor y destructor de la
clase
4. Calcular el área y el perímetros de un trapecio. Hacerlo con
programación estructurada y con POO
5. Determinar si un numero entero es par o impar
6. Dodo tres números enteros y positivos, devolver el numero
mayor
www.senati.edu.pe
www.senati.edu.pe