Escolar Documentos
Profissional Documentos
Cultura Documentos
Clase Una clase es un prototipo o plantilla que define las variables y los mtodos comunes a un cierto tipo de objetos. Son los moldes de los cuales se pueden crear mltiples objetos del mismo tipo. La clase define las variables y mtodos comunes a los objetos del mismo tipo pero despus, cada objeto tendr sus propios valores para esas variables. Lo primero es crear una clase antes de poder crear objetos o
Constructores Debido a que los requisitos de inicializacin son tan comunes, Java permite que los objetos se inicialicen cuando son creados. Esta inicializacin automtica se realiza a travs de un constructor. Un constructor inicializa un objeto inmediatamente despus de su creacin. Tiene exactamente el mismo nombre de la clase en la que reside y sintcticamente es similar a un mtodo. Una vez definido, se llama automticamente al constructor despus de crear el objeto, antes que se termine el operador new. Los constructores no devuelven ningn tipo, ni siquiera void. Esto se debe a que el tipo implcito que devuelve un constructor de clase es el propio tipo de la clase. Es tarea del constructor inicializar todo el estado interno de un objeto para que el cdigo que crea una instancia tenga un objeto ntegro y utilizable inmediatamente.
Creacin de Objetos en Java Es importante saber que la declaracin de una clase slo crea un modelo o patrn, no crea un objeto real. En el ejemplo anterior no se crea ningn objeto del tipo Caja. Para crear un objeto es necesario primero declarar el objeto y luego crearlo a travs del operadornew.
Herencia La Herencia es el mecanismo por el cual se crean nuevos objetos definidos en trminos de objetos ya existentes. Una subclase hereda propiedades de su clase padre, tambin llamada superclase. Una subclase tambin puede heredar propiedades de varias superclases. La subclase tambin puede tener sus propios mtodos e incluso sus mismos tipos de datos. Para heredar una clase, simplemente es necesario incorporar su definicin en la definicin de la otra clase utilizando la palabra clave extends.
Herencia Mltiple. Interface En Java no est permitida la herencia mltiple, es decir, no est permitido que una misma clase pueda heredar las propiedades y los mtodos de varias clases padres. La explicacin es que a la hora de crear este lenguaje de programacin, se consider que esta propiedad podra derivar en un aumento de la complejidad en el cdigo. Sin embargo para no privar a Java de la potencia de la herencia mltiple, se introdujo un nuevo concepto de clase, la interface. Una interface es igual que una clase con dos diferencias esenciales, sus mtodos estn vacas, no hacen nada, y a la hora de definirla en vez de emplear la palabra clave class se emplea interface.
Declaracin de la interface. Deben figurar todos los mtodos que figurarn en la clase que la implemente.
Polimorfismo Tambin llamado sobrecarga de mtodos. En Java es posible definir dos o ms mtodos dentro de la misma clase que tengan el mismo nombre, pero con sus listas de parmetros distintas. Cuando ocurre esto, se dice que los mtodos estn sobrecargados y a este proceso se le denomina sobrecarga de mtodos. La sobrecarga de mtodos la utiliza Java para implementar el polimorfismo. Cuando se invoca un mtodo sobrecargado, Java utiliza el tipo y/o nmero de argumentos como gua para determinar la versin del mtodo sobrecargado que realmente debe llamar. Por eso, los mtodos sobrecargados deben diferenciarse en el tipo y/o nmero de sus parmetros.
Cuando Java encuentra una llamada a un mtodo sobrecargado, simplemente ejecuta la versin del mtodo cuyos parmetros coinciden con los argumentos utilizados en la llamada al mtodo. Sobrescritura de mtodos En una jerarqua de clases, cuando un mtodo de una subclase tiene el mismo nombre y tipo que un mtodo de la superclase, entonces se dice que el mtodo de la subclase sobrescribe al mtodo de la superclase. Cuando se llama al mtodo sobrescrito dentro de la subclase, siempre se refiere a la versin del mtodo definida por la subclase. La versin definida por la superclase est oculta.
LAS PALABRAS CLAVES THIS Y SUPER this Algunas veces un mtodo necesita hacer referencia al objeto que lo invoc. Para permitir esto. Java define la palabra clave this, que puede ser utilizada dentro de cualquier mtodo para referirse al objeto actual, this es siempre una referencia al objeto sobre el que ha sido llamado el mtodo. Se puede utilizar this siempre que se quiera una referencia a un objeto del tipo de la clase actual.
super
VARIABLES Y MTODOS ESTTICOS Hay ocasiones en las que se necesita definir un miembro de una clase que ser utilizado independientemente de cualquier objeto de esa clase. Normalmente a un miembro de una clase se debe acceder a travs de un objeto de esa clase. Sin embargo, es posible crear un miembro que pueda ser utilizado por s mismo sin referirse a una instancia especfica. Para crear un miembro de ese tipo es necesario preceder su declaracin con la palabra clave static. Cuando se declara un miembro como static, se puede acceder a l antes de que se haya creado ningn objeto de esa clase, y sin hacer referencia a ningn objeto. Se pueden declarar static tanto los mtodos como las variables. Las variables de instancia declaradas como static son, bsicamente, variables globales. Cuando se declaran objetos de su clase, no se hace ninguna copia de las variables estticas. De hecho, todas las instancias de la clase comparten la misma variable esttica. Los mtodos declarados estticos tienen una serie de restricciones: Slo pueden llamar a otros mtodos estticos (static) Slo pueden acceder a datos estticos No se puede referir a this Los siguientes ejemplos muestran el uso de la palabra clave static para declarar variables y mtodos estticos
MODIFICADORES DE ACCESO Java proporciona muchos niveles de proteccin para permitir un control preciso de la visibilidad de las variables y mtodos. Las clases y los paquetes son los medios de encapsular y contener el espacio de nombres y el mbito de las variables y mtodos. Java proporciona unos cuantos mecanismos ms para permitir un control de acceso incluso ms preciso en circunstancias diferentes. Es obvio que dentro de una clase, todas las variables y mtodos son visibles para todas las otras partes de la misma clase, dado que la clase es la unidad de abstraccin ms pequea en Java. Por la existencia de paquetes, Java debe distinguir cuatro categoras de visibilidad entre elementos de clase: Subclases del mismo paquete Clases diferentes en el mismo paquete Subclases en paquetes distintos Clases que no estn ni en el mismo paquete ni en las subclases Las tres palabras clave, private, public y protected se combinan de varias maneras para generar muchos niveles de acceso. La siguiente tabla resume las iteraciones. Las columnas muestran las combinaciones legales de los tres modificadores de proteccin, mientras que las filas indican el lugar desde el cual se quiere acceder. El valor de cada celda dice si tendr xito un acceso desde un sitio en particular (la fila) a una variable declarada con un cierto acceso (la columna).
Clases Abstractas Cuando se desarrolla una jerarqua de clases, puede producirse que algn comportamiento est presente en todas ellas pero se materializa de forma distinta. Un ejemplo podra ser una estructura de clases para manipular figuras geomtricas. Se tendra una clase genrica, que podra llamarse FiguraGeometrica y una serie de clases que extienden a la anterior que podran ser Circulo, Poligono, etc. Podra haber un mtodo dibujar comn a todas las clases anteriores, pero esta operacin se llevara a cabo de forma diferente en el caso de cada figura. Por otra parte la accin dibujar no tiene sentido para la clase genrica FiguraGeometrica, ya que esta clase representa una abstraccin del conjunto de figuras posibles. Para resolver esta problemtica Java proporciona las clases y mtodos abstractos. Un mtodo abstracto es un mtodo declarado en una clase para el cual esa clase no proporciona la implementacin (el cdigo). Una clase abstracta es una clase que tiene al menos un mtodo abstracto. Una clase que extiende a una clase abstracta debe implementar los mtodos abstractos (escribir el cdigo) o bien volverlos a declarar como abstractos, con lo que ella misma se convierte tambin en clase abstracta. }
Tambin la clase lo ser. Por lo tanto la definicin de la clase a quedara de la siguiente manera:
Cuando se crea una subclase de a, hay que proporcionar una implementacin de getData, como es la siguiente:
PAQUETES EN JAVA
Los paquetes son una forma de organizar grupos de clases. Un paquete contiene un conjunto de clases relacionadas bien por finalidad, por mbito o por herencia. Los paquetes resuelven el problema del conflicto entre los nombres de las clases. Al crecer el nmero de clases crece la probabilidad de designar con el mismo nombre a dos clases diferentes.
o bien sin la sentencia import con lo que se debera escribir la localizacin de la clase que queremos utilizar para la creacin del objeto: java.awt.Font fuente = new java.awt.Font("Monospaced", Font.BOLD, 36);
Principales paquetes en Java Java proporciona una serie de paquetes que incluyen ventanas, utilidades, sistema de entrada/salida general, herramientas de comunicaciones, etc... En la versin del JDK, los paquetes Java que se incluyen son los siguientes: java.applet Este paquete contiene clases diseadas para usar con applets. Hay una clase Applet y tres interfaces: AppletContext, AppletStub y AudioClip. java.awt El paquete Abstract Windowing Toolkit (awt) contiene clases para generar widgets y componentes GUI (Interfaz Grfico de Usuario). Incluye las clases Button, Checkbox, Choice, Component, Graphics, Menu, Panel, TextArea y TextField. java.io El paquete de entrada/salida contiene las clases de acceso a ficheros: FileInputStream y FileOutputStream. java.lang Este paquete incluye las clases del lenguaje Java propiamente dicho: Object, Thread, Exception, System, Integer, Float, Math, String, etc. java.net Este paquete da soporte a las conexiones del protocolo TCP/IP y, adems, incluye las clases Socket, URL y URLConnection. java.util Este paquete es una miscelnea de clases tiles para muchas cosas en programacin. Se incluyen, entre otras, Date (fecha), Dictionary (diccionario), Random (nmeros aleatorios) y Stack (pila FIFO).
La pregunta es sencilla, cuntas veces ladra el programa?? Juego de Palabras Tonto Este programa es bastante obvio, pero.... qu imprime? public class Trivial { public static void main(String[] args) { System.out.print(H + a); System.out.print(H + a); } } Repasando Herencias Cree una subclase de CajaPesada que herede todas las caractersticas de Caja y CajaPesada, y aada un campo costo, el cual debe guardar el costo del envo de un paquete.
Cree la clase NUMEROS que tenga dos atributos: NUM1 y NUM2, en la cual estarn definidos los mtodos SUMA y RESTA. Adems cree una subclase de NUMEROS que implemente sus mtodos con la particularidad de que esta subclase slo podr operar con nmeros del 0 al 9
ACTICVIDAD N 7 REALIZA UN RESUMEN DE LA SEPARATA EN UN MAPA CONCEPTUAL ESPECIFICANDO CLARAMENTAMENTE EL CONTENIDO DE ELLA