SlideShare una empresa de Scribd logo
1 de 63
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Programación orientada a objetos:
✓ Principios.
✓ Fundamentos básicos.
Introducción a Java:
✓ Historia
✓ Tipos de datos básicos.
✓ Estructuras condicionales.
✓ Estructuras repetitivas.
✓ Sentencias de ruptura.
✓ Tipos de datos compuestos
✓ Manejo de archivos de texto.
✓ Manejo por consola.
✓ Manejo de utilidades graficas.
✓ Ejemplos.
✓ Ejercicios.
●
●
Contenido
Es una nueva forma de pensar usando conceptos del
mundo real. En una forma superficial, significa que el
software se organiza como un conjunto de objetos
discretos cada uno de los cuales incorpora su
estructura de datos y su comportamiento.
Conceptos: objeto, método, mensaje, clase, instancia,
herencia, encapsulamiento, polimorfismo, entre otros.
●
●
Orientación a Objetos
Orientación a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
La programación orientada a objetos es una “filosofía”, un
modelo de programación, con su teoría y su metodología, que
conviene conocer y estudiar antes de nada. Un lenguaje
orientado a objetos es un lenguaje de programación que permite
el diseño de aplicaciones orientadas a objetos.
Es muy importante destacar que cuando hacemos referencia a la
programación orientada a objetos no estamos hablando de unas
cuantas características nuevas añadidas a un lenguaje de
programación. Estamos hablando de una nueva forma de pensar
acerca del proceso de descomposición de problemas y de
desarrollo de soluciones de programación.
Programación Orientada a Objetos
Abstracción
Programación Orientada a Objetos
Abstracción
Una abstracción denota las características principales de un
objeto, que la distinguen de otros objetos y proporcionan así,
características especiales claramente definidas por el observador
(estas pueden ser variables y dependen del observador en
cuestión)
Es el acto o resultado de eliminar diferencias entre los objetos,
de modo que podamos ver los aspectos comunes.
Enfatizar sobre los detalles importantes y olvidar los aspectos no
relevantes desde perspectiva del usuario.
Permite separar el comportamiento esencial de un objeto de su
implementación.
Se implementa mediante la identificación de clases.
Programación Orientada a Objetos
Encapsulamiento
Programación Orientada a Objetos
Encapsulamiento
Esconder todos los detalles de un objeto que no contribuyen
al entendimiento de sus características esenciales.
Se refiere a incluir dentro de un objeto todo lo que éste
necesita y hacerlo de forma tal que ningún otro objeto vea su
estructura interna.
Permite realizar cambios a los programas con poco esfuerzo.
La idea principal es proteger los datos de un objeto del uso
arbitrario.
Se implementa mediante la interfaz de acceso (ICA) de los
elementos que definen una clase.
Programación Orientada a Objetos
Modularidad
Programación Orientada a Objetos
Modularidad
Descomponer un sistema en un conjunto de unidades
discretas.
Está asociado al concepto de programación modular /
estructurada.
Está íntimamente relacionado con el encapsulamiento.
Los módulos son generalmente unidades indivisibles.
Programación Orientada a Objetos
Jerarquía
Programación Orientada a Objetos
Jerarquía
Es el acto o resultado de distinguir un concepto que es más
general que otro. La jerarquía es una manera de ordenarlas
abstracciones.
Permite examinar si los conceptos tienen algo en común.
Nos ayuda a percibir que todas las instancias de un concepto
más específico son también instancias de un concepto
general.
Su uso simplifica el entendimiento del problema.
Se implementa mediante las relaciones de herencia.
Programación Orientada a Objetos
Tipos
Programación Orientada a Objetos
Tipos
Dos cosas que tienen la misma forma abstracta son análogas
es decir, son del mismo tipo.
Se implementa mediante la descripción o identificación de los
elementos que describen una clase:
Datos información o atributos
Operaciones comportamiento o métodos
Programación Orientada a Objetos
Programación Orientada a Objetos
Concurrencia
Programación Orientada a Objetos
Concurrencia
Permite a diferentes objetos actuar al mismo tiempo; cada
uno de ellos tiene autonomía.
Se implementa mediante el proceso de creación o
instanciación de objetos a partir de su clase y las
propiedades de identidad y estado de los objetos.
Programación Orientada a Objetos
Persistencia
Programación Orientada a Objetos
Persistencia
Es la propiedad que un objeto tiene de existir en el tiempo y
en el espacio.
Un objeto existe hasta que no sea más necesitado y el
espacio que ocupa es reutilizado.
Se implementa mediante los procesos de construcción y
destrucción de los objetos definidos como parte del
comportamiento de la clase.
Programación Orientada a Objetos
Polimorfismo
Programación Orientada a Objetos
Polimorfismo
Es el fenómeno mediante el cual una operación adopta varias
formas de implementación.
Habilidad para usar el mismo símbolo para propósitos diferentes
cuando el contexto es claro.
Dos operaciones completamente diferentes comparten el mismo
nombre.
Ventajas: extensibilidad, código compacto, claridad.
Se implementa mediante la sobrecarga de funciones y
operadores.
Basado en el principio que lleva el mismo nombre.
Programación Orientada a Objetos
Definir dos o más métodos con el mismo nombre, tipo de
retorno e interfaz, pero diferente descripción de parámetros
(cantidad y/o tipo de los mismos). Los parámetros determinan
el contexto.
No hay límite sobre la cantidad de métodos definidos de forma
polimórfica.
No es una redefinición, cada método se trata de forma
independiente (declaración, definición y llamada).
Un caso particular es hacer polimorfismo sobre el constructor.
Permite dar al usuario diferentes formas de inicializar un objeto
durante la instanciación del mismo.
Polimorfismo
Programación Orientada a Objetos
Objetos
Son las unidades básicas de construcción, para
conceptualización, diseño o programación.
Son instancias organizadas en clases con características
comunes.
Desde la perspectiva de un programa, los objetos son
módulos que contienen datos (atributos) y las instrucciones u
operaciones (métodos) que operan sobre esos datos y
trabajan juntos para proveer funcionalidad.
La habilidad para reconocer objetos es una herramienta que
los humanos aprenden desde muy temprana edad.
3 características: estado, identidad y comportamiento.
Programación Orientada a Objetos
Formula Conceptual de los Objetos
Objetos
Programación Orientada a Objetos
Clases
Programación Orientada a Objetos
Clases
Son las unidades básicas de construcción, para
conceptualización, diseño o programación.
Define la estructura y el comportamiento de una forma
abstracta o concepto para darle vida a los objetos.
Es un patrón (plantilla) que define los atributos y métodos a
ser incluidos es un tipo particular de objeto.
Se dice que un objeto es una instancia particular de una
clase.
Consta de dos partes: una declaración y una implementación.
Programación Orientada a Objetos
Herencia
Programación Orientada a Objetos
Herencia
Permite crear clases nuevas a partir de clases ya existentes,
estableciendo niveles de jerarquía y programando sólo las
diferencias.
Permite refinar las estructuras sin necesidad de duplicar
información.
La clase nueva (jerarquía inferior) es conocida como subclase
o clase derivada y la clase de mayor nivel se denomina
superclase o clase base.
Según el número de clases base, puede ser de dos tipos:
simple (una sola clase base) y múltiple (mas de una clase
base).
Se manejan terminologías importantes como clases abstractas
y métodos virtuales
Programación Orientada a Objetos
Constructor
Basado en el principio de persistencia.
Es un método particular que es ejecutado automáticamente
durante la instanciación del objeto (tanto estática como
dinámicamente).
Es útil para definir el estado inicial del objeto y realizar otras
inicializaciones necesarias.
Como método/operación tiene las siguientes características:
Es opcional.
Debe ser público.
Se identifica de la misma forma como se identifica la
clase.
No se le especifica tipo de retorno.
Puede tener cualquier número de parámetros.
Programación Orientada a Objetos
Destructor
Basado en el principio de persistencia.
Se apoya en el Garbage Colletor.
Es un método particular que es ejecutado automáticamente durante
la destrucción o pérdida de alcance del objeto (tanto estática como
dinámicamente).
Es útil para realizar código necesario cuando el objeto ya no va a
ser mas utilizado, como por ejemplo la liberación o recuperación de
espacios de memoria.
No aplica en lenguajes con recuperación automática de memoria.
Como método/operación tiene las siguientes características:
Es opcional.
Debe ser público.
No se le especifica tipo de retorno.
No tiene parámetros.
Referencia al Objeto Actual
Variable predefinida que permite al programador hacer
referencia al objeto actualmente instanciado. Para los dos
lenguajes en estudio la variable se identifica como el operador
this.
Es útil cuando en el cuerpo de un método se hace referencia
a un elemento de la clase con más de una instancia,
incluyendo la actual y, se quiere representar la diferencia.
En C++, this es un apuntador por lo que se debe usar con
el Operador ->
En Java, this se puede usar como una función dentro de
un constructor para hacer una llamada de otro constructor de
la misma clase.
Programación Orientada a Objetos
Lenguajes de programación más populares
Lenguajes de programación más populares
Hay lenguajes puros (casados con los conceptos de OO), e
híbridos (permiten hacer cosas no OO).
Es importante evaluar la plataforma de desarrollo a utilizar
basado en: entorno operativo, amigabilidad, soporte, tiempo
de compilación, biblioteca de clases predefinida, costo
(adquisición, instalación, mantenimiento, etc.), experiencia,
etc.
Usar un lenguaje orientado a objetos no necesariamente
implica hacer programación orientada a objetos. La clave
está en respetar los principios.
Lenguajes de programación más populares
C+
+
Compilado Permite generar programas ejecutables.
No es puro porque viene del lenguaje C y mantiene todos los
conceptos no orientado a objetos de C.
Bajo nivel de portabilidad, alta dependencia en la plataforma
operativa.
Sintaxis simple y semántica compleja.
Muy rico conceptualmente en lo que a orientación a objetos
se refiere (manejo de herencia múltiple y sobrecarga de
operadores por ejemplo).
Extensión de los archivos de código fuente: “cpp”.
Lenguajes de programación más populares
Java
Pseudo-interpretado (Java bytecode) Se requiere un
motor o máquina de ejecución para correr los programas.
Es puro desde el punto de vista de orientación a objetos.
Alto nivel de portabilidad, los programas pueden correr donde
haya una máquina de ejecución.
Sintaxis y semántica simple.
No se permite ni la herencia múltiple directa ni la sobrecarga
de operadores.
Extensión de los archivos de código fuente: “java”.
Extensión de los archivos Pseudo-compilados: “class”.
Lenguajes de programación más populares
Java
Lenguajes de programación más populares
Java
Las declarativas de interfaz pueden aparecer más de una
vez y en cualquier orden. Si no se indica nada se asume
una interfaz entre privada y protegida. Privada porque no
permite la visibilidad del elemento para las clases
derivadas; protegida porque permite la visibilidad en todas
las clases del mismo paquete.
El cuerpo de los métodos siempre debe ser definido dentro
de la definición de la clase.
Todos los elementos de una clase están declarados y
definidos dentro de la clase.
Instanciación de un objeto
Java
Acceso a los atributos
Java
Java
Constructor
Java
Polimorfismo
Introducción a Java
Introducción a Java
Historia
Tal vez la contribución más importante a la fecha, por parte
de la revolución del microprocesador, es que hizo posible el desarrollo
de las computadoras personales, que ahora suman cientos de
millones a nivel mundial. Las computadoras personales han tenido un
profundo impacto en la vida de las personas, y en la manera en que
las empresas realizan y administran su negocio.
Muchas personas creen que la siguiente área importante en
las que los microprocesadores tendrán un profundo impacto en los
dispositivos electrónicos para uso doméstico. Al reconocer esto, Sun
Microsystems patrocinó en 1991 un proyecto interno de investigación
denominado Green. El proyecto desembocó en el desarrollo de un
lenguaje basado en C++ al que su creador, james Gosling, llamó Oak
debido a un roble que tenía a la vista desde su ventana en las oficinas
de Sun. Posteriormente se descubrió que ya existía un lenguaje de
programación con el mismo nombre. Cuando un grupo de gente de
Sun visitó una cafetería local, sugirieron el nombre de Java (una
variedad de café) y así quedó.
Pero el proyecto Green tuvo algunas dificultades. El mercado
para los dispositivos electrónicos inteligentes de uso doméstico no se
desarrollaban tan rápido como Sun había anticipado. Peor aún, un
contrato importante por el que Sun había competido se le otorgó a otra
empresa. De manera que el proyecto corría el riesgo de cancelarse.
Pero para su buena fortuna, la popularidad de World Wide Web
explotó en 1993 y la gente de Sun se dio cuenta inmediatamente del
potencial de Java para agregar contenido dinámico y animaciones a
las páginas Web. Esto trajo nueva vida al proyecto.
Sun anunció formalmente a Java en una conferencia
importante que tuvo lugar en mayo de 1995. Por lo general, un evento
como éste no habría generado mucha atención. Sin embargo, Java
generó un interés inmediato en la comunidad de negocios, debido al
fenomenal interés en World Wide Web. En la actualidad, Java se utiliza
para desarrollar aplicaciones empresariales a gran escala, para
mejorar la funcionalidad de los servidores de World Wide Web (las
computadoras que proporcionan el contenido que vemos en nuestros
navegadores Web), para proporcionar aplicaciones para os
dispositivos domésticos (como teléfonos celulares, radiolocalizadores y
asistentes digitales personales) y para muchos otros propósitos.
Introducción a Java
Historia
Tipos de datos básicos
Numéricos
Tipo
Declaración/Asignación
Enteros:
Byte Byte ejemplo = 15;
Short Short ejemplo = 15;
Int Int ejemplo = 16;
Long Long ejemplo = 16;
Reales:
Float Float ejemplo = 16f;
Double Double ejemplo = 16d;
Caracteres, lógicos y dimensionales
Tipo Declaración/Asignación
Caracteres
Char Char ejemplo=’X’;
String ( clase ) String ejemplo=new
String("ejemplo");
Lógicos
Boolean Boolean ejemplo=1>0;
Arreglos
Vectores: [ ] int [ ]ejemplo=new int[2];
Matrices: [ ][ ] int [ ][ ]ejemplo=new int[2][2];
Tipos de datos básicos
Estructuras Condicionales
If
Las estructuras condicionales son una
instrucción o grupo de instrucciones que se
pueden ejecutar o no en función del valor de
una condición.
If (condición) {
//bloque de instrucciones
If (condición) {
//bloque de instrucciones
}
}
Estructuras Condicionales
Else
Las sentencias condicionales constituyen,
junto con los bucles, los pilares de
la programación estructurada
If (condición) {
//bloque de instrucciones
}else {
//bloque de instrucciones
}
Estructuras Condicionales
Switch
switch ( byte/short/char/int ) {
case 1: {
//bloque de instrucciones
Break;
}
case 2: {
//bloque de instrucciones
Break;
}
.
.
.
default: {//bloque de instrucciones
break;
}
}
Estructuras Repetitivas
For
Las estructuras repetitivas son sentencias
que se realizan repetidas veces a un trozo
aislado de código, hasta que la condición
asignada a dicho bucle (ciclo) deje de
cumplirse.
for (inicio ; condición ; iterador) {
//bloque de instrucciones
}
Estructuras Repetitivas
While
Generalmente, un bucle es utilizado para
hacer una acción repetida sin tener que
escribir varias veces el mismo código, lo que
ahorra tiempo, deja el código más claro y
facilita su modificación en el futuro.
while (condición) {
//bloque de instrucciones
}
Estructuras Repetitivas
Do-While
Un bucle infinito se considera un error de
programación, a menos que ese sea el
resultado esperado por
el programador (generalmente usado en
programas malignos/molestos).
do {
//bloque de instrucciones
} while (condición);
Sentencias de Ruptura
Return
Un método puede o no devolver un resultado,
según cómo haya sido declarado. Return
apresura la salida del método devolviendo el
valor correspondiente. Es necesario al menos un
return para cada tipo de dato de retorno que
haya sido definido.
public String retorna(){
//bloque de instrucciones
return "este es el retorno";
}
Sentencias de Ruptura
Break
La sentencia de 'break' es de tipo de control de
bucles. Dentro de la iteración en un bucle, de
cualquiera de los tipos (while, do-while, for), el uso
de esta sentencia rompe la iteración de dicho
bucle.
for (inicio ; condición ; iterador) {
//bloque de instrucciones
Break;
//bloque de instrucciones
}
Sentencias de Ruptura
Continue
Dentro de la iteración en un bucle, de cualquiera
de los tipos (while, do-while, for), el uso de esta
sentencia rompe la iteración de dicho bucle.
Provocando que se ejecute la siguiente iteración,
ignorando las sentencias posteriores a continue.
do {
//bloque de instrucciones
continue ;
} while (condición);
Tipos de datos Compuestos
Application Class
Las Application Class son clases que
poseen el main, es decir, realizan la
ejecución del código inicial.
public class CursoJAVA {
public static void main(String[] args) {
//bloque de instrucciones
}
}
Tipos de datos Compuestos
Class
Una Clase puede ser superclase si se aplica la
herencia.
Sólo se puede heredar de una clase a la vez.
public class Animales {
//bloque de atributos y métodos, como también
clases.
}
Tipos de datos Compuestos
Sub class
Una clase es subclase cuando esta hereda de una
superclase. A su vez, puede también ser superclase
dando herencia a otras clases.
public class Perro extends Animales {
//bloque de atributos y métodos, como también
clases.
}
Tipos de datos Compuestos
Abstract class
abstract class GraphicObject {
int x, y;
void moveTo(int newX, int newY) {
//bloque de instrucciones
}
abstract void draw();
abstract void resize();
}
class Circle extends GraphicObject {
void draw() {
//bloque de instrucciones
}
void resize() {
//bloque de instrucciones
}
}
class Rectangle extends GraphicObject {
void draw() {
//bloque de instrucciones
}
void resize() {
//bloque de instrucciones
}
}
Tipos de datos Compuestos
Interfaces
Interface InstrumentoMusical{
void tocar();
void afinar();
}
class Guitarra implements InstrumentoMusical {
void tocar() {
//bloque de instrucciones
}
void afinar() {
//bloque de instrucciones
}
}
Código
s
Manejo de archivos de
texto
Código
s
Manejo por
consola
Código
s
Manejo de utilidades
graficas
Programación Orientada a Objetos y Java Introducción

