You are on page 1of 8

UNIDAD IV POO Y MODELADO CARACTERISTICAS DEL MODELO OO UML (Unified Modeling Languaje o Lenguaje unificado de Modelado) es un lenguaje grafico

destinado al modelado de sistemas y procesos. Está basado en la orientación a objetos que condujo en primer lugar a la creación de lenguajes de programación como Java, C++, entre otros. ULM es un lenguaje semánticamente rico y, por tanto, resulta bastante difícil retener todos los conceptos en que se basa. En un lenguaje de programación la descripción de los objetos se realiza de manera formal con una sintaxis rigurosa. Dicha sintaxis resulta ilegible para los no programadores y difícil de descifrar para los programadores. A diferencia de las maquinas, los humanos prefieren utilizar lenguajes gráficos para representar abstracciones, ya que dominan este tipo de lenguaje con mayor facilidad y obtienen una visión de conjunto de los sistemas en mucho menos tiempo.

ELEMENTOS PRIMORDIALES EN EL MODELO DE OBJETOS La orientación a objetos constituye la base de UML, está formada por conceptos como  Objetos  Clases  Especialización  Composición Y principios  Abstracción  Encapsulación Estos elementos hacen de la orientación a objetos un soporte real para el modelado de sistemas complejos y para la programación de los mismos. En la actualidad los términos objeto y orientado a objetos se aplican a diversos tipos de entidades, métodos de diseño, sistemas y lenguajes de programación. Sin embargo, por lo general se acepta que un objeto es un encapsulado de la información, y esto se refleja en las siguientes definiciones de objeto y clase: Un objeto es una entidad que tiene un estado y un conjunto de operaciones definidas que operan sobre ese estado. El estado se representa como un conjunto de atributos del objeto. Las operaciones asociadas al objeto proveen servicios a otros objetos (clientes) que solicitan estos servicios cuando se requiere llevar a cabo algún cálculo. Los objetos se crean conforme a una definición de clases de objetos. Una definición de clases sirve como una plantilla para crear objetos. Esta incluye las declaraciones de todos los atributos y operaciones asociados con un objeto de esa clase. REPRESENTACION GRAFICA DEL DISEÑO

Alumno Nc nombre carrera semestre registrarDatos() mostrarDatos() cuadrado lado calcularArea() circulo pi radio calcularArea() cliente noCuenta tipoCuenta saldo realizarDeposito() realizarRetiro() consultarSaldo() calcularPerimetro() RELACION ENTRE LA POO Y LA ESTRUCTURADA La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones. La . Está basado en varias técnicas. abstracción. polimorfismo y encapsulamiento. Los atributos del objeto se listan en la sección superior. para diseñar aplicaciones y programas informáticos.En UML una clase se representa como un rectángulo al cual se le han asignado un nombre y dos secciones. La POO difiere de la programación estructurada tradicional. en la que los datos y los procedimientos están separados y sin relación. ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. incluyendo herencia. Las operaciones que están asociadas con el objeto se listan en la sección inferior.

y en segundo lugar en las estructuras de datos que esos procedimientos manejan. en cambio. primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos. // Campo de cada objeto Persona que almacena su // Campo de cada objeto Persona que almacena su edad . En la programación estructurada sólo se escriben funciones que procesan datos. Un ejemplo de cómo declarar una clase de nombre A que no tenga ningún miembro es la siguiente: Public class A {} ELEMENTOS DE UNA CLASE Campos: Un campo es un dato común a todos los objetos de una determinada clase. Para definir cuáles son los campos de los que una clase dispone se usa la siguiente sintaxis dentro de la zona señalada como <miembros> en la definición de la misma: <tipoCampo> <nombreCampo>. public class Persona { String Nombre. UNIDAD V IMPLEMENTACION OO ESTRUCTURA DE UNA CLASE La sintaxis básica para definir una clase es la que a continuación se muestra: modificadorDeAcceso class <nombreClase> { <miembros> } De este modo se definiría una clase de nombre <nombreClase> cuyos miembros son los definidos en <miembros> Los miembros de una clase son los datos y métodos de los que van a disponer todos los objetos de la misma.programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones. nombre int Edad. Los programadores que emplean POO.

