PROGRAMACION ORIENTADA A OBJETOS
Parad Paradig igma ma de la prog progra rama maci ción ón que que usa usa obje objeto toss y usa usa inte interac raccio cione ness para para dise diseña ñar r aplicaciones y programas informáticos Basados en las técnicas: Herencia, Abstracción, Polimorfismo, encapsulamientos. . Son enti entida dade dess que que comb combin inan an ESTADO comportam tamien iento to Objetos: Son ESTADO (Atributo) (Atributo), compor (Método) de una clase identidad. Es el responsable de su funcionamiento. ESTADO: Comp Compue uest sto o de dato datos, s, será será uno uno o vari varios os atri atribu buto toss a los los que que se habr habrán án asignado unos valores concretos. PRINCIPALES BENEFICIOS POO: Reusabilidad: Los sistemas orientados a objetos permiten la reutilizac ión de los objetos que los componen componen.. Haciend Haciendo o posibl posiblee crear crear nuevos nuevos sistema sistemass basado basadoss en sistemas sistemas existentes. Extensibilidad: Los sistemas O.O pueden extender con facilidad, sin tener que tocar los módulos existentes. CARACTERISTICAS JAVA
Seguro, gratuito, confiable, sencillo y orientado a objetos Sintaxis de un Atributo: CLASES DE OBJETOS 1. Las clases de objetos representan conceptos o entidades significativas en un problema determinado. 2. Una clase describe las características comunes de un conjunto de objetos, mediante dos elementos. Atributos (Variables miembro, variable de clase),describen el estado interno del objeto, operaciones ( métodos, funciones miembro)describen lo que se puede hacer con el objeto. Herencia: Mecanismo de la poo que permite construir una clase incorporando de manera implícita todas las características de una clase previamente existente. Características: Evitar Evitar redundancia redundancia,, por que toda la funcionalidad funcionalidad de una clase de objetos es adoptada por la clase que la hereda (evitar repetición de código). facilita la reutilización. Ej: Cuenta numero Long titular String saldo Float interes Float __________ Ingreso() Leer saldo()
Cuenta Corriente reintegro()
cuenta de ahorro ingreso mes
Definición: Capacidad de una clase de devolver las propiedades y métodos de otra. Ej: mamífero
Gato
Perro
Abstracción: denota las características esenciales de un objeto, donde se capturan sus comportamientos.
Cada objeto en el sistema sirve como modelo de un agente abstracto, que puede realizar trabajo, informar, cambiar su estado y comunicarse con otros objetos en el sistema sin revelar como se implementan las características. Es la clave en el proceso de análisis y diseño orientado a objetos. Consiste en seleccionar el código en grupo de código mas pequeño y los distingue de los demás. La abstracción nos permite dividir nuestros programas en distintos objetos que se agruparían para formar cosas mas complejas. Definición: Captar las características esenciales de un objeto Ej: ENTIDAD Aves El objeto seria pájaro y sus características serian: Pico, Alas, Plumas, Patas.
Funcionalidad Asociada: Volar, parar etc Nota : En poo, el concepto de clase es la representación y el mecanismo por el cual se gestiona las abstracciones.
Encapsulacion: “Ocultamiento” oculta los detalles de implementación de una clase • hace el código mas mantenible •
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad al mismo nivel de abstracción. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que las clases se conocen el comportamiento pero no los detalles internos. Nos interesa saber que hace no como lo hace. El encapsulamiento se logra gracias a la abstracción y el ocultamiento de información. Ocultamiento: Capacidad de ocultar los detalles internos del comportamiento de una clase y exponer solo los detalles que sean necesarios para el resto del sistema. Permite: Restringir y controlar el uso de una clase. Restringe: creando comportamiento privado de la clase, que no puede ser accedido de tras clases. Controlar: daremos ciertos mecanismos para…………..
En java el ocultamiento se logra usando las palabras reservadas: public, private, protected delante de las variables y métodos. Polimorfismo: (Upcastring) Se entiende como una clase o método que puede tener distintas formas con el mismo nombre.
Consiste en la posibilidad de que una referencia a objetos de una clase pueda conectarse también con objetos de descendientes de esta. Ej: B A ra= new.A() Asignación Ordinaria B rb=ra “asignación polimorfa” B rb=newA() “Asignación polimorfa” A Dinamico: es el que el código el código no incluye ningún tipo de especificación sobre el tipo de datos. Estatico: es el que los tipos a los que se aplica el polimorfismo, debe tener explicitados y declarados uno por uno antes de ser utilizados. CLASE
Descripción de un objeto y describe el comportamiento del objeto. Descripción de un tipo de objetos en base a unos atributos y servicios. Variables de Clase : Son los atributos compartidos por todos los objetos perteneci entes a una clase. Variables de Instancia: Cada objeto independiente perteneciente a la clase.
Los servicios son los métodos Por Objeto: Parte privada- variables de instancia Parte publica- métodos Por Clase: Parte privada- variables de clase Sintaxis básica clase class{ } Clase : definiciones de las propiedades y comportamiento de un objeto. La instanciacion .es la lectura de las definiciones y la creación de un objeto a partir de ellas. Objeto: entidad real o abstracta con un papel bien definido en el dominio del problema. Siempre pertenece a una clase o clases que definen sus estados y comportamientos para con otros objetos. Mensajes y Métodos: Mensaje: acción que analiza el objeto sobre otro” petición del servicio” . Método: respuesta al mensaje “proporciona el servicio” Objeto--------- mensaje(metodo)------------objeto Clasificación de métodos según su objeto - constructores iteradores modificadores
-destructores
selectores consultores
Construcción e inicialización de objetos: La sentencia New localiza estación para un nuevo objeto. RESULTADO
- Localización de memoria: gestación para un nuevo objeto. es localizado y las variables de instancia son inicializadas a sus valores por defecto. - Inicialización explicita de los atributos, es ejecutada. - un constructor es ejecutado -La asignación de una variable es realizado con una referencia al objeto. My date Myhirth= new mydate(8,8,K) -Una variable de referencia puede referirse a objetos de diferentes formas. - un objeto tiene solo una forma Los objetos en JAVA se utilizan siempre a través de REFERENCIAS “Similares a punteros en ch ” Pasos para la creación - Declarar una referencia a la clase - Crear un objeto mediante el operador new invocando al constructor adecuado - Conectar el objeto con la referencia Ej: Cuenta c;//una referencia a un objeto de la clase cuenta C=new cuenta(11184,”pedido”,011); La destrucción de los objetos localiza de manera automática cuando el recolector de basura, detecta que el objeto no esta siendo utilizado, es decir, no esta conectado a ninguna referencia. Ej: Cuenta c1=new cuenta(18,”A”,01) Cuenta c2=new cuenta(20,”A”,01) c1=c2; el objeto asociado a la cuenta 18 ha quedado desconectado y será eliminado