• No se han encontrado resultados

Principios de Programación Orientada por Objetos

N/A
N/A
Protected

Academic year: 2021

Share "Principios de Programación Orientada por Objetos"

Copied!
12
0
0

Texto completo

(1)

1

Objetos

Departamento de Sistemas y Computación

Facultad de Ingeniería

Universidad de los Andes

Material Elaborado por:

Angela C. Carrillo R.

Principios de Programación Orientada por Objetos

Java: Lenguaje de Programación

¿Por qué surge un lenguaje?

– Para adaptarse a los cambios de entorno y

usos:

Independencia de la plataforma

– Implantar refinamientos y mejoras a la

(2)

3

JAVA: Lenguaje de Programación

•Lenguaje Orientado por Objetos

•Simple, Poderoso y Fácil de aprender

•Robusto

•Interactivo

•Arquitectura neutral

•Interpretado y de alto desempeño

•Distribuido (concurrencia) y Dinámico

•Admite el modelo cliente/Servidor

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

JAVA: Lenguaje de Programación

Seguro

– Tiene el Java Security Manager el cual limita el

programa Java a un entorno de ejecución Java

Portabilidad

– La compilación produce Código Binario

(bytecode) que es interpretado por la máquina

virtual de Java (JVM)

– El intérprete se implementa en cada

(3)

5

JAVA: Lenguaje de Programación

Robusto

– Fuertemente tipado y hace validaciones en

tiempo de compilación y de ejecución

– Manejo de memoria (Recolector de Basura)

– Manejo

de

condiciones

excepcionales

(excepciones)

Simple

– No maneja apuntadores

– No herencia múltiple.

– No hay sobrecarga de operadores

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

JAVA: Lenguaje de Programación

O.O

– Todo es objeto (excepto tipos básicos)

– Superclase Object

JNI (Java Native Interface)

– Es un API que permite a la JVM llamar

aplicaciones y librerías escritas en otros

lenguajes. Se crean DLL.

• Escribir métodos en C/C++ u otros

lenguajes

(4)

7

Aplicaciones y Applets

Aplicación:

– Programa que se ejecuta en el computador

utilizando el Sistema Operacional de ese

computador

Applet:

– Aplicación diseñada para ser transmitida por

internet y ejecutada en un navegador

compatible con JAVA.

– Reacciona ante eventos producidos por

usuarios.

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

JDK: Java Development Kit

•CLASSPATH

•Directorios: bin, demo, docs, include, lib, src

•Compilador de Java javac

•Intérprete de Java

java, appletviewer

•Depurador de código

dbx, jdb

(5)

9

JDK: Java Development Kit

CLASSPATH

– Especifica dónde buscar las clases de JAVA

durante tiempo de compilación y ejecución

– Se coloca como una variable más del

autoexec.bat

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

JAVA: Lenguaje de Programación

CLASSPATH (continuación)

– Ej. Si tiene como valores:

C:/jdk/lib;C:/misclases

y necesitamos buscar el archivo

ESORED.class

en el paquete

uniandes.especializaciones

la

búsqueda que se hace es:

C:/jdk/lib/uniandes/especializaciones/ESORED.c

lass

C:/misclases/uniandes/especializaciones/ESOR

ED.class

(6)

11

Máquina Virtual de JAVA (JVM)

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Código

Fuente

Compilador

Linker

Archivo

Ejecutable

01010101

01010101

11111000

DOS

UNIX

WINDOWS

Librerías

Programa en

ejecución

Programa en

ejecución

Otros Lenguajes de

Programación

Principios de Programación Orientada por Objetos

Máquina Virtual de JAVA (JVM)

Código

Fuente

Compilador

de Java

javac

Archivo de

Clase

01010101

01010101

11111000

DOS

UNIX

WINDOWS

Otros archivos

de clase

Programa en

ejecución

Programa en

ejecución

Máquina

virtual de

JAVA

(7)

13

Máquina Virtual de JAVA (JVM)

Problemas de Seguridad

– Negación del servicio

– Invasión de privacidad

– Robo de datos

– Modificación del sistema

– ...

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

Máquina Virtual de JAVA (JVM)

•Seguridad

•Protecciones a nivel de Lenguaje

