SlideShare una empresa de Scribd logo
1 de 44
www.senati.edu.pe
Clase 01: Anaconda
Navigator
Modulo Formativo: Programación OO
Semestre: III
Instructor: Roberto Becerril Vargas
www.senati.edu.pe
Que Resuelve?
Resuleve los vacíos de PE, como:
1. Código muy Largo
2. Si algo falla, todo se rompe
3. Difícil de mantener
4. Código Espagueti
www.senati.edu.pe
Paradigma OO
1. viene de una filosofía o forma de pensar que es la
Orientación a Objetos y esto surge a partir de los
problemas que necesitamos plasmar en código.
2. Es analizar un problema en forma de objetos para
después llevarlo a código, eso es la Orientación a
Objetos.
3. Un paradigma es una teoría que suministra la base
y modelo para resolver problemas. La paradigma de
Programación Orientada a Objetos se compone de
4 elemento
Clases
Propiedades
Métodos
Objetos
Y 4 Pilares:
Encapsulamiento
Abstracción
Herencia
Polimorfismo
www.senati.edu.pe
Tipos de datos abstracto
1. En Python todo es un objeto y tiene un tipo, esto significa que todo lo que hacemos en nuestro programa tiene una
representación en memoria, los datos y el comportamiento se puede encapsular en un objeto.
2. Los tipos nos permiten modelar y manipular el mundo a través de la programación.
3. Las formas de interactuar con un objeto:
• Creación
• Manipulación
• Destrucción
1. Cuando trabajamos con programación orientada a objetos tenemos varias ventajas:
• De composición: podemos estructurarlos en objetos mas pequeños.
• Abstracción: no nos preocupamos el funcionamiento del proceso de su comportamiento.
• Encapsulación: podemos esconder ciertos datos que solo son relevantes internamente en el objeto.
www.senati.edu.pe
Definicion de una clase
www.senati.edu.pe
Ejemplo de una clase
www.senati.edu.pe
Instancia
1. La clase es un molde, alos objetos creados se les conoce como
objetos
2. Es un objeto
3. Cuando se crea una instancia se ejecuta un constructos:
__init__(seld)
4. Los atributos de clase nos permiten:
- Representar datos
- Procedimiento para interactuar con los mismos(métodos)
- Mecanismo para esconder la representación interna
5. Puede tener atributos privados. Por convención comienza con _
www.senati.edu.pe
www.senati.edu.pe
www.senati.edu.pe
Anaconda Navigator
1. Plataforma Anaconda Navigator, que
nos permite trabajar con el lenguaje
Python de una forma más amigable
2. Anaconda Navigator es un ambiente de
trabajo para la ciencia de datos que
permite hacer funcionar aplicaciones y
administrar fácilmente distintos
paquetes.
3. Anaconda Navigator puede buscar
paquetes en Anaconda Cloud
4. Es Gratuito.
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
Archivo
s
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
Estos elementos se les denomina
Objetos, el contenedor de dichos
objetos, se les denomina clases. Los
objetos tienes atributos(las variables),
y funciones(los metodos)
www.senati.edu.pe
Evolución de la POO
 Surge en Noruega en 1967 con
un lenguaje llamado Simula 67,
desarrollado por Krinsten
Nygaard y Ole-Johan Dahl, en
el centro de cálculo noruego.
 En los 70’s científicos del
centro de investigación en Palo
Alto Xerox (Xerox park)
inventaron el lenguaje Small
talk
 En los 80’s AT&T Labs, amplió
el lenguaje C para crear C++
que soporta la programación
Orientada a Objetos.
En 1996 surge
un desarrollo
llamado JAVA
(extensión de
C++). Su
filosofía es
aprovechar el
software
existente.
 En 1997-98 se desarrollan
herramientas ‘CASE’
orientadas a objetos (como el
diseño asistido por
computadora).
 Del 98 a la fecha se desarrolla
la arquitectura de objetos
distribuidos RMI, Corba,
COM, DCOM.
www.senati.edu.pe
Diferencia de la Programación estructurado y POO
 Basado en Funciones
 Programa divido en Muchas
funciones
 Crece drásticamente la cantidad
de código
 Organización del código en
bloques de sentencias
consecutivas
 Llamadas a nuevas funciones y
procedimientos
 Favorece la reutilización
 Variables globales sin protección
 Basado en objetos
 Programa parecido a la realidad
 El crecimiento no afecta el