Más contenido relacionado

La actualidad más candente

CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSLuis Miguel Gutierrez
 
diapositiva de base de datos
diapositiva de base de datos diapositiva de base de datos
diapositiva de base de datos thelegendary
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaMarcos Acosta
 
Inroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetosInroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetosJose Angel Rodriguez
 
Introduccionjava
IntroduccionjavaIntroduccionjava
IntroduccionjavaOLGA MONTES
 
Programación orientada a objeto
Programación orientada a objetoProgramación orientada a objeto
Programación orientada a objetoHRS1993
 
Principios orientacion-objetos
Principios orientacion-objetosPrincipios orientacion-objetos
Principios orientacion-objetoskarlalopezbello
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosALGLYS RAMIREZ
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosAlexis Arguello
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetosedwinlemmon
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacionJENNY GUAYLLA
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosJuan Carlos Riva
 
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
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 

La actualidad más candente (20)

CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
 
diapositiva de base de datos
diapositiva de base de datos diapositiva de base de datos
diapositiva de base de datos
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos Acosta
 
Inroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetosInroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetos
 
Introduccionjava
IntroduccionjavaIntroduccionjava
Introduccionjava
 
Programación orientada a objeto
Programación orientada a objetoProgramación orientada a objeto
Programación orientada a objeto
 
