edwin andrés cubillos vegaaprendeenlinea.udea.edu.co/lms/investigacion...constructores y...

Post on 01-Aug-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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.

top related