los métodos permiten manipular los datos almacenados en los objetos. Por ejemplo. si el método no tomase parámetros se dejarían vacíos los parámetros en la llamada al mismo.<campo> Por ejemplo. sólo que ahora tras el nombre del método al que se desea llamar hay que indicar entre paréntesis cuáles son los valores que se desea dar a los parámetros del método al hacer la llamada. Dentro de estas instrucciones es posible acceder con total libertad a la información almacenada en los campos pertenecientes a la clase dentro de la que el método se ha definido.Edad = 20. } } La sintaxis usada para llamar a los métodos de un objeto es la misma que la usada para llamar a sus campos. para llamar al método Cumpleaños() de un objeto Persona llamado p se haría: p. Métodos: Un método es un conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas basta referenciarlas a través de dicho nombre en vez de tener que escribirlas.} Para acceder a un campo de un determinado objeto se usa la sintaxis: <objeto>. se escribe: <objeto>. luego no le pasamos ninguno Es importante señalar que en una misma clase pueden definirse varios métodos con el mismo nombre siempre y cuando tomen diferente número o tipo de . // El método no toma parámetros.Cumpleaños(). Un ejemplo de cómo declarar un método de nombre Cumpleaños es la siguiente modificación de la definición de la clase Persona usada antes como ejemplo: public class Persona { string Nombre. // Campo de cada objeto Persona que almacena su // Campo de cada objeto Persona que almacena su edad // Incrementa en uno de la edad del objeto public void Cumpleaños() Persona { Edad++. por lo que como al principio del tema se indicó.<método>(<parámetros>) Como es lógico. para acceder al campo Edad de un objeto Persona llamado p y cambiar su valor por 20 se haría: p. O sea. nombre int Edad.

una subrutina. 2. Todos los objetos. que son los que inicializan clases. Escribir un constructor para convertir la memoria adquirida por new en un objeto. sin excepción. Definición 2: Un método es una serie de instrucciones Java que han sido agrupadas bajo un nombre determinado. ambos deben estar incluidos en una sola expresión.parámetros. si Fecha es el nombre de una clase. UNIDAD VI MODULARIDAD DECLARACION DE METODOS Definición 1: Un método es un miembro de una clase que lleva a cabo una acción o calcula un valor. un procedimiento o un subprograma. A esto se le conoce como sobrecargar de métodos. y constructores estáticos. Hay dos tipos de constructores: constructores de instancia. Paso 2: Inicialización del objeto usando un constructor El segundo paso en la creación de un objeto consiste en llamar a un constructor. Usar la palabra reservada new para adquirir y asignar memoria para el objeto. que inicializan objetos. Aunque este proceso consta de dos pasos. ya sea de forma explícita en el código o dejando que lo haga el compilador. Ejemplos de métodos: El método Main es el punto de entrada de la aplicación. Un constructor convierte en un objeto la memoria asignada por new. Paso 1: Asignación de memoria El primer paso en la creación de un objeto consiste en asignarle memoria. se crean con el operador new. y es posible ya que cuando se les llame el compilador sabrá a cual llamar a partir de <parámetros> pasados en la llamada CREAR OBJETOS El proceso de creación de un objeto se divide en dos pasos: 1. La mayor parte de los lenguajes de programación modernos incluyen un concepto similar. se puede considerar que un método es equivalente a una función. Por ejemplo. para asignar memoria e inicializar el objeto cuando se usa la siguiente sintaxis: Fecha Hoy = new Fecha( ). METODOS DE UNA CLASE Cuando se crea un método hay que especificar lo siguiente: .

