edwin andrés cubillos vegaaprendeenlinea.udea.edu.co/lms/investigacion...constructores y...
TRANSCRIPT
Company
LOGO
PROGRAMACION ORIENTADA A OBJETOS
Edwin Andrés Cubillos Vega
Contenido
Polimorfismo
Constructores y Destructores
Herencia
Clases y Objetos
Introducción
Contenido
Polimorfismo
Constructores y Destructores
Herencia
Clases y Objetos
Introducción
Introducción
Programación Orientada a Objetos
El mundo real esta compuesto por elementos complejos, difícilmente pueden ser modelados por números simples o caracteres.
La esencia de la POO es modelar objetos (cosas o conceptos) en vez de datos.
Introducción
1.Encapsulación
2.Herencia
3.Polimorfismo
POO
Encapsulación
Encapsular es la capacidad de agrupar varios atributos y capacidades en una sola envoltura.
Esconde al usuario su funcionamiento interno.
Un buen encapsulamiento permite al programador enfocarse en como usar las clases en vez de preocuparse en como funcionan internamente
Herencia
La herencia permite generar nuevos tipos, tomando como base alguno ya implementado.
Cuando una clase hereda de otra se dice que es “derivada”, ofreciéndole instantáneamente todas sus cualidades.
Facilita la programación.
Polimorfismo
Polimorfismo se refiere a: el mismo nombre puede tomar muchas formas.
Es la capacidad de otorgar diferentes capacidades a funciones con el mismo nombre.
Simplifican la tarea del desarrollador, al no tener que recordar distintos nombres para comportamientos iguales.
Contenido
Polimorfismo
Constructores y Destructores
Herencia
Clases y Objetos
Introducción
Clases y Objetos
La base de la encapsulación.
Las clases son simplemente una colección de variables (usualmente de diferentes tipos), combinados con un conjunto de funciones.
Las clases son capaces de encapsular todo tipo de variables, incluso otras clases.
Clases y Objetos
Las clases tienen variables miembro y funciones miembro.
Variables o datos miembro: Son las variables de la clase, ej. ruedas, patas, color de pelo, altura, etc...
Funciones miembro o métodos: Son las acciones que las clases pueden realizar, ej. Maullar, correr, volar, etc..
Clases y Objetos
Los miembros de una clase puede ser catalogados como públicos o privados
Miembros Públicos: Son accesibles desde algún lugar donde el objeto sea visible. Los métodos públicos son usados para acceder y manipular sus variables miembro privadas.
Miembros Privados: Son miembros que sólo pueden ser accesibles desde otros miembros de la misma clase. Son utilizados para esconder información no relevante para el usuario.
Por defecto, los miembros de una clase son declarados como privados.
Clases y Objetos
Modificadores de Acceso
Declaración de una Clase en Java
Al contrario que C++, Java realiza la definición e implementación de la clase en el mismo lugar, en un único fichero .java
Clases y Objetos
C++
Clases y Objetos
Clases y Objetos
Clases y Objetos
Un objeto es una instancia individual de cada clase
La sintaxis para instanciar un objeto es
Esta instanciación de la clase se puede hacer en dos líneas
Clases y Objetos
Para acceder a los miembros de la clase se utiliza el operador punto (.) como en C++.
Ejemplo:
Clases y Objetos
Ejemplo:
Desarrollar una clase que permita cargar el nombre y la edad de una persona, mostrar los datos cargados e imprimir un mensaje si es mayor de edad (edad>=18)
Opción 1
Crear un proyecto en java (Java Project)
Crear una nueva clase y programar todo allí.
La estructura sería:
Clases y Objetos
Clases y Objetos
Opción 2:
Crear un nuevo proyecto
Crear una clase Persona
Crear una clase principal para el main “Datos”
Clases y Objetos
Clases y Objetos
Ejemplo 2
Desarrollar un programa que cargue los lados de un triángulo e implemente los siguientes métodos: inicializar los atributos, imprimir el valor del lado mayor y otro método que muestre si es equilátero o no.
Clases y Objetos
Clases y Objetos
Ejemplo 3
Desarrollar una clase que represente un punto en el plano y tenga los siguientes métodos: cargar los valores de x e y, imprimir en que cuadrante se encuentra dicho punto.
Proyecto: “plano”
Clase: “Punto.java”
Clases y Objetos
Ejemplo 4
Desarrollar una clase que represente un Cuadrado y tenga los siguientes métodos: cargar el valor de su lado, imprimir su perímetro y su superficie.
Proyecto: Cuadro
Clase: “Cuadrado.java”
Contenido
Polimorfismo
Constructores y Destructores
Herencia
Clases y Objetos
Introducción
Herencia
Permite definir clases (subclases) a partir de otra clase más genérica (superclase)
La subclase reúne todas las propiedades de la superclase, además de las suyas propias.
Permite a un objeto heredar los atributos y el comportamiento de otro.
Se utiliza cuando se requieren objetos muy similares a otros ya existentes.
Potencia la reutilización de código, genera código mas fiable y robusto y reduce el costo de mantenimiento
Herencia
En java no se permite la herencia múltiple
Una subclase hereda todos los métodos y atributos de la superclase excepto:
Atributos y métodos privados
Constructores (no se heredan pero si se ejecutan)
Herencia
Ejemplo
Una clase de objetos se hereda de otra por medio de la instrucción
Proyecto: “Herencia1”
Clase: “herenciaEj1.java
Herencia
Herencia
Ejemplo: El servicio de Internet se puede prestar por DSL o por Cable Modem.
Defina dos clases, una para cada uno:
y
Cada objeto debe tener una velocidad que mostrar, utilice una superclase de nombre que la
contenga y sea heredada por y
Cada objeto debe poder conectarse a Internet
Proyecto = “ModemEj”
Clase = “ModemTester.java”
Herencia
1. Crear la clase Modem
2. Crear la clase CableModem
Herencia
3. Crear la clase DSLModem
4. Crear la clase ModemTester
Herencia
Resultado
Contenido
Polimorfismo
Constructores y Destructores
Herencia
Clases y Objetos
Introducción
Constructores y destructores
Los constructores y destructores son métodos especiales de las clases
Se usan para inicializar y liberar la memoria de las clases respectivamente.
A diferencia de C++, Java no necesita la definición de destructores.
El mismo lenguaje se encarga de la eliminación y liberación de la memoria ocupada por un objeto.
Constructores y Destructores
El constructor se llama igual que la clase
No devuelve nada, ni siquiera void.
Pueden existir varias, pero siguiendo las reglas de sobrecarga de funciones.
De todas las que existan, solo se ejecuta una al crear un objeto de la clase.
Generalmente incluye inicialización de variables y objetos, para crear un objeto con dichos valores
Constructores y Destructores
Toda clase por defecto contiene un constructor sin parámetros y vacío
El constructor por defecto se pierde si escribimos cualquier otro constructor
Contenido
Polimorfismo
Constructores y Destructores
Herencia
Clases y Objetos
Introducción
Polimorfismo
Capacidad que tienen los lenguajes orientados a objetos de ofrecer distintas implementaciones para un mismo método
Se puede establecer mediante la sobrecarga.
La sobrecarga es aplicada a métodos y constructores.
De métodos conduce a que un mismo nombre puede representar distintos métodos con distinto tipo y número de parámetros dentro de una clase
Polimorfismo
Posibilidad de tener dos o mas métodos con el mismo nombre pero funcionalidad diferente.
Dependiendo de los parámetros usados.
Similar a los constructores.