programa
 Un sistema cliente
 Es totalmente reutilizable
 Encapsulamiento, oculta la
complejidad interna y detalles de
los datos y las operaciones
www.senati.edu.pe
Características Principales de POO
1. Todo elemento de programación es
un objeto
2. Un programa es un conjunto de
objetos que hacen peticiones los
unos a los otros
3. Cada objeto es de una clase
determinada
4. Para poder utilizar los atributos u
métodos de una clase, debemos
inicializarla, instanciando la clase
www.senati.edu.pe
Alcance de la POO ( Programación Orientada a Objetos)
1. Objetos son instancias de la clase. Cada
una tiene tiene sus propias variables
que son independientes entre sí a estas
se las conoce como variables de
instancia o simplemente atributos.
Asimismo contamos con métodos a los
cuales llamamos métodos de instancia o
métodos; si cambian los valores o se
ejecutan procedimientos estos no
afectan al resto de las instancias.
2. Variables estáticas o variables de clase,
son compartidas por todos los objetos,
es decir, cuando un objeto la modifica
este cambio se refleja en todas las
instancias.
El objeto se crea, cuando
instanciamos una clase, es decir,
crear una variable que sea de tipo
de la clase creada
Objeto1=nombreClase()
Las funciones son los métodos que
nosotros creamos dentro de la clase
www.senati.edu.pe
Definición de Clases
Nos Referimos a información
organizada, sistematizada de
acuerdo a una clasificación, y
esto es algo que a diario
hacemos, para referirnos a
objetos que tienen las mismas
características y
funcionalidades.
Clasificar y determinar objetos
es propio del ser humano, así
surgió esta forma de
programación.
Ejemplos
Clase: Motocicleta
Características:
Marca
Numero de llantas
Numero Serie
Placa
Color
Cilindraje
Operaciones
Arrancar(on)
Apagar()
Acelerar()
Frenar()
Virar(a,b,c)
www.senati.edu.pe
¿Es hora de los repaso?
www.senati.edu.pe
Ejemplos de aplicación 1
1. Crear la clase moto car
2. Crear la clase anaconda
3. Crear la clase juane
4. Crear la clase alumno
www.senati.edu.pe
Desarrollo de Ejemplo de Aplicación 1
1. Clase Motocar
Clase: Motocar
Marcar
Color : Azul
Modelo: GN100
Num Llantas:
Serie:
Placa
Propietario:
Asientos:
capCarga:
Arancar()
Frenar()
Anvazar()
Pitar()
Estacionar()
CambiarVelicudad()
SubirCarga()
Virar(a,b,c)
SeñalDireccion()
Apagar()
medifGasolina()
www.senati.edu.pe
Definición de Objetos
Un objeto modela una entidad del
mundo real, lo que se conoce como
atracción de un elemento del
problema.
Es un dato de tipo de finido por su
clase, lo que se conoce como una
instancia de la clase
Un objeto tiene la capacidad de
acezar a las propiedades y métodos
de las clases
Tenemos a la clase Motokar:
Un objeto seria:
Honda de color Azul
Honda de 250cc3
La Honda acelera a razón de 30km/h2
En notación de programación en
Python seria:
Honda.color=azul
Honda.cilindraje=250
Honda.acelerar(30)
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
En Entorno Real En Estructurado EN POO
Características variables Propiedades o datos Miembro, o
Atributos
Acciones funciones Métodos
Elemento
especifico
No existe Instancia de la clase
www.senati.edu.pe
Tipos de Métodos de un Clase
1. Métodos que retornan
UN valor
2. Métodos que retornan
un procedimiento
Ejemplo:
Métodos que calcula y muestra el
promedio de notas.
Método que calcula y devuelve el
área de un triangulo
Ejemplo:
Métodos que lea las notas de un
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:
Creación del
Objetos:
Constructor
Creación de
la instancia
del Objetos
Destrucción
del Objetos:
Destructor
www.senati.edu.pe
Ejemplos de aplicación 2
1. Teniendo en cuenta el ejemplo de
aplicación 1. crear dos objetos por cada
una de esas clases
www.senati.edu.pe
Desarrollo de Ejemplo de Aplicación 2
MotocarMagenta=Motocar()
MotocarMagenta.Marca=“Honda”
MotocarMagenta.Virar(1,0,0)
MotocarNefi=Motocar()
MotocarNefi.Color=“Verde”
Clase: Motocar
Marca
Color : Azul
Modelo: GN100
Num Llantas:
Serie:
Placa
Propietario:
Asientos:
capCarga:
Arancar()
Frenar()
Anvazar()
Pitar()
Estacionar()
CambiarVelicudad()
SubirCarga()
Virar(a,b,c)
SeñalDireccion()
Apagar()
medifGasolina()
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
Ocultamiento de Información: Es que el Usuario
solo debe tener acceso a los datos que le son de su
interés, y del modo que le corresponde, por ejemplo
solo lectura, solo escritura o de ambos
Existe un estándar par definir estos métodos, son:
 setNombre: permite asignar un valor al campo
 getNombre: permite leer el valor del campo
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
cantidad de parámetros y el tipo de sus
parámetros; esto es la firma del método
2. La sobrecarga perite tener varios métodos
con el mismo nombre pero con diferentes
firma
3. Los métodos tendrán comportamientos
diferentes según el tipo de datos de sus
parámetros
Ejemplo Explicativo
 El operador + si esta
