LogInformatica Capacitación Asesoría Programación Orientada a Objetos

        

Elementos Fundamentales del Lenguaje de Pro. Programación Orientada a Objetos Tecnología Java Diseño de Clases y Objetos Herencia e Interfaces Contenedores Programación Multi Hilos Programación de Socket Diseño de Aplicaciones Cliente-Servidor.

LogInformatica Capacitación Asesoría Programación Orientada a Objetos
El Mundo Color de Objetos

        

Que es la programación Orientada a Objetos. Como se piensa en Objetos Clase en la POO Atributos o propiedades en la clase Métodos de la clase Instancias de una clase Estado de los Objetos Encapsulado Polimorfismo

LogInformatica Capacitación Asesoría Programación Orientada a Objetos
El Mundo Color de Objetos  Proyecto Final

El alumno diseñara una aplicación usando la metodología de Orientada a Objetos , Concurrente tipo cliente – Servidor interconectada a través de puertos manejados por Socket.

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos  Que es la programación Orientada a Objetos Programación Procedimientos Se caracteriza por resolver un proceso totalmente antes de iniciar otro Programación Orientada a Objetos Se caracteriza Por la creación e Interacción de los Objetos .

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Edad Dato Nombre Sexo Información .

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Edad Dato Nombre Sexo Información + Funcionabilidad .

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Funcionalidad Poner Nombre Reproducirse Cumple años .

Programación Orientada a Objetos El Mundo Color de Objetos  LogInformatica Capacitación Asesoría En informática Un OBJETO es un conjunto de variables y de los métodos relacionados con esas variables. Estos miembros pueden ser tanto variables como funciones  . Importante los objetos permiten tener un control total sobre 'quién' o 'qué' puede acceder a sus miembros.  Mas sencillo Un objeto contiene en sí mismo la información y los métodos o funciones necesarios para manipular esa información.

Por ejemplo vamos a pensar en una Automovil para tratar de Abstraer en un esquema de POO. Diríamos que el Automovil es el elemento principal que tiene una serie de características. Marca o el Modelo Además tiene una serie de funcionalidades asociadas. como podrían ser el color. como pueden ser transportar o trabajar. .LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Como se piensa en Objetos  Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real.

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Clase en la POO  Una CLASE es un proyecto. Un poco más sencillo: las clases son los moldes de las que luego se pueden crear múltiples objetos del mismo tipo. La clase define las variables y los métodos comunes a los objetos de ese tipo. que define las variables y los métodos comunes a un cierto tipo de objetos. o prototipo. cada objeto tendrá sus propios valores y compartirán las mismas funciones.    . Primero deberemos crear una clase antes de poder crear objetos o ejemplares de esa clase. pero luego.

LogInformatica Capacitación Asesoría Programación Orientada a Objetos Encapsulado El Mundo Color de Objetos Protección y Ocultamiento de Información En la programación Orientada a objetos el termino encapsulado se refiere al ocultamiento de los datos de una clase . y estos solo estarán disponible a través de ciertos método .

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos  El primer paso para asegurar que las clases esta debidamente encapsulada es aplicar niveles de acceso Visibilidad de los Modificadores Los datos y los métodos pueden tener modificadores. que indica el nivel de acceso que tendrán otros objetos . tal como publico.

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Visibilidad de los Modificadores El modificador private permite a los objeto que sus datos y métodos puedan ser inaccesibles para otros objetos .

si estos se componen de varias palabras la primera palabra inicia con minúscula y la primera letra de las siguientes palabras inicia con mayúscula Los accesos Private se simbolizan con – y los públicos con un + .LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos Clase = Proceso de Abstracción + Reglas de UML Objeto •El nombre de las clases siempre inicia con mayúscula •Los nombre de variables y métodos se escribe con minúsculas (si la variable no es un objeto) •Los nombre de variables y métodos se abrevia o no debe contener espacios.