Asignacion2
Asignacion2Asignacion2
Asignacion2
 
Principios orientacion-objetos
Principios orientacion-objetosPrincipios orientacion-objetos
Principios orientacion-objetos
 
Java
Java Java
Java
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 
S2-Representación Gráfica
S2-Representación GráficaS2-Representación Gráfica
S2-Representación Gráfica
 
Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetos
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacion
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
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
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 

Destacado

Destacado (7)

Programación visual y orientada a eventos
Programación  visual y orientada a eventosProgramación  visual y orientada a eventos
Programación visual y orientada a eventos
 
Alice
AliceAlice
Alice
 
04 Java Language And OOP Part IV
04 Java Language And OOP Part IV04 Java Language And OOP Part IV
04 Java Language And OOP Part IV
 
Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 

Similar a Programación Orientada a Objetos y Java Introducción

2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosalexmoncada21
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjaninaplaza
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1cesarmrl2
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosricardoloja
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaJulio César Rojas Maza
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetosAngel Ordoñez
 
Orientado a objeto
Orientado a objetoOrientado a objeto
Orientado a objetoUnefa
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosmaikitejeda
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosJonathan Marcillo
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Programación estructurada a objetos.pptm
Programación  estructurada  a objetos.pptmProgramación  estructurada  a objetos.pptm
Programación estructurada a objetos.pptmelvis mendieta
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionANGIEZAMBRANO57
 