con tipo de datos
numéricos, sumara
 El operador + si esta
con tipo de datos
cadena,
concatenara.
www.senati.edu.pe
1. Sublime Text
2. Pycharm
3. Visual Code
4. Atom
5. Notepad++
6. Bloc de notas
Editores de Código
www.senati.edu.pe
IDEs
Un entorno de desarrollo integrado​​, en inglés
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

Más contenido relacionado

Similar a clase 01-Programacion Oientada a Objetos.pptx

Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevjtk1
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++ratasquerosaXX
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la pooXavii Torres
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a ObjetosLuis Arturo Vargas
 
Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .netcampus party
 
Taller campus party
Taller campus partyTaller campus party
Taller campus partycampus party
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoolhgarzonr
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013Edgar Rosas
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 

Similar a clase 01-Programacion Oientada a Objetos.pptx (20)

Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
 
Tarea 1. traduccion
Tarea 1. traduccionTarea 1. traduccion
Tarea 1. traduccion
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Clase No.01.pptx
Clase No.01.pptxClase No.01.pptx
Clase No.01.pptx
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la poo
 
4.1, 4.2
4.1, 4.24.1, 4.2
4.1, 4.2
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a Objetos
 
Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .net
 
Taller campus party
Taller campus partyTaller campus party
Taller campus party
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
1 Paradigma Objetos
1 Paradigma Objetos1 Paradigma Objetos
1 Paradigma Objetos
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 

Último

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 

Último (20)

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 

