Programación Orientado A Objetos Semana4
Programación Orientado A Objetos Semana4
OBJETOS
MG. ING. JORGE FRANCISCO CAMPOS MALPARTIDA
PRESENTACIÓN
Mg. Ing. Jorge Francisco Campos Malpartida
INGENIERIA DE SISTEMAS – UNIVERSIDAD NACIONAL DE INGENIERIA - PERÚ Soy padre de 2 niñas, un de los motivos primordiales de estar en AYACUCHO es una de
ellas QORINAIRA (11 años), ella es una niña especial y es ahora que requiere mi cuidado
MASTER EN DESARROLLO EMPRENDEDOR E INNOVACIÓN – USAL – ESPAÑA directo AHORA.
CANDIDATO A DOCTOR EN STANFORD UNIVERSITY – USA Soy Musico profesional (cantautor, tengo +25 registros en APDAYC), interpreto mas de
15 instrumentos entre andinos y contemporáneos.
+15 años de experiencia en Arquitectura, Ingenieria de Software / Software Hago Fotografía y Cinematografía (videos y cortos), tuve un proyecto con OSCAR
Factory & Transformación Digital a nivel Nacional e Internacional CATACORA, fallecido cineasta PUNEÑO creador de WIÑAYPACHA aun en NETFLIX
Creador del Sistema de Innovación Empresarial PUSAQ & Andean Creative, Me gusta leer y escribir, estoy escribiendo “EL SISTEMA OPERATIVO ANDINO” y
para la Transformación DIGITAL con Competencias de Creatividad e “EXPERIENCIA DE INNOVACION ANDINA”
Innovación Investigo y difundo la CIENCIA ANDINA, soy QAPAQ MALLKU AIMARA, PAMPAMISSAYUQ
Director de Innovación y Tecnologías / INKALAB en Corporación KHIPU QERO INKA,
Me gusta el deporte, juego Basquetbol a nivel selecciones, también juego futbol/fulbito,
Research/Mentor Coach para StartUP UNI / Director de Innovación natación y atletismo,
PachaQtec.org / Universidad Andina del Cusco / LANET 2023 / Coopac LOS
ANDES / Innovation & TI.
SILABO
Unidad I: Unidad III:
Introducción y fundamentos Herencia, Polimorfismo e
a la programación orientado Interfaces.
a objetos.
Unidad IV:
Unidad II: Gestión de paquetes y
Introducción al paradigma aplicaciones visuales.
Orientado a Objetos.
El lenguaje Java fue creado por Sun
INTRODUCCION Microsystems Inc., Aparece en el año 1995 y
debe, en gran medida, su popularidad al
éxito del servicio WWW. Se creó en su
Introducción a Java: origen para que fuese un lenguaje
Historia del Java, multiplataforma. Para ello se compila en un
código intermedio: bytecode y necesita de
Examinando la Tecnología de una máquina virtual que lo ejecute.
Java (Simple, Orientado a Normalmente, no utiliza código nativo, es
Objetos, Distribuido, palabras decir, no se puede ejecutar directamente por
reservadas) el procesador.
Java Platform,
Standard Edition
¿Diferencias entre JDK, JRE, JVM, JAVA y sus tipos de licencias?
(Java SE)
¿Cuál es actualmente el JDK mas utilizado?
¿Cuándo sale JAVA 20?
“Menos ABSTRACTA, Más NATURAL
y CONCRETA”
INTRODUCCIÓN
Introducción a Java:
Historia del Java,
Examinando la Tecnología
La programación orientada a objetos
de Java (Simple, Orientado a establece un equilibrio entre la importancia
Objetos, Distribuido, de los procesos y los datos, mostrando un
palabras reservadas) enfoque más cercano al pensamiento del ser
humano. Se introduce un aspecto novedoso
respecto al anterior paradigma: la herencia,
facilitando el crecimiento y la mantenibilidad.
Las bases de la programación orientada a
objetos son: abstracción, encapsulación,
modularidad y jerarquización.
https://blogs.oracle.com/oracle-latinoamerica/post/oracle-lanza-java-20
“Menos ABSTRACTA, Más NATURAL
y CONCRETA”
INTRODUCCIÓN
Introducción a Java:
Historia del Java,
Examinando la Tecnología A continuación, se enumeran las palabras
de Java (Simple, Orientado a reservadas del lenguaje: abstract, assert,
Objetos, Distribuido, Boolean, break, byte, case, catch, char, class,
palabras reservadas) const, continue, default, do, double, else,
enum, extends, final, finally, float, for, goto, if,
implements, import, instanceof, int, interface,
long, native, new, package, private, protected,
public, return, short, static, strictfp, super,
synchronized, switch, this, throw, throws,
transient, try, void, volatile, while.
https://blogs.oracle.com/oracle-latinoamerica/post/oracle-lanza-java-20
JAVA Y NETBEANS
• Comenzar con Java y
NetBeans: crear
aplicaciones Java con
NetBeans. Revisión del
concepto de algoritmos:
Pseudocódigo, Variables,
Literales, Expresiones
Aritméticas, Expresiones
Lógicas
JAVA Y NETBEANS
• Comenzar con Java y
NetBeans: crear
aplicaciones Java con
NetBeans. Revisión del
concepto de algoritmos:
Pseudocódigo, Variables,
Literales, Expresiones
Aritméticas, Expresiones
Lógicas
FUENTE : https://www.youtube.com/watch?v=SDv2vOIFIj8
JAVA Y NETBEANS PREGUNTAS IMPORTANTES
Asignación
▫ =. Ej.: x=y;
• Comenzar con Java y Aritméticos
NetBeans: crear ▫ ++, --. Suma o resta 1, ej.: x++; ++x;
aplicaciones Java con ▫ - . Cambio de signo, ej.: –x;
▫ *, /. Multiplicación y división, ej.: x*y;
NetBeans. Revisión del ▫ %. Resto de la división, ej.: x%y;
concepto de algoritmos: ▫ +, -. Suma y resta, ej.: x+2;
▫ +=, -=, *=, /=, %=. Ej.: x+=2; x=x+2;
Pseudocódigo, Variables, Binarios
Literales, Expresiones ▫ ~. Not, ej.: ~x;
Aritméticas, Expresiones ▫ <<>. Desplazamiento a la derecha, se mantiene signo, ej.: x>>2;
▫ >>>. Desplazamiento a la derecha introduciendo ceros
Lógicas ▫ &, | y ^. And, or y xor, ej.: x&12;
Los operadores de Java son:
Lógicos
• Comenzar con Java y ▫ !. Not lógico
NetBeans: crear ▫ &, &&, |, || y ^. And, and perezoso, or, or perezoso y xor
aplicaciones Java con El operador “+” entre String realiza la función de concatenación.
NetBeans. Revisión del
Las expresiones son una combinación de operadores y operandos. La
concepto de algoritmos: precedencia y asociatividad determina de forma clara la evaluación. El
Pseudocódigo, Variables, orden aplicado es:
Paréntesis: ( )
Literales, Expresiones Unarios: + - !
Aritméticas, Expresiones Multiplicativos: * / %
Lógicas Aditivos: + -
Relacionales: < > <= >=
Igualdad: == !=
Y lógico: & &&
O lógico: | ||
La programación orientada a objetos establece
un equilibrio entre la importancia de los
JAVA Y NETBEANS procesos y los datos, mostrando un enfoque más
cercano al pensamiento del ser humano. Se
introduce un aspecto novedoso respecto al
anterior paradigma: la herencia, facilitando el
Conceptos crecimiento y la mantenibilidad. Las bases de la
programación orientada a objetos son:
fundamentales de POO abstracción, encapsulación, modularidad y
jerarquización.
Principios y
La abstracción es un proceso mental de extracción de las características
Características de la esenciales, ignorando los detalles superfluos. Resulta ser muy subjetiva
dependiendo del interés del observador, permitiendo abstracciones muy
POO. diferentes de la misma realidad.
Diferencia de la La encapsulación es ocultar los detalles que dan soporte a un conjunto de
programación características esenciales de una abstracción. Existirán dos partes, una
visible que todos tienen acceso y se aporta la funcionalidad, y una oculta
estructurada y POO que implementa los detalles internos.
JAVA Y NETBEANS La modularidad es descomponer un sistema en un
conjunto de partes. Aparecen dos conceptos muy
importantes: acoplamiento y cohesión.
El acoplamiento entre dos módulos mide el
Conceptos nivel de asociación entre ellos; nos interesa
buscar módulos poco acoplados
fundamentales de POO La cohesión de un módulo mide el grado de
conectividad entre los elementos que los forman;
Principios y nos interesa buscar una cohesión alta.
Características de la La jerarquía es un proceso de estructuración de varios
elementos por niveles.
POO.
Diferencia de la
programación La programación orientada a objetos implementa estos cuatro conceptos
(abstracción, encapsulación, modularidad y jerarquía) con los siguientes
estructurada y POO elementos: clases y objetos, atributos y estado, métodos y mensajes, herencia
y polimorfismo.
PROGRAMACIÓN ORIENTADO A
OBJETOS
MG. ING. JORGE FRANCISCO CAMPOS MALPARTIDA
INTRODUCCIÓN ¿Qué es ser, EXTRA ORDINARIO?, ¿Mas allá de lo
ORDINARIO/COMÚN/PROMEDIO/MEDIA(Mediocre)?
«¿Quién aspiro ser? Esa es la pregunta que debiéramos hacernos todo el tiempo»
LECTURA
“La QUINTA
DISCIPLINA”
(Peter Senge)
También VALE
Audiolibros
RESUMEN
Les ayudara
mucho
Con el LIDERAZGO
Y desempeño en
EQUIPO.
FILM:
JUEGO DE HONOR
EQUIPO
PREGUNTAS IMPORTANTES
FILM:
JUEGO DE HONOR
Desarrollo de SKILL SOFT, Harvard nos dice que es el 85% del ÉXITO PROFESIONAL. PUSAQ es un modelo que tiene como base del Sistema Operativo ANDINO
Un mensaje es la invocación de un método de un objeto. Podemos decir que un objeto lanza un mensaje (quien
realiza la invocación) y otro lo recibe (el que ejecuta el método). Podemos rescribir que una clase es la descripción e
implementación de un conjunto de atributos y métodos.
La programación orientada a objetos establece un
La herencia es una característica que permite a las clases definirse a partir de otras,
y así reutilizar su funcionalidad. A la clase padre se le llama superclase, clase
“Menos ABSTRACTA,
base..., y a la hija subclase, clase derivada....
Más NATURAL y
CONCRETA”
El polimorfismo es la capacidad de que un mismo mensaje funcione con diferentes
Mg. Ing. Jorge Francisco Campos Malpartida
objetos. Es aquél en el que el código no incluye ningún tipo de especificación sobre el
tipo concreto de objetos sobre el que se trabaja. El método opera sobre un conjunto
de posibles objetos compatibles.
public class Punto {
private int x, y;
CLASES Y OBJETOS }
CLASES Y OBJETOS
MÉTODOS
[public | private] {void|tipo} identificadorMetodo (tipo param1, tipo param2...) {...} “Menos ABSTRACTA,
Más NATURAL y
El primer calificador es public o private, se establece el tipo de vista.
CONCRETA”
La segunda palabra es el tipo devuelto, con el calificador void (vacío) se indica que no devuelve
nada, o se establecer el tipo devuelto.
La siguiente palabra representa el nombre del método. A continuación vienen los parámetros
Hay que resaltar, en general, los datos con que actúan los métodos son sus propios atributos, y por lo tanto no es
necesario pasarlos por parámetro. Por parámetros se pasan valores externos al objeto que condicionan la acción a
realizar
Existen dos tipos de parámetros:
• Tipos primitivos (byte, short, int...). Estos se pasan por valor, es decir, se realiza una copia del contenido en la variable
que sustenta el parámetro, y por lo tanto, si el método modifica el parámetro no afecta a la variable del mensaje
entrante.
• Clases y arrays. Estos se pasan por referencia, es decir, se pasa la dirección en el parámetro, así que, modificaciones
dentro del método afectan externamente.
Mg. Ing. Jorge Francisco Campos Malpartida
CLASES Y OBJETOS
MÉTODOS Con la sentencia return, se finaliza el método. Si además queremos devolver un
valor se utiliza la sentencia return valor.
“Menos ABSTRACTA,
Ampliando la clase Punto, se podrían añadir los siguientes métodos: Más NATURAL y
CONCRETA”
CLASES Y OBJETOS
MÉTODOS
MÉTODOS PARA ACCESOS A ATRIBUTOS (GETTERS & SETTERS) “Menos ABSTRACTA,
Cada atributo tiene dos posibles acciones: leer su valor o establecerlo. No tenemos por qué Más NATURAL y
realizar ambas acciones, depende del diseño que se busque, de hecho, muchas clases no tiene CONCRETA”
estos métodos.
Existe una nomenclatura especial para el identificador del método:
• Establecer el valor de un atributo: set + NombreAtributo (la primera letra del nombre del atributo debe estar
en mayúsculas). Por ejemplo, en la clase Punto sería setX y setY, en la clase NumeroNatural sería setValor.
• Leer el valor del atributo: get + NombreAtributo o is + NombreAtributo si devuelve un tipo boolean. Por
ejemplo, en la clase Punto sería getX y getY, en la clase NumeroNatural sería getValor.
Mg. Ing. Jorge Francisco Campos Malpartida
CLASES Y OBJETOS
MÉTODOS MÉTODOS PARA ACCESOS A ATRIBUTOS (GETTERS & SETTERS)
A continuación, presentamos la estructura completa del código de la clase Punto: “Menos ABSTRACTA,
Más NATURAL y
CONCRETA”
Mg. Ing. Jorge Francisco Campos Malpartida
CLASES Y OBJETOS
CONTRUCTORES
A continuación, presentamos la estructura completa del código de la clase Punto: “Menos ABSTRACTA,
Los constructores son métodos especiales que reúnen las Más NATURAL y
tareas de inicialización de los objetos de una clase; por CONCRETA”
lo tanto, el constructor establece el estado inicial de todos
los objetos que se instancian. No es obligatorio definir
constructores, si no se realiza, existe un constructor por
defecto sin parámetros. La ejecución del constructor es Como ejemplo añadimos un constructor a la clase Punto:
implícita a la creación de una instancia. La restricción
sintáctica del constructor es que debe llamarse igual que
la clase y no devuelve ningún tipo ni lleva la palabra void.
Mg. Ing. Jorge Francisco Campos Malpartida
CLASES Y OBJETOS
SOBRE CARGA DE METODOS
Es definir dos o más métodos con el mismo nombre, pero “Menos ABSTRACTA,
con parámetros diferentes por cantidad o tipo. El objetivo Más NATURAL y
de la sobrecarga es reducir el número de identificadores CONCRETA”
distintos para una misma acción pero con matices que la Como ejemplo añadimos sobrecarga a los
diferencian. La sobrecarga se puede realizar tanto en constructores de la clase Punto:
métodos generales, como en constructores.
CLASES Y OBJETOS
Solucionario ejercicio
“Menos ABSTRACTA,
Más NATURAL y
CONCRETA”
Mg. Ing. Jorge Francisco Campos Malpartida
“Menos ABSTRACTA, Más NATURAL y CONCRETA”
CLASES Y OBJETOS
Solucionario ejercicio
Mg. Ing. Jorge Francisco Campos Malpartida
“Menos ABSTRACTA, Más NATURAL y CONCRETA”
CLASES Y OBJETOS
Solucionario ejercicio
GRACIAS
MG. ING. JORGE FRANCISCO CAMPOS MALPARTIDA
jcampos@utea.edu.pe
+51 975136546