Similar a Programación Orientada a Objetos y Java Introducción (20)

2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Asignación 1 astrid c.
Asignación 1 astrid c.Asignación 1 astrid c.
Asignación 1 astrid c.
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y java
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetos
 
Orientado a objeto
Orientado a objetoOrientado a objeto
Orientado a objeto
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Programación estructurada a objetos.pptm
Programación  estructurada  a objetos.pptmProgramación  estructurada  a objetos.pptm
Programación estructurada a objetos.pptm
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (19)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Programación Orientada a Objetos y Java Introducción

  • 1. Universidad Nacional Experimental de Guayana Vicerrectorado académico. Coordinación de Ingeniería en Informática.
  • 2. Programación orientada a objetos: ✓ Principios. ✓ Fundamentos básicos. Introducción a Java: ✓ Historia ✓ Tipos de datos básicos. ✓ Estructuras condicionales. ✓ Estructuras repetitivas. ✓ Sentencias de ruptura. ✓ Tipos de datos compuestos ✓ Manejo de archivos de texto. ✓ Manejo por consola. ✓ Manejo de utilidades graficas. ✓ Ejemplos. ✓ Ejercicios. ● ● Contenido
  • 3. Es una nueva forma de pensar usando conceptos del mundo real. En una forma superficial, significa que el software se organiza como un conjunto de objetos discretos cada uno de los cuales incorpora su estructura de datos y su comportamiento. Conceptos: objeto, método, mensaje, clase, instancia, herencia, encapsulamiento, polimorfismo, entre otros. ● ● Orientación a Objetos Orientación a Objetos
  • 4. Programación Orientada a Objetos Programación Orientada a Objetos
  • 5. Programación Orientada a Objetos La programación orientada a objetos es una “filosofía”, un modelo de programación, con su teoría y su metodología, que conviene conocer y estudiar antes de nada. Un lenguaje orientado a objetos es un lenguaje de programación que permite el diseño de aplicaciones orientadas a objetos. Es muy importante destacar que cuando hacemos referencia a la programación orientada a objetos no estamos hablando de unas cuantas características nuevas añadidas a un lenguaje de programación. Estamos hablando de una nueva forma de pensar acerca del proceso de descomposición de problemas y de desarrollo de soluciones de programación. Programación Orientada a Objetos
  • 7. Abstracción Una abstracción denota las características principales de un objeto, que la distinguen de otros objetos y proporcionan así, características especiales claramente definidas por el observador (estas pueden ser variables y dependen del observador en cuestión) Es el acto o resultado de eliminar diferencias entre los objetos, de modo que podamos ver los aspectos comunes. Enfatizar sobre los detalles importantes y olvidar los aspectos no relevantes desde perspectiva del usuario. Permite separar el comportamiento esencial de un objeto de su implementación. Se implementa mediante la identificación de clases. Programación Orientada a Objetos
  • 9. Encapsulamiento Esconder todos los detalles de un objeto que no contribuyen al entendimiento de sus características esenciales. Se refiere a incluir dentro de un objeto todo lo que éste necesita y hacerlo de forma tal que ningún otro objeto vea su estructura interna. Permite realizar cambios a los programas con poco esfuerzo. La idea principal es proteger los datos de un objeto del uso arbitrario. Se implementa mediante la interfaz de acceso (ICA) de los elementos que definen una clase. Programación Orientada a Objetos
  • 11. Modularidad Descomponer un sistema en un conjunto de unidades discretas. Está asociado al concepto de programación modular / estructurada. Está íntimamente relacionado con el encapsulamiento. Los módulos son generalmente unidades indivisibles. Programación Orientada a Objetos
  • 13. Jerarquía Es el acto o resultado de distinguir un concepto que es más general que otro. La jerarquía es una manera de ordenarlas abstracciones. Permite examinar si los conceptos tienen algo en común. Nos ayuda a percibir que todas las instancias de un concepto más específico son también instancias de un concepto general. Su uso simplifica el entendimiento del problema. Se implementa mediante las relaciones de herencia. Programación Orientada a Objetos
  • 15. Tipos Dos cosas que tienen la misma forma abstracta son análogas es decir, son del mismo tipo. Se implementa mediante la descripción o identificación de los elementos que describen una clase: Datos información o atributos Operaciones comportamiento o métodos Programación Orientada a Objetos
  • 16. Programación Orientada a Objetos Concurrencia
  • 17. Programación Orientada a Objetos Concurrencia Permite a diferentes objetos actuar al mismo tiempo; cada uno de ellos tiene autonomía. Se implementa mediante el proceso de creación o instanciación de objetos a partir de su clase y las propiedades de identidad y estado de los objetos.
  • 18. Programación Orientada a Objetos Persistencia
  • 19. Programación Orientada a Objetos Persistencia Es la propiedad que un objeto tiene de existir en el tiempo y en el espacio. Un objeto existe hasta que no sea más necesitado y el espacio que ocupa es reutilizado. Se implementa mediante los procesos de construcción y destrucción de los objetos definidos como parte del comportamiento de la clase.
  • 20. Programación Orientada a Objetos Polimorfismo
  • 21. Programación Orientada a Objetos Polimorfismo Es el fenómeno mediante el cual una operación adopta varias formas de implementación. Habilidad para usar el mismo símbolo para propósitos diferentes cuando el contexto es claro. Dos operaciones completamente diferentes comparten el mismo nombre. Ventajas: extensibilidad, código compacto, claridad. Se implementa mediante la sobrecarga de funciones y operadores. Basado en el principio que lleva el mismo nombre.
  • 22. Programación Orientada a Objetos Definir dos o más métodos con el mismo nombre, tipo de retorno e interfaz, pero diferente descripción de parámetros (cantidad y/o tipo de los mismos). Los parámetros determinan el contexto. No hay límite sobre la cantidad de métodos definidos de forma polimórfica. No es una redefinición, cada método se trata de forma independiente (declaración, definición y llamada). Un caso particular es hacer polimorfismo sobre el constructor. Permite dar al usuario diferentes formas de inicializar un objeto durante la instanciación del mismo. Polimorfismo
  • 23. Programación Orientada a Objetos Objetos Son las unidades básicas de construcción, para conceptualización, diseño o programación. Son instancias organizadas en clases con características comunes. Desde la perspectiva de un programa, los objetos son módulos que contienen datos (atributos) y las instrucciones u operaciones (métodos) que operan sobre esos datos y trabajan juntos para proveer funcionalidad. La habilidad para reconocer objetos es una herramienta que los humanos aprenden desde muy temprana edad. 3 características: estado, identidad y comportamiento.
  • 24. Programación Orientada a Objetos Formula Conceptual de los Objetos Objetos
  • 25. Programación Orientada a Objetos Clases
  • 26. Programación Orientada a Objetos Clases Son las unidades básicas de construcción, para conceptualización, diseño o programación. Define la estructura y el comportamiento de una forma abstracta o concepto para darle vida a los objetos. Es un patrón (plantilla) que define los atributos y métodos a ser incluidos es un tipo particular de objeto. Se dice que un objeto es una instancia particular de una clase. Consta de dos partes: una declaración y una implementación.
  • 27. Programación Orientada a Objetos Herencia
  • 28. Programación Orientada a Objetos Herencia Permite crear clases nuevas a partir de clases ya existentes, estableciendo niveles de jerarquía y programando sólo las diferencias. Permite refinar las estructuras sin necesidad de duplicar información. La clase nueva (jerarquía inferior) es conocida como subclase o clase derivada y la clase de mayor nivel se denomina superclase o clase base. Según el número de clases base, puede ser de dos tipos: simple (una sola clase base) y múltiple (mas de una clase base). Se manejan terminologías importantes como clases abstractas y métodos virtuales
  • 29. Programación Orientada a Objetos Constructor Basado en el principio de persistencia. Es un método particular que es ejecutado automáticamente durante la instanciación del objeto (tanto estática como dinámicamente). Es útil para definir el estado inicial del objeto y realizar otras inicializaciones necesarias. Como método/operación tiene las siguientes características: Es opcional. Debe ser público. Se identifica de la misma forma como se identifica la clase. No se le especifica tipo de retorno. Puede tener cualquier número de parámetros.
  • 30. Programación Orientada a Objetos Destructor Basado en el principio de persistencia. Se apoya en el Garbage Colletor. Es un método particular que es ejecutado automáticamente durante la destrucción o pérdida de alcance del objeto (tanto estática como dinámicamente). Es útil para realizar código necesario cuando el objeto ya no va a ser mas utilizado, como por ejemplo la liberación o recuperación de espacios de memoria. No aplica en lenguajes con recuperación automática de memoria. Como método/operación tiene las siguientes características: Es opcional. Debe ser público. No se le especifica tipo de retorno. No tiene parámetros.
  • 31. Referencia al Objeto Actual Variable predefinida que permite al programador hacer referencia al objeto actualmente instanciado. Para los dos lenguajes en estudio la variable se identifica como el operador this. Es útil cuando en el cuerpo de un método se hace referencia a un elemento de la clase con más de una instancia, incluyendo la actual y, se quiere representar la diferencia. En C++, this es un apuntador por lo que se debe usar con el Operador -> En Java, this se puede usar como una función dentro de un constructor para hacer una llamada de otro constructor de la misma clase. Programación Orientada a Objetos
  • 32. Lenguajes de programación más populares Lenguajes de programación más populares Hay lenguajes puros (casados con los conceptos de OO), e híbridos (permiten hacer cosas no OO). Es importante evaluar la plataforma de desarrollo a utilizar basado en: entorno operativo, amigabilidad, soporte, tiempo de compilación, biblioteca de clases predefinida, costo (adquisición, instalación, mantenimiento, etc.), experiencia, etc. Usar un lenguaje orientado a objetos no necesariamente implica hacer programación orientada a objetos. La clave está en respetar los principios.
  • 33. Lenguajes de programación más populares C+ + Compilado Permite generar programas ejecutables. No es puro porque viene del lenguaje C y mantiene todos los conceptos no orientado a objetos de C. Bajo nivel de portabilidad, alta dependencia en la plataforma operativa. Sintaxis simple y semántica compleja. Muy rico conceptualmente en lo que a orientación a objetos se refiere (manejo de herencia múltiple y sobrecarga de operadores por ejemplo). Extensión de los archivos de código fuente: “cpp”.
  • 34. Lenguajes de programación más populares Java Pseudo-interpretado (Java bytecode) Se requiere un motor o máquina de ejecución para correr los programas. Es puro desde el punto de vista de orientación a objetos. Alto nivel de portabilidad, los programas pueden correr donde haya una máquina de ejecución. Sintaxis y semántica simple. No se permite ni la herencia múltiple directa ni la sobrecarga de operadores. Extensión de los archivos de código fuente: “java”. Extensión de los archivos Pseudo-compilados: “class”.
  • 35. Lenguajes de programación más populares Java
  • 36. Lenguajes de programación más populares Java Las declarativas de interfaz pueden aparecer más de una vez y en cualquier orden. Si no se indica nada se asume una interfaz entre privada y protegida. Privada porque no permite la visibilidad del elemento para las clases derivadas; protegida porque permite la visibilidad en todas las clases del mismo paquete. El cuerpo de los métodos siempre debe ser definido dentro de la definición de la clase. Todos los elementos de una clase están declarados y definidos dentro de la clase.
  • 37. Instanciación de un objeto Java
  • 38. Acceso a los atributos Java
  • 42. Introducción a Java Historia Tal vez la contribución más importante a la fecha, por parte de la revolución del microprocesador, es que hizo posible el desarrollo de las computadoras personales, que ahora suman cientos de millones a nivel mundial. Las computadoras personales han tenido un profundo impacto en la vida de las personas, y en la manera en que las empresas realizan y administran su negocio. Muchas personas creen que la siguiente área importante en las que los microprocesadores tendrán un profundo impacto en los dispositivos electrónicos para uso doméstico. Al reconocer esto, Sun Microsystems patrocinó en 1991 un proyecto interno de investigación denominado Green. El proyecto desembocó en el desarrollo de un lenguaje basado en C++ al que su creador, james Gosling, llamó Oak debido a un roble que tenía a la vista desde su ventana en las oficinas de Sun. Posteriormente se descubrió que ya existía un lenguaje de programación con el mismo nombre. Cuando un grupo de gente de Sun visitó una cafetería local, sugirieron el nombre de Java (una variedad de café) y así quedó.
  • 43. Pero el proyecto Green tuvo algunas dificultades. El mercado para los dispositivos electrónicos inteligentes de uso doméstico no se desarrollaban tan rápido como Sun había anticipado. Peor aún, un contrato importante por el que Sun había competido se le otorgó a otra empresa. De manera que el proyecto corría el riesgo de cancelarse. Pero para su buena fortuna, la popularidad de World Wide Web explotó en 1993 y la gente de Sun se dio cuenta inmediatamente del potencial de Java para agregar contenido dinámico y animaciones a las páginas Web. Esto trajo nueva vida al proyecto. Sun anunció formalmente a Java en una conferencia importante que tuvo lugar en mayo de 1995. Por lo general, un evento como éste no habría generado mucha atención. Sin embargo, Java generó un interés inmediato en la comunidad de negocios, debido al fenomenal interés en World Wide Web. En la actualidad, Java se utiliza para desarrollar aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores de World Wide Web (las computadoras que proporcionan el contenido que vemos en nuestros navegadores Web), para proporcionar aplicaciones para os dispositivos domésticos (como teléfonos celulares, radiolocalizadores y asistentes digitales personales) y para muchos otros propósitos. Introducción a Java Historia
  • 44. Tipos de datos básicos Numéricos Tipo Declaración/Asignación Enteros: Byte Byte ejemplo = 15; Short Short ejemplo = 15; Int Int ejemplo = 16; Long Long ejemplo = 16; Reales: Float Float ejemplo = 16f; Double Double ejemplo = 16d;
  • 45. Caracteres, lógicos y dimensionales Tipo Declaración/Asignación Caracteres Char Char ejemplo=’X’; String ( clase ) String ejemplo=new String("ejemplo"); Lógicos Boolean Boolean ejemplo=1>0; Arreglos Vectores: [ ] int [ ]ejemplo=new int[2]; Matrices: [ ][ ] int [ ][ ]ejemplo=new int[2][2]; Tipos de datos básicos
  • 46. Estructuras Condicionales If Las estructuras condicionales son una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición. If (condición) { //bloque de instrucciones If (condición) { //bloque de instrucciones } }
  • 47. Estructuras Condicionales Else Las sentencias condicionales constituyen, junto con los bucles, los pilares de la programación estructurada If (condición) { //bloque de instrucciones }else { //bloque de instrucciones }
  • 48. Estructuras Condicionales Switch switch ( byte/short/char/int ) { case 1: { //bloque de instrucciones Break; } case 2: { //bloque de instrucciones Break; } . . . default: {//bloque de instrucciones break; } }
  • 49. Estructuras Repetitivas For Las estructuras repetitivas son sentencias que se realizan repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle (ciclo) deje de cumplirse. for (inicio ; condición ; iterador) { //bloque de instrucciones }
  • 50. Estructuras Repetitivas While Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro. while (condición) { //bloque de instrucciones }
  • 51. Estructuras Repetitivas Do-While Un bucle infinito se considera un error de programación, a menos que ese sea el resultado esperado por el programador (generalmente usado en programas malignos/molestos). do { //bloque de instrucciones } while (condición);
  • 52. Sentencias de Ruptura Return Un método puede o no devolver un resultado, según cómo haya sido declarado. Return apresura la salida del método devolviendo el valor correspondiente. Es necesario al menos un return para cada tipo de dato de retorno que haya sido definido. public String retorna(){ //bloque de instrucciones return "este es el retorno"; }
  • 53. Sentencias de Ruptura Break La sentencia de 'break' es de tipo de control de bucles. Dentro de la iteración en un bucle, de cualquiera de los tipos (while, do-while, for), el uso de esta sentencia rompe la iteración de dicho bucle. for (inicio ; condición ; iterador) { //bloque de instrucciones Break; //bloque de instrucciones }
  • 54. Sentencias de Ruptura Continue Dentro de la iteración en un bucle, de cualquiera de los tipos (while, do-while, for), el uso de esta sentencia rompe la iteración de dicho bucle. Provocando que se ejecute la siguiente iteración, ignorando las sentencias posteriores a continue. do { //bloque de instrucciones continue ; } while (condición);
  • 55. Tipos de datos Compuestos Application Class Las Application Class son clases que poseen el main, es decir, realizan la ejecución del código inicial. public class CursoJAVA { public static void main(String[] args) { //bloque de instrucciones } }
  • 56. Tipos de datos Compuestos Class Una Clase puede ser superclase si se aplica la herencia. Sólo se puede heredar de una clase a la vez. public class Animales { //bloque de atributos y métodos, como también clases. }
  • 57. Tipos de datos Compuestos Sub class Una clase es subclase cuando esta hereda de una superclase. A su vez, puede también ser superclase dando herencia a otras clases. public class Perro extends Animales { //bloque de atributos y métodos, como también clases. }
  • 58. Tipos de datos Compuestos Abstract class abstract class GraphicObject { int x, y; void moveTo(int newX, int newY) { //bloque de instrucciones } abstract void draw(); abstract void resize(); } class Circle extends GraphicObject { void draw() { //bloque de instrucciones } void resize() { //bloque de instrucciones } } class Rectangle extends GraphicObject { void draw() { //bloque de instrucciones } void resize() { //bloque de instrucciones } }
  • 59. Tipos de datos Compuestos Interfaces Interface InstrumentoMusical{ void tocar(); void afinar(); } class Guitarra implements InstrumentoMusical { void tocar() { //bloque de instrucciones } void afinar() { //bloque de instrucciones } }