Sie sind auf Seite 1von 10

UNIDAD I PROGRAMACIN ORIENTADA A OBJETOS - CARACTERSTICAS Y DISEO

OBJETIVO ESPECFICO Establecer y determinar en el estudiante los conceptos y caractersticas relacionadas al paradigma orientado a objetos (POO). Adems de conocer las ventajas y desventajas con otros paradigmas de programacin

Docente: Laura Martnez Garca

Al final de este tema, el estudiante podr: Describir los principios bsicos de orientacin a objetos Definir y dar ejemplos de objetos Definir y dar ejemplos de clases Describir la relacin entre clases y objetos Conocer la estructura de una clase en programacin orientada a objetos utilizando el lenguaje JAVA.

1. Qu es la Programacin Orientada a Objetos?


Es un importante conjunto de tcnicas que pueden utilizarse para el desarrollo de programas ms eficientes, a la par que mejore la fiabilidad de los programas de computadora. El trmino Programacin Orientada a Objetos indica ms una forma de diseo y una metodologa de desarrollo de software que un lenguaje de programacin. La programacin estructurada presta atencin al conjunto de acciones que manipulan el flujo de datos (desde la situacin inicial a la final), mientras que la programacin orientada a objetos presta atencin a la interrelacin que existe entre los datos y las acciones a realizar con ellos.

2. Por qu Programacin Orientada a Objetos?


La orientacin a objetos promete mejoras de amplio alcance en la forma de diseo, desarrollo y mantenimiento del software ofreciendo una solucin a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del cdigo y reusabilidad, cdigo que es difcil de modificar, ciclos de desarrollo largos y tcnicas de codificacin no intuitivas. Ventajas de POO Uniformidad y Compresin Flexibilidad Reusabilidad

3. Que son Objetos?


son cosas que se pueden percibir por los 5 sentidos.. conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. representacin real abstracta del mundo real. cualquier cosa real o abstracta, en la que se almacenan datos y que contienen mtodos que los manipulan un objeto representa a una entidad, ya sea fsica, conceptual o software

Un objeto es algo que tiene: Estado Comportamiento Identidad Perro: Estado su nombre, su color, su raza. Comportamiento est ladrando, est corriendo.. Bicicleta: Estado marca, pedales, velocidades. Comportamientos frenado, acelerado, cambios. Un objeto tiene comportamiento: El comportamiento determina como un objeto acta y reacciona. El comportamiento define la manera en la que un objeto responde a las peticiones de otros objetos.

El comportamiento visible de un objeto se modela con un conjunto de mensajes a los que l puede responder Los mensajes se implementan como las operaciones del objeto.

Un objeto tiene identidad Cada objeto tiene una identidad nica, aun si su estado en un momento dado, es idntico al de otros objetos

Ejemplo: Objeto: Televisor Atributos: Chasis, Pantalla, Antena, Color, Marca, Bocina, Sintonizador. Comportamiento (mtodos): Encender, Apagar, Cambiar canal Estado de un atributo: Marca=sony. En programacin orientada a objetos: El estado es la asignacin de un valor a un atributo. Las propiedades o atributos de un objeto se almacenan en: VARIABLES Los comportamientos se implementan utilizando los: MTODOS

Variable: es un item de dato referenciado por un identificador. Puede llamarse atributo o dato. Mtodo: es una funcin o procedimiento asociado a un objeto. Son las operaciones que pueden realizarse sobre el objeto. Mensajes: Instruccin que se enva a un objeto. El objeto al cual se le enva el mensaje El mtodo que se desea ejecutar. Cualquier otra informacin que necesite el mtodo para poder actuar (parmetros).

4. Que es una Clase?


Un prototipo o modelo que define las variables y mtodos comunes a todos los objetos de un cierto tipo. una clase es una abstraccin que describe un grupo de objetos que tienen: propiedades en comn (atributos), comportamiento en comn (operaciones), relaciones comunes con otros objetos (asociaciones), semntica en comn (descripcin breve) Mientras que un objeto es una entidad concreta que existe en tiempo y espacio, una clase representa slo una abstraccin, la esencia del objeto. Una clase es un conjunto de objetos que comparten una estructura comn y un comportamiento comn. Un objeto es simplemente la instancia de una clase. Las instancias de una clase son aquellos objetos de esa clase, que aunque tienen las mismas caractersticas tienen valores asociados diferentes para esas caractersticas.

Cuando se crea una clase se involucran dos procesos: La definicin de atributos que se utilizarn para almacenar el dato de un objeto. La definicin de los mensajes que se desea que los objetos entiendan. Para cada mensaje se crea un mtodo.

Gua de Estilo para nombrar una clase. Las clases se nombran con sustantivos en singular Los nombre de clases comienzan con mayscula El carcter de subrayado no se usa para unir palabras Los nombres compuestos de varias palabras se unen y la inicial de cada palabra se pone en mayscula Ejemplos: Estudiante, Profesor, PlanDeEstudios

5. Que es un atributo?
Un atributo es una caracterstica del objeto, debe tener un tipo (entero, real, string), pueden ser especficos a un lenguaje de programacin. Pueden tener diferente visibilidad:

Pblicos: Se puede utilizar y visualizar fuera de la clase (se representa con un signo ms delante del nombre) Privados: No se puede acceder al mismo desde otras clases (se representa con un signo menos delante del nombre) Protegidos: Se utiliza en notaciones de generalizacin y especializacin para representar atributos protegidos relacionados con clases derivadas.

6. Operaciones o mtodos de una clase


Se utilizan para manipular los atributos, o realizar alguna otra accin; son funciones a la que se llama o invoca, son interiores a la clase y se pueden aplicar sobre objetos de esa clase. EJERCICIO 1. Identifique los elementos de la siguiente lista, indicando cuales son objetos y cuales son clases. En el caso de los objetos, indicar cul sera la clase a la que pertenecen. Contestador telefnico de Mario Caja de Ahorro Computador Botn de llamado al ascensor Mquina de Fax del Depto. de Ventas Vehculo Animales herbvoros

2. En la siguiente lista, identificar cuales son atributos y cuales son clases. Intente asociar los atributos con las clases a las que podran pertenecer. Autopista Nombre Poblacin Nmero Paciente Tratamiento Cantidad adeudada Enfermedad Perodo orbital Pas

Coordenadas Ultima Fecha de pago

7. Un programa orientado a objetos


Estructura De Una Clase class [nombre de la clase] { [Atributos o variables de la clase] [Mtodos o funciones de la clase] } Existen muchas formas de disear un programa orientado a objetos, esta en un ejemplo de como construirlo. a. Importar las libreras
import java.util.Scanner;

b. crear la clase: El nombre de la clase debe hacer referencia al concepto


public class Persona {

c. Crear los atributos de la clase: un atributo es normalmente definido con la clusula private (con esto se permite el acceso al atributo desde otras clases) A los atributos se tiene acceso desde cualquier funcin o mtodo de la clase (salvo en el main)
private Scanner teclado; private String nombre; private int edad;

d. Crear los mtodos de la clase En el mtodo inicializar (que ser el primero que se debe llamar desde el main) se crea el objeto de la clase Scanner y se carga por teclado los atributos nombre y edad. El mtodo inicializar puede hacer acceso a los tres atributos de la clase Persona. Este mtodo viene representando el constructor de la clase.
public void inicializar() { teclado=new Scanner(System.in); System.out.print("Ingrese nombre:"); nombre=teclado.next(); System.out.print("Ingrese edad:"); edad=teclado.nextInt(); }

El segundo mtodo tiene por objetivo imprimir el contenido de los atributos nombre y edad (los datos de los atributos se cargaron al ejecutarse previamente en el mtodo inicializar:
public void imprimir() { System.out.println("Nombre:"+nombre); System.out.println("Edad:"+edad); }

El tercer mtodo tiene por objetivo mostrar un mensaje si la persona es mayor o no de edad
public void esMayorEdad() { if (edad>=18) { System.out.print(nombre+" es mayor de edad."); } else { System.out.print(nombre+" no es mayor de edad."); } } }

e. Crear la clase principal Por ltimo en el main se declara un objeto de la clase Persona y se llama a los mtodos en el orden adecuado
public static void main(String[] ar) { Persona persona1=new Persona(); persona1.inicializar(); persona1.imprimir(); persona1.esMayorEdad(); }

f. DISCUSIN: Cual es el resultado al compilar el programa anterior?

Problema propuesto:
Desarrollar una clase Cuadrado que tenga los siguientes mtodos: inicializar el valor de los lados, imprimir permetro y rea.
perimetro=lado*4 area=lado*lado

Principios de la Programacin Orientada a Objeto? Abstraccin Es el proceso de capturar los detalles fundamentales de un objeto mientras se suprimen o ignoran otros detalles. Se enfatizan caractersticas comunes que interesan Se ignoran otras caractersticas Una clase debe capturar una y solo una abstraccin principal: Mala abstraccin: clase Estudiante que incluye la carga acadmica del estudiante para el semestre Buenas abstracciones: Acadmica Encapsulamiento Como hemos visto, cada objeto es una estructura compleja en cuyo interior hay datos y programas, todos ellos relacionados entre s, como si estuvieran encerrados conjuntamente en una cpsula. Esta caracterstica, hace que los objetos sean inaccesibles, e impiden que otros objetos, usuarios, o programas accedan a su informacin. Polimorfismo Una de las caractersticas fundamentales de la POO es el polimorfsmo, que no es otra cosa que la posibilidad de construir varios mtodos con el mismo nombre, pero con relacin a la clase a la que pertenece cada uno, con comportamientos diferentes. Esto conlleva la habilidad de enviar un mismo mensaje a objetos de clases diferentes. Estos objetos recibiran el mismo mensaje global pero responderan a l de formas diferentes; por ejemplo, un mensaje "+" a un objeto ENTERO significara suma, mientras que para un objeto STRING significara concatenacin ("pegar" strings uno seguido al otro). Herencia Es una relacin que existe entre dos clases, en la que una de clase se crea a partir de otra. clases separadas para Estudiante y Carga

Das könnte Ihnen auch gefallen