•A nivel de JVM

•SandBox (para Applets)

•Cargador de Clase (Java Class Loader)

•Verificador del código de Byte (Java

Class Verifier)

(8)

15

Máquina Virtual de JAVA (JVM)

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

INTERNET

Navegador

WEB

Cargador de

Clase

Verificador

de código

byte

Máquina

Virtual de

JAVA

Administrador

de Seguridad

HTML

Clases Applet

Principios de Programación Orientada por Objetos

Archivo JAR

Formas independientes de la plataforma para

empaquetar archivos .class, html, sonido u otros

componentes de applets o aplicaciones en un

paquete simple que puede ser bajado en una sola

transferencia al cliente.

<applet code=“archivo.class”

archive=“arch.jar,

arch2.jar” width = 100 height= 150>

(9)

17

Archivo JAR

•Forma eficaz de distribuir applets así como

aplicaciones y JavaBeans

•Archivo manifest (contenido del archivo JAR)

•Ventajas

•Mejoran la eficacia de las descargas

•Mejoran el almacenamiento de archivos

•Mejoran la seguridad

•Son independientes de la plataforma (pkzip)

•Son compatibles con versiones antiguas

•Son extensibles

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

Archivo JAR

•Creación: Utilidad jar

(10)

19

Paquetes

•Colección de clases relacionadas

•Agrupación lógica de un conjunto de clases.

•Son almacenados de manera jerárquica.

•Para utilizar parcial o totalmente las clases

de un paquete se utiliza:

import nompaquete;

•Para asociar una clase a un paquete:

package nompaquete;

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

Paquetes del núcleo de Java

•java.applet

Clase applet de JAVA

•java.awt

Componentes de GUI

•java.io

Servicios generales de Comunicaciones

•java.lang

Clases integradas de JAVA

•java.math

Matemática

•java.net

Servicios de red

•java.rmi

Invocación de métodos remotos

•java.security Mecanismos de seguridad

•java.sql

Manejo de Bases de Datos

•java.text

Manejo de Texto

(11)

21

Interfaces

Mecanismo mediante el cual se puede definir la

forma general de una clase garantizando que

todas las versiones específicas de esa clase

amplien el mismo conjunto de Reglas.

Proporciona polimorfismo

Una clase que implemente una interface debe

implementar todos sus métodos (deben ser

públicos). De lo contrario se convierte en clase

abstracta.

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

Comparación con C++

•Aprovecha los puntos fuertes de C++

•Utilización de tipos estrictos

•Conversión de tipos hacia arriba

•Conversión de tipos hacia abajo

•Orientación a objetos

•Constructores

•Familiaridad de la sintaxis

•Especificadores de acceso

(public, protected, private)

•Declaración de constantes

•Verificación de tipos durante ejecución

•Control de errores mediante excepciones

(12)

23

Comparación con C++

•Superación de la limitaciones de C++

•Inicialización predeterminada (NULL)

•Unicode nativo

•Utilización de nombres globales (todo es objeto)

•Verificación de los límites de un arreglo en ejecución

•Paquete genérico de contenedoras

•Uso de paquetes

•Multi-hilos

•Clase Object

Angela Carrillo R..

.Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia

Principios de Programación Orientada por Objetos

Comparación con C++

Lo que no tiene de C++

• Destructores

• Sobrecarga de operadores

• Herencia Múltiple

• Apuntadores

• Clases amigas

• Templates

Referencias

Documento similar

Las  aplicaciones Android están escritas en lenguaje Java.  Aunque  ya hemos 

• Incorrecta elección del firme, generalmente producida por falta de información sobre la constitución del terreno en sus estratos inferiores, o también por una excesiva confianza

Como se ha indicado anteriormente, en un diagrama de clase aparecen clases relacionadas entre sí, de esta forma, las clases y las principales relaciones

3.- A continuación creamos la primer variable CLASSPATH dando clic sobre el botón Nueva de las Variables de usuario para equipo.. Configuración De Las Variables Path

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Además de aparecer en forma de volumen, las Memorias conocieron una primera difusión, a los tres meses de la muerte del autor, en las páginas de La Presse en forma de folletín,

Dar click a la tarjeta para subir pregunta/ respuesta.. Definir número