Beruflich Dokumente
Kultur Dokumente
Este diagrama representa la estructura de un objeto. La parte interna del objeto no es accesible y contiene los atributos. La parte externa o interfaz del objeto es accesible y contiene los mtodos.
Pgina 1
getters
a y
setters.
pasaran
codificarse
bajo
getHora, getFecha,
getMarca
setHora, setFecha.
El prototipo del mtodo gethora ser: String geHora () String (antes del mtodo), indica que la llamada al mtodo devuelve un tipo String, como es una cadena de caracteres con la hora. Sin embargo, no hace falta pasarle ningn argumento al mtodo, por lo que dejamos los parntesis () vacios. El prototipo del mtodo setHora ser: void setHora( String hora) Void (antes del mtodo), indica que la llamada al mtodo no devuelve ningn tipo. Sin embargo, es necesario pasarle un argumento tipo String, como es la cadena de caracteres de la hora para que, por ejemplo, el cdigo del mtodo implemente esa hora y entonces.
Concepto de clase:
Las clases son una especie de plantilla para los objetos, es decir, si se piensa en una clase como un molde de galletas, los objetos que se crean a partir de esa clase son las galletas. Definimos formalmente clase como la repr4esentacion (atributos) y comportamientos (mtodos) de un objeto. de la estructura
La creacin de un objeto a partir de una clase se denomina. instanciacin. Cualquier objeto que se instancie de una clase creara una copia de la definicin de atributos de la clase y dispondr de los mtodos definidos en ella. Para crear objetos, se invoca al constructor de la clase, que es un mtodo que se llama igual que la clase.
Profesor: Jorge Luis Carmona Espinoza Pgina 2
En lo que respecta a los mtodos sabemos que son un conjunto de instrucciones que definen el comportamiento del objeto. Reciben (pasar) unos argumentos y devuelven un resultado. Veamos la clase-reloj que crea objetos-reloj, todos de la misma marca Casio. Estos objetos-reloj implementan los atributos Hora, Fecha y Marca; y los mtodos getHora, getFecha, getMarca, setHora y setFecha. Sin embargo, algunos de estos atributos y mtodos son de clase y otros son de
instancia:
Atributos de instancia: .Hora .Fecha Mtodos de instancia: .getHora .getFecha Atributos de clase: .Marca Metodos de clase: .getmarca Se puede sencilla: distinguir las diferencias entre unos y otros de manera
Si le preguntamos a dos objetos (relojA y relojB) con getHora o getFecha, nos pueden contestar un valor diferente para cada objeto. Estos atributos y mtodos sern denominados atributos de instancia y mtodos de instancia. Si le preguntamos a dos objetos (relojA y relojB) con getMarca, ambos contestaran el mismo valor=Casio, ya que la clase-reloj se lo ha asignado forzosamente. Estos atributos y mtodos sern denominados atributos de clase y mtodos de clase. En este caso, por ejemplo, si existiera el mtodo setMarca y modificramos el atributo Marca de cualquier objeto a travs de l , este atributo se modificara para todos los objetos, pues estamos tratando con mtodos de clase.
Pgina 3
Paradigmas de la POO
Abstraccin: Consiste en abstraer conceptualmente los atributos y comportamiento (mtodos) comunes a un determinado conjunto de objetos y almacenarlos en una clase. Encapsulamiento: El encapsulamiento es el principio por el cual se ocultan los detalles de implementacin al usuario. Cada clase tiene dos partes: -EL Interfaz es la (mtodos pblicos). parte pblica con la que interacta el usuario
Pgina 4
A continuacin UN EJEMPLO CON 3 CLASES DE CMO TRABAJA LA PROGRAMACIN ORIENTADA A OBJETOS: (Reloj):
La siguiente aplicacin sirve para mostrar, de conceptos de clases, constructores, objetos, herencia. La aplicacin en si se divide en 3 clases:
-La clase Reloj: que define los atributos y mtodos de los objetos-Reloj -La clase Digitalreloj. Heredada de la clase Reloj. Hereda los mismos atributos y mtodos que la clase Reloj y, a su vez, define nuevos atributos y mtodos a implementar. -La clase app: que contiene el mtodo Main para la ejecucin de aplicacin (clase principal). En esta clase se crean 2 objetos-Reloj objetos-Digitalreloj invocando a los mtodos Constructores de respectivas clases. Tambin accede a los objetos creados a travs de mtodos getters y setters. la Y 2 sus sus
Pgina 5
Clase Reloj:
class Reloj { // Definimos las variables o atributos String Hora; String Fecha; String Marca; // Constructor -Construye el objeto reloj e identifica sus atributos //con los parmetros recibidos. Reloj(String a,String v,String i) { Hora=a; Fecha=v; Marca=i; } // Mtodos String getHora() { return Hora; //Devuelve autor } String getFecha() { return Fecha; } String getMarca() { return Marca; } String getinfoComun()//Devuelve toda la informacin de golpe { return ("\tHora:"+Hora+"\n\tFecha :"+Fecha+"\n\tMarca :"+Marca); } int setHora(String h) { // Se implementa el parmetro hora en la funcin que se quiera System.out.println("\n\n[*]Implementando la hora"+h+"en el reloj...\n"); // Un ejemplo de esta implementacin: // Se configura el cdigo del reloj en la marca sony para que necesite // como parmetro de entrada la hora. Este mtodo de la // Aplicacin Java, realizara una llamada externa al ejecutable // del reloj y le pasara como parmetro de entrada, esta hora. // Si se ha implementado con xito, el mtodo devuelve 0. return(0); }}
Pgina 6
Clase Digitalreloj:
class Digitalreloj extends Reloj { //Adems de disponer de los atributos heredados de la clase padre... //Definimos las nuevas variables o atributos a aadir String CodigoR; // Constructor-Construye el objeto-reloj e identifica sus atributos con los parametros recibidos. Digitalreloj(String h,String f,String m,String c) { super(h,f,m); //Estos atributos son implementados por el constructor de la clase padre CodigoR=c; } //Ademas de disponer de los metodos heredados de la clase padre... //Definimos los nuevos mtodos String getCodigoR() { return CodigoR; } String getinfodigital()//Devuelve toda la informacin de golpe { String s; s=this.getinfoComun()+"\n\tCodigo R:"+CodigoR; return s; } }
Clase app:
class app { public static void main (String[] args) { //Creamos dos objetos-reloj llamando al Constructor Reloj r1 =new Reloj("5:45:12","14-02-2010","Casio"); Reloj r2 =new Reloj("8:50:34","10-04-2010","Casio"); // Creamos dos objetos-Digitalreloj llamando al Constructor Digitalreloj d1 = new Digitalreloj("10:50","17/01/2010","Casio","Rdigit01"); Digitalreloj d2 = new Digitalreloj("10:16","19/06/2010","Casio","Rdigit02"); // Imprimimos las caractersticas de los objetos (2 formas)
Profesor: Jorge Luis Carmona Espinoza Pgina 7
Resultado:
run: Profesor: Jorge Luis Carmona Espinoza - Telesup 2010 =============================================== Ejemplo explicativo de cmo trabaja la POO Informacin de r1 Hora: 5:45:12 Fecha:14-02-2010 Marca:Casio
Pgina 8
Pgina 9