clase 01-Programacion Oientada a Objetos.pptx

  • 1. www.senati.edu.pe Clase 01: Anaconda Navigator Modulo Formativo: Programación OO Semestre: III Instructor: Roberto Becerril Vargas
  • 2. www.senati.edu.pe Que Resuelve? Resuleve los vacíos de PE, como: 1. Código muy Largo 2. Si algo falla, todo se rompe 3. Difícil de mantener 4. Código Espagueti
  • 3. www.senati.edu.pe Paradigma OO 1. viene de una filosofía o forma de pensar que es la Orientación a Objetos y esto surge a partir de los problemas que necesitamos plasmar en código. 2. Es analizar un problema en forma de objetos para después llevarlo a código, eso es la Orientación a Objetos. 3. Un paradigma es una teoría que suministra la base y modelo para resolver problemas. La paradigma de Programación Orientada a Objetos se compone de 4 elemento Clases Propiedades Métodos Objetos Y 4 Pilares: Encapsulamiento Abstracción Herencia Polimorfismo
  • 4. www.senati.edu.pe Tipos de datos abstracto 1. En Python todo es un objeto y tiene un tipo, esto significa que todo lo que hacemos en nuestro programa tiene una representación en memoria, los datos y el comportamiento se puede encapsular en un objeto. 2. Los tipos nos permiten modelar y manipular el mundo a través de la programación. 3. Las formas de interactuar con un objeto: • Creación • Manipulación • Destrucción 1. Cuando trabajamos con programación orientada a objetos tenemos varias ventajas: • De composición: podemos estructurarlos en objetos mas pequeños. • Abstracción: no nos preocupamos el funcionamiento del proceso de su comportamiento. • Encapsulación: podemos esconder ciertos datos que solo son relevantes internamente en el objeto.
  • 7. www.senati.edu.pe Instancia 1. La clase es un molde, alos objetos creados se les conoce como objetos 2. Es un objeto 3. Cuando se crea una instancia se ejecuta un constructos: __init__(seld) 4. Los atributos de clase nos permiten: - Representar datos - Procedimiento para interactuar con los mismos(métodos) - Mecanismo para esconder la representación interna 5. Puede tener atributos privados. Por convención comienza con _
  • 10. www.senati.edu.pe Anaconda Navigator 1. Plataforma Anaconda Navigator, que nos permite trabajar con el lenguaje Python de una forma más amigable 2. Anaconda Navigator es un ambiente de trabajo para la ciencia de datos que permite hacer funcionar aplicaciones y administrar fácilmente distintos paquetes. 3. Anaconda Navigator puede buscar paquetes en Anaconda Cloud 4. Es Gratuito.
  • 11. 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
  • 12. www.senati.edu.pe Entorno de trabajo de Anaconda Navigator
  • 14. www.senati.edu.pe CMD pront 1. La consola de Anaconda
  • 15. 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 Estos elementos se les denomina Objetos, el contenedor de dichos objetos, se les denomina clases. Los objetos tienes atributos(las variables), y funciones(los metodos)
  • 16. www.senati.edu.pe Evolución de la POO  Surge en Noruega en 1967 con un lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en el centro de cálculo noruego.  En los 70’s científicos del centro de investigación en Palo Alto Xerox (Xerox park) inventaron el lenguaje Small talk  En los 80’s AT&T Labs, amplió el lenguaje C para crear C++ que soporta la programación Orientada a Objetos. En 1996 surge un desarrollo llamado JAVA (extensión de C++). Su filosofía es aprovechar el software existente.  En 1997-98 se desarrollan herramientas ‘CASE’ orientadas a objetos (como el diseño asistido por computadora).  Del 98 a la fecha se desarrolla la arquitectura de objetos distribuidos RMI, Corba, COM, DCOM.
  • 17. www.senati.edu.pe Diferencia de la Programación estructurado y POO  Basado en Funciones  Programa divido en Muchas funciones  Crece drásticamente la cantidad de código  Organización del código en bloques de sentencias consecutivas  Llamadas a nuevas funciones y procedimientos  Favorece la reutilización  Variables globales sin protección  Basado en objetos  Programa parecido a la realidad  El crecimiento no afecta el programa  Un sistema cliente  Es totalmente reutilizable  Encapsulamiento, oculta la complejidad interna y detalles de los datos y las operaciones
  • 18. www.senati.edu.pe Características Principales de POO 1. Todo elemento de programación es un objeto 2. Un programa es un conjunto de objetos que hacen peticiones los unos a los otros 3. Cada objeto es de una clase determinada 4. Para poder utilizar los atributos u métodos de una clase, debemos inicializarla, instanciando la clase
  • 19. www.senati.edu.pe Alcance de la POO ( Programación Orientada a Objetos) 1. Objetos son instancias de la clase. Cada una tiene tiene sus propias variables que son independientes entre sí a estas se las conoce como variables de instancia o simplemente atributos. Asimismo contamos con métodos a los cuales llamamos métodos de instancia o métodos; si cambian los valores o se ejecutan procedimientos estos no afectan al resto de las instancias. 2. Variables estáticas o variables de clase, son compartidas por todos los objetos, es decir, cuando un objeto la modifica este cambio se refleja en todas las instancias. El objeto se crea, cuando instanciamos una clase, es decir, crear una variable que sea de tipo de la clase creada Objeto1=nombreClase() Las funciones son los métodos que nosotros creamos dentro de la clase
  • 20. www.senati.edu.pe Definición de Clases Nos Referimos a información organizada, sistematizada de acuerdo a una clasificación, y esto es algo que a diario hacemos, para referirnos a objetos que tienen las mismas características y funcionalidades. Clasificar y determinar objetos es propio del ser humano, así surgió esta forma de programación. Ejemplos Clase: Motocicleta Características: Marca Numero de llantas Numero Serie Placa Color Cilindraje Operaciones Arrancar(on) Apagar() Acelerar() Frenar() Virar(a,b,c)
  • 22. www.senati.edu.pe Ejemplos de aplicación 1 1. Crear la clase moto car 2. Crear la clase anaconda 3. Crear la clase juane 4. Crear la clase alumno
  • 23. www.senati.edu.pe Desarrollo de Ejemplo de Aplicación 1 1. Clase Motocar Clase: Motocar Marcar Color : Azul Modelo: GN100 Num Llantas: Serie: Placa Propietario: Asientos: capCarga: Arancar() Frenar() Anvazar() Pitar() Estacionar() CambiarVelicudad() SubirCarga() Virar(a,b,c) SeñalDireccion() Apagar() medifGasolina()
  • 24. www.senati.edu.pe Definición de Objetos Un objeto modela una entidad del mundo real, lo que se conoce como atracción de un elemento del problema. Es un dato de tipo de finido por su clase, lo que se conoce como una instancia de la clase Un objeto tiene la capacidad de acezar a las propiedades y métodos de las clases Tenemos a la clase Motokar: Un objeto seria: Honda de color Azul Honda de 250cc3 La Honda acelera a razón de 30km/h2 En notación de programación en Python seria: Honda.color=azul Honda.cilindraje=250 Honda.acelerar(30) Del ejemplo Anterior
  • 25. 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.
  • 26. 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.
  • 27. www.senati.edu.pe Propiedades, Métodos y Objetos En Entorno Real En Estructurado EN POO Características variables Propiedades o datos Miembro, o Atributos Acciones funciones Métodos Elemento especifico No existe Instancia de la clase
  • 28. www.senati.edu.pe Tipos de Métodos de un Clase 1. Métodos que retornan UN valor 2. Métodos que retornan un procedimiento Ejemplo: Métodos que calcula y muestra el promedio de notas. Método que calcula y devuelve el área de un triangulo Ejemplo: Métodos que lea las notas de un alumno. Método que imprima en pantalla los términos de un proyección estadistica
  • 29. www.senati.edu.pe Fases de la Vida de un objeto 1. Las fases son: Creación del Objetos: Constructor Creación de la instancia del Objetos Destrucción del Objetos: Destructor
  • 30. www.senati.edu.pe Ejemplos de aplicación 2 1. Teniendo en cuenta el ejemplo de aplicación 1. crear dos objetos por cada una de esas clases
  • 31. www.senati.edu.pe Desarrollo de Ejemplo de Aplicación 2 MotocarMagenta=Motocar() MotocarMagenta.Marca=“Honda” MotocarMagenta.Virar(1,0,0) MotocarNefi=Motocar() MotocarNefi.Color=“Verde” Clase: Motocar Marca Color : Azul Modelo: GN100 Num Llantas: Serie: Placa Propietario: Asientos: capCarga: Arancar() Frenar() Anvazar() Pitar() Estacionar() CambiarVelicudad() SubirCarga() Virar(a,b,c) SeñalDireccion() Apagar() medifGasolina()
  • 32. 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 Ocultamiento de Información: Es que el Usuario solo debe tener acceso a los datos que le son de su interés, y del modo que le corresponde, por ejemplo solo lectura, solo escritura o de ambos Existe un estándar par definir estos métodos, son:  setNombre: permite asignar un valor al campo  getNombre: permite leer el valor del campo
  • 33. 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__
  • 34. www.senati.edu.pe Ejemplos Explicativos de Constructores y destructores La Clase Galleta La Clase Película La Clase tacacho
  • 35. www.senati.edu.pe Ejemplos Explicativos de Constructores y destructores La Clase Película
  • 36. www.senati.edu.pe Ejemplos Explicativos de Constructores y destructores La Clase tacacho
  • 37. www.senati.edu.pe Sobrecargas de operaciones 1. Un método se identifica por su nombre, la cantidad de parámetros y el tipo de sus parámetros; esto es la firma del método 2. La sobrecarga perite tener varios métodos con el mismo nombre pero con diferentes firma 3. Los métodos tendrán comportamientos diferentes según el tipo de datos de sus parámetros Ejemplo Explicativo  El operador + si esta con tipo de datos numéricos, sumara  El operador + si esta con tipo de datos cadena, concatenara.
  • 38. www.senati.edu.pe 1. Sublime Text 2. Pycharm 3. Visual Code 4. Atom 5. Notepad++ 6. Bloc de notas Editores de Código
  • 39. www.senati.edu.pe IDEs Un entorno de desarrollo integrado​​, en inglés Integrated Development Environment (IDE)
  • 41. 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
  • 42. 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.
  • 43. 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