Beruflich Dokumente
Kultur Dokumente
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
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.
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).
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.
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
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(); }
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