showMessageDialog(null. SINTAXIS PARA LA DEFINICION DE METODOS Para crear un método se utiliza la siguiente sintaxis: public static void MethodName( ) { cuerpo del método } El siguiente ejemplo muestra cómo crear un método llamado ExampleMethod en la clase ExampleClass: class ExampleClass { public static void ExampleMethod( ) { JOptionPane.  Lista de parámetros A continuación del nombre del método viene una lista de parámetros para el método."Ejemplo de metodo"). que debe estar entre llaves ({ y }) aunque no contenga más que una instrucción. El nombre del método puede ser cualquier identificador permitido de Java y distingue entre mayúsculas y minúsculas. Nombre Un método no puede tener el mismo nombre que una variable. es posible declarar métodos llamados Suma y SUMA en la misma clase. Esta lista aparece entre paréntesis que deben estar presentes aunque no hay ningún parámetro. lo que permite declarar y usar métodos cuyos nombres sólo se diferencian en letras mayúsculas o minúsculas. una constante o cualquier otro elemento que no sea un código y haya sido declarado en la clase. } } Nota:Java distingue entre mayúsculas y minúsculas en los nombres de métodos.  Cuerpo del método Después de los paréntesis viene el cuerpo del método. . } public static void main( String args[]) { ExampleMethod(). Por ejemplo.

” La segunda instrucción en Main es la llamada a ExampleClass. es posible hacer llamadas a ese método desde dentro de la misma clase y desde otras clases. Uso de instrucciones return La palabra clave return seguida de una expresión hace que el método finalice inmediatamente y devuelve la expresión como valor de retorno del método. que es la instrucción que muestra “Termina el programa.showMessageDialog(null. Los paréntesis son obligatorios aunque el método llamado no contenga ningún parámetro."Hola.” public class ExampleClass { public static void ExampleClass( ) { JOptionPane.LLAMADAS A METODOS Después de definir un método. Sin una instrucción return. mundo”.showMessageDialog(null. El programa del siguiente ejemplo comienza al principio del método Main de ExampleClass. } } VALOR DE RETORNO La instrucción return se puede emplear para hacer que un método se devuelva inmediatamente al llamador."Termina el programa.showMessageDialog(null. ."). Al final del método. MethodName( ). como se ve en el siguiente ejemplo. mundo"). El flujo de control pasa a la primera instrucción en ExampleClass y aparece “Hola. } public static void main( ) { JOptionPane. el control pasa a la instrucción inmediatamente después de la llamada al método. JOptionPane. lo normal es que la ejecución se Declaración de métodos con un tipo que no sea void Para declarar un método de forma que devuelva un valor al llamador hay que cambiar la palabra clave void por el tipo del valor que se desea devolver. La primera instrucción muestra “Comienza el programa."). Para hacer una llamada a un método hay que emplear el nombre del método seguido de una lista de parámetros entre paréntesis."Comienza el programa. ExampleClass( ).

Los métodos que no son void deben devolver valores Si se declara un método con un tipo distinto de void.b. Si detecta que un método que no es void no incluye ninguna instrucción return.” Este mensaje también aparecerá si el compilador detecta que es posible ejecutar un método que no es void sin devolver un valor.x). el valor se almacena en la variable local x de Main. a = 2. } public static void main(String args[] ) { int x. . el compilador mostrará el siguiente mensaje de error: “No todas las rutas de código devuelven un valor. ya que int es el tipo de retorno del método. x = DosMasDos( ). En este ejemplo.showMessageDialog(null. b = 2. return a + b. Cuando se hace una llamada al método.El siguiente ejemplo muestra cómo declarar un método llamado DosMasDos que devuelve el valor 4 a Main cuando hace una llamada a DosMasDos: public class ExampleReturningValue { public static int DosMasDos( ) { int a. éste devuelve el valor 4. JOptionPane. es obligatorio añadir al menos una instrucción return. El compilador intenta comprobar que cada uno de estos métodos devuelve siempre un valor al método de llamada. } } El valor devuelto es un int.