Transacción Bancaria)  Entidades de Software ◦ (Ej.: Proceso Químico. Producto)  Entidades Conceptuales ◦ (Ej. Casa.LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos   Informalmente.: Vehículo. Interfaz Gráfica) . un objeto representa una entidad del mundo real Entidades Físicas  (Ej.: Lista Enlazada.

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos  ¿Por qué Orientación a Objetos (OO)? ◦ ◦ ◦ ◦ ◦ Se parece más al mundo real Permite representar modelos complejos Muy apropiada para aplicaciones de negocios Las empresas ahora sí aceptan la OO Las nuevas plataformas de desarrollo la han adoptado (.NET /Java ) .

Programación Orientada a Objetos El Mundo Color de Objetos LogInformatica Capacitación Asesoría .

además de las conexiones que puede tener con otros objetos  Propiedades: Es un método que me permite asignar (set) o consultar (get) un valor de un atributo de la clase. .LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos   Lo que el objeto sabe El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado normalmente cambia en el transcurso del tiempo El estado de un objeto es implementado por un conjunto de propiedades (atributos).

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos   Lo que el objeto puede hacer El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Se implementa mediante métodos   .

LogInformatica Capacitación Asesoría Programación Orientada a Objetos El Mundo Color de Objetos  Cada objeto tiene una identidad única. incluso si su estado es idéntico al de otro objeto .

se tienen que entender. requieren comunicarse.Object Management Group) Unified (UNIFICADO): Modeling (MODELADO): ◦ El aporte de muchos métodos y notaciones ◦ Independiente de implementaciones. Para entenderse necesitan un lenguaje común   Language (LENGUAJE):  ¡UML no es Metodología! . construir y documentar sistemas” (OMG .LogInformatica Capacitación Asesoría   “UML es un lenguaje visual para especificar. Si se tienen que comunicar. plataformas y lenguajes ◦ Los modelos son utilizados en todas las ingenierías ◦ Si hay gente.

LogInformatica Capacitación Asesoría  Una clase está compuesta de tres secciones ◦ La primera sección contiene el nombre de la clase ◦ La segunda sección muestra la estructura (atributos) ◦ La tercera sección muestra el comportamiento (operaciones) Curso -nombre -ubicacion -dias -inicio -fin +AgregarAlumno() +BorrarAlumno() +GenerarListadoCurso() +EstaCompleto()   La segunda y la tercera sección pueden ser suprimidas Modificadores de Acceso ◦ Los miembros públicos se denotan con el signo “+” ◦ Los miembros privados se denotan con el signo “–” .

clasificación y uso de variables El alumno revisara las aspectos fundamentales para escribir el prototipo de un método.LogInformatica Capacitación Asesoría Semana 2 Objetivo El alumno conocerá la tecnología java . así como la declaración . .

LogInformatica Capacitación Asesoría • Tecnología Java • Variables • Diseño de Prototipo de Métodos .

La tecnología de Java se base en POO .LogInformatica Capacitación Asesoría • Tecnología Java Programación Orientada a Objetos usando Java.

Universal Resource Locator (URL) Así como midlet que son piezas de código que viajan por Internet y se ejecutan en una dispostivo movil del cliente .LogInformatica Capacitación Asesoría • Tecnología Java Programación Distribuida Java es una Tecnología distribuido soportado por network Tecnologies tales: Como Remote Method Invocation (RMI).

como puede ser la petición a una base de datos.LogInformatica Capacitación Asesoría • Tecnología Java Multitareas La programación en Java soporta multithreading . por realizar varias tareas al mismo tiempo. y manejar las interfaces graficas haciendo un uso eficientes de los recursos .

las siguientes son medidas De seguridad que incluye : •Prohibido la manipulación de memoria y usos de apuntadores •Prohibido la distribución programas tales como Applets que lee y escriba en la maquina cliente •Verificación por la tecnología Java que los programas contenga un código seguro. .LogInformatica Capacitación Asesoría • Tecnología Java Seguridad La programación en Java usa medidas de segura para evitar ataques .

usando un Ligador (linker ) para generar un archivo ejecutable para el usuario final . Estos en archivos en código binario son combinados con otros archivos tales como librerías pre escritas.LogInformatica Capacitación Asesoría • Tecnología Java Plataforma Independiente Un compilador es una aplicación que convierte un programa fuente a un código binario en arquitectura especifica.

LogInformatica Capacitación Asesoría • Tecnología Java Plataforma Independiente Un Archivo binario es ligado con librerías para crear un archivo ejecutable en plataformas dependientes .

LogInformatica Capacitación Asesoría • Tecnología Java Plataforma Independiente Una Aplicación solo es Ejecutada en una Plataforma .

class) .java) y genera un Bycode (.LogInformatica Capacitación Asesoría • Tecnología Java Plataforma Independiente La tecnología de Java compila una aplicación fuente (.

LogInformatica Capacitación Asesoría • Tecnología Java Plataforma Independiente Un Bycode ( Aplicación en Java) puede ejecutarse en múltiples plataformas .

su misión principal es la de garantizar la portabilidad de las aplicaciones Java.class. El intérprete Java específico ejecuta las instrucciones que se guardan en los archivos cuya extensión es .LogInformatica Capacitación Asesoría • Tecnología Java Maquina Virtual Un Bycode ( Aplicación en Java) puede ejecutarse en múltiples plataformas La Máquina Virtual Java (JVM) es el entorno en el que se ejecutan los programas Java. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este ordenador puede ejecutar. Las tareas principales de la JVM son las siguientes: .

LogInformatica Capacitación Asesoría • Tecnología Java Grupo de Productos de la tecnología de Java .

Es posible usar el lenguaje de programación para crear cualquier tipo de aplicaciones . . la asignación dinámica de memoria que afecta a que un código sea robusto Es un lenguaje Orientado a Objetos que nos ayuda a visualizar la programación en términos como es dada en la vida real. que no seria posible usando un lenguaje convencional El lenguaje que usa la tecnología Java es fácil de programar porque : Elimina algunas aspectos complejas de otro lenguajes .LogInformatica Capacitación Asesoría • Tecnología Java Consiste en: Un Lenguaje de Programación Iniciando Kit de Desarrollo y Edición La Sintaxis del lenguaje de programación de java es similar a la sintaxis de C++ y la semántica de SmallTalk ( primer lenguaje orientado a objetos). tales como lo es la aritmética de apuntadores. Permite el entendimiento en el código.

La otra herramienta es la que esta en navegador web . los navegadores mas comerciales son proveídos de rutinas hechas en java pteara hacer mas dinámicas las aplicaciones.LogInformatica Capacitación Asesoría • Tecnología Java Consiste en un : Iniciando Kit de Desarrollo y Edición El ambiente de desarrollo de la tecnología java contiene una amplia gama de herramientas para el desarrollo como lo son : Compiladores. así como un conjunto de componentes para aplicaciones GUI (Uso de Inteface Grafica ) y un colección de API básicas y Avanzadas entre otros elementos. . Hay dos Herramientas principales en el JRE ( Java Rutime Environment) Software Development Kit (Java™ 2 SDK) este contiene un completo paquete de clases para todos las aplicaciones que usen la tecnología java . un generador de documentación paquetes de clases y algunas otras herramientas. interpretes .

LogInformatica Capacitación Asesoría • Tecnología Java Iniciando Kit de Desarrollo y Edición Consiste en Un ambiente de Aplicación y edición Las aplicaciones realizadas en java son independientes del sistema operativo y del navegador que son ejecutadas. donde JRE estén instalada. . Le propósito de java es que sus aplicaciones corran en cualquier maquina .

com www.LogInformatica Capacitación Asesoría • Tecnología Java Instalación Iniciando Kit de Desarrollo y Edición www.org .netbeans.sun.

LogInformatica Capacitación Asesoría • Variables Identificar Variables su uso y sintaxis Uso de las Variables  Almacenar un dato o referencia de un objeto Asignar el valor de una variable a otra Representar el valor de una expresión matemática Imprimir el valor en pantalla Almacena la referencia de otros objetos .

Java cuenta con seis tipos de datos primitivos para almacenar distintos rangos de valores Tipo byte short int long char Lo que almacena entero de 1 byte (8 bits) entero de 2 byte (16 bits) entero de 4 byte (32 bits) entero de 8 byte (64 bits) carácter UNICODE 2 bytes (16 bits) Rango de -128 a 127 de -32768 a 32767 de -2147483648 a 2147483647 de -2-63 a 263 . Más adelante se verá el uso del tipo String para el manejo de variables alfabéticas o alfanuméricas. char y boolean.1 Comprende el código ASCII boolean variable booleana de 1 byte (8 bits) false y true En la construcción de programas los tipos primitivos más usados son: int. .LogInformatica Capacitación Asesoría Variables Tipos primitivos de datos Todo lenguaje computacional debe soportar la existencia de variables de tipos numérico. lógico y de carácter para la construcción de un programa.

/* declara tres variables enteras */ boolean est. int a. si se quiere declarar una lista de variables. y. wq. int x. /* declara una variable entera de 32 bits */ Ahora bien. z. Además toda declaración debe finalizar con un punto y coma. su nombre. /* declara dos variables lógicas */ *nota: Las variable primitivas se inicializan en cero (salvo boolean y char. se debe usar el separador coma. y opcionalmente su valor inicial. se declara proporcionando su tipo. que se inicializan a false y '###BOT_TEXT###' respectivamente) si no se especifica un valor en su declaración .LogInformatica Capacitación Asesoría Variables Declaración e inicialización de variables de tipo primitivo Cualquier variable.

char entrada = 's'. se debe usar el operador asignación =.sum = 0.LogInformatica Capacitación Asesoría Variables inicialización de variables de tipo primitivo Para dar un valor inicial a la variable. boolean encendido = false. . salida = 'w'. int contador = 0.

LogInformatica Capacitación Asesoría Variables variables reales Char myChar = “G” Boolean isOpen = 1 .

14 .14 final double SALES_TAX = 6. con este la maquina virtual no permitirá cambios final double PI = 3.LogInformatica Capacitación Asesoría Variables Constantes Para hacer que una variable pase ser constante solo es necesario ante ponerle el modificador final .25 private final double PI = 3.

LogInformatica Capacitación Asesoría Instrucciones Básicas Almacenamiento en memoria .

LogInformatica Capacitación Asesoría Instrucciones Básicas Almacenamiento en memoria .

LogInformatica Capacitación Asesoría Instrucciones Básicas Almacenamiento en memoria .

LogInformatica Capacitación Asesoría
Instrucciones Básicas

Promociones
Es hecho de que el compilador en ciertas circunstancias cambie los tipos de variable

Ejemplo

identificador = (target_type) value
int num1 = 53 ; // 32 bits int num2 = 12; // 32 bits byte num3; // 8 bits Num3 = (byte) ( num1 + num2) // no hay perdida

int num1 = 53 ; // 32 bits int num2 = 12; // 32 bits byte num3; // 8 bits Num3 = ( num1 + num2) // causa error

float num1 = 10.728f float num2 = 2.10f int num3 ; num3 = (int) (num1+num2);//pierde la parte decimal

LogInformatica Capacitación Asesoría
Instrucciones Básicas

Funciones de conversión

Convertir la cadena string en un entero int

La conversión se realiza así int valor = Integer.parseInt(texto); // texto a entero float valor = Float.parseFloat(texto); // texto a flotante double valor = Double.parseDouble(texto); // texto a flotante String texto= String.valueOf(valor) // Polimórfica.

LogInformatica Capacitación Asesoría
Instrucciones Básicas

Funciones de conversión

Convertir la cadena string en un entero int

La conversión se realiza así int valor = Integer.parseInt(texto); // texto a entero float valor = Float.parseFloat(texto); // texto a flotante double valor = Double.parseDouble(texto); // texto a flotante String texto= String.valueOf(valor) // Polimórfica.

LogInformatica Capacitación Asesoría • Métodos • Diseño de prototipo de Método • Métodos Constructores • Métodos Asignación y Obtención de información • Métodos comportamiento .

LogInformatica Capacitación Asesoría • Diseño de prototipo de Método Los métodos define los comportamiento de los objetos de una clases Lo que los objetos puede hacer En un método se define la secuencia de instrucciones que se ejecutan para llevar acabo la operación Importante : Los métodos Nos dicen como hemos de usar los objetos de una clase Nos permite cambiar la implementación sin tener que cambiar el resto de la clase. .

Time …. . private . float. boolean. Argumentos : byte . Time …. static Tipo : byte . int . protected. int . float. Date . double . double . Date .char . abstract.char .LogInformatica Capacitación Asesoría • Diseño de prototipo de Método Definición del Método ( prototipo) Java modificadores tipo nombreMetodo (argumentos){ } Modificadores : public . boolean String.void String.

int b ){ int resultado = 0.LogInformatica Capacitación Asesoría • Diseño de prototipo de Método Los Argumentos son pasados por valor y son recibidos en variables locales Implementacion Java public int sumarNumeros (int a . son locales y debe de inicializarse La función puede regresar un valor o no regresar . // implementación del código return resultado } Las variables que se declaran dentro de la función .

LogInformatica Capacitación Asesoría • Diseño de prototipo de Método Mensajes Los objetos pueden ser activados mediante la recepción de mensajes. Un mensaje es simplemente una petición para que un objeto se comporte de una determinada manera. ejecutando una de sus funciones miembro .

LogInformatica Capacitación Asesoría • Diseño de prototipo de Método tipo nombreMetodo(args) //código //código //código //código return valor .

LogInformatica Capacitación Asesoría • Métodos • Métodos Constructores Un método constructor tiene las siguientes características: Tiene el mismo nombre de la clase No regresa ningún valor Es Polimórfico Se ejecuta al momento de crear el objeto. únicamente Tarea que realiza: Asignarle valores iníciales a los datos de la clase .

año=2000 } .LogInformatica Capacitación Asesoría • Métodos Constructores Constructor por Omisión : Es un método que no recibe argumentos . Fecha() { dia= 1. mes=1 . e inicia los datos de la clase con valores constantes.

LogInformatica Capacitación Asesoría • Métodos Constructores Constructor por Argumentos : Es un método que recibe argumentos . mes=m . int m . Fecha( int d . int a ) { dia= d. e inicia los datos de la clase con valores variables. } . año=a.

LogInformatica Capacitación Asesoría • Métodos Constructores Constructor Copia: Es un método que recibe como argumento un objeto de la misma clase .mes . } .año. e inicia los datos de la clase con valores de los objetos que recibe. mes=otro. Fecha( Fecha otro) { dia= otro. año=otro.dia.

.LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información Estos métodos permite asignarle un valor u obtener el valor de un atributo de la clase. set <Atributo> get <Atributo> Propiedades: Es un método que me permite asignar (set) o consultar (get) un valor de un atributo de la clase.

set <Atributo> public void setDia(int d) public void setMes(int m) public void setAño(int a) .LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información Estos métodos permite asignarle un valor u obtener el valor de un atributo de la clase.

get <Atributo> public int getDia() public int getMes() public int getAño() .LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información Estos métodos permite asignarle un valor u obtener el valor de un atributo de la clase.

} Metodo get public int getDia(){ return dia . } public void setAño(int a){ año =a } public int getAño(){ return año.LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información Implementación Metodos set public void setDia(int d){ dia =d . } . } public void setMes(int m){ mes = m. } public int getMes(){ return mes .

LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información Atributos Constructores Método propiedades Asignar Obtener .

LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información 1 3 2009 1 3 2009 .

LogInformatica Capacitación Asesoría Métodos Métodos Comportamiento El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Se implementa mediante métodos .

LogInformatica Capacitación Asesoría Métodos Comportamiento El Objeto de la clase fecha puede hacer: Imprimir la fecha en formato día / mes / año Determinar cuantos días tiene cada mes Determinar si el año es bisiesto Prototipo de los métodos void public imprimirFecha() int public diaMes() int public añoBisiesto() .

LogInformatica Capacitación Asesoría Métodos Asignación y Obtención de información Atributos Constructores Método propiedades Asignar Obtener comportamiento .

4. 2. métodos de set / get . 3. y metodo de comportamiento a las siguientes clases: 1.LogInformatica Capacitación Asesoría Conclusiones semana 2 ¿Preguntas ? Agregar constructores . Fecha Cuenta de Banco Producto Una Bomba de Gasolina ( nuevo) .