Clases y objetos en java
-
Upload
carlos-van-de-velde -
Category
Education
-
view
2.584 -
download
7
description
Transcript of Clases y objetos en java
CLASES Y OBJETOS EN JAVA
Generalidades
Cllases
Objetos
•Un objeto es una colección de datos y las subrutinas o métodos que operan sobre ellos.•Los objetos representan cosas físicas o abstractas, pero que tienen un estado y un comportamiento
•Las clases son estructuras o plantillas que sirven para definir un objeto.•En una clase Java, se pueden utilizar datos para describir propiedades y métodos que definen su comportamiento
La lógica utilizada por las clases y objetos es
fundamental para la
programación en Java
Clases
Métodos
Atributos
class Circulo{double radio =5.0;double calcularsuperficie0{return radio*radio*3.141592;}}
Ejemplo de Clase en java
Estructura de una claseClases y Objetos
Clases y Objetos
•Un objeto es una instancia de una clase•La creación de un objeto se llama instanciación
La instanciación se refleja cuando
creamos objetos con nuestro constructor
class Circulo{double radio =5.0;double calcularsuperficie0{return radio*radio*3.141592;}}
Ejemplo de Clase en java
Declaración de clases y creación de objetosInstanciación
Objeto1
Objeto2
…
Objeto n
Clase
• Como ya se ha comentado, una vez que se define una clase, el nombre de la clase se convierte en un nuevo tipo de dato y se utiliza tanto para declarar variables de ese tipo, como para crear objetos del mismo. La sintaxis para declarar un objeto es:
• Nombre_clase nombre_objeto; Cuadrado c;• La variable c es una instancia de Cuadrado, por ende es un
objeto de la clase Cuadrado.• Para crear realmente c(objeto de la clase Cuadrado) se
necesita utilizar el operador new Ejemplo: Cuadrado c=new Cuadrado;
Modificadores de Acceso
Modificadores de Acceso
Por defecto
Public
Private
Protected
•Tiene acceso a Clase, métodos y datos en el mismo paquete
•Tiene acceso a Clase, métodos y datos desde cualquier paquete•Nivel de acceso menos restringido
•Tiene acceso a un método o datos visible solo en esta clase•Nivel de acceso más restringido•Su objetivo es proteger información contenida en variables para evitar ser accedido por un extraño•Si se trata de acceder a información privada, hay problemas con compilación
•Tiene acceso a métodos y datos desde la misma clase o cualquier subclase•Se declaran con la palabra reservada Protected
Herencia de clases
•También se le llama a una superclase : Padre•También se le llama a una subclase: hija•Utiliza la siguiente Sintaxis siguiente: public class Subclase extends Superclase•La herencia es transitiva por lo que se pueden heredar características de superclases de muchos niveles•En principio todas las clases de java utilizan herencia: Se heredan características de la clase Object
La clase object
proporcina la
funcionalidad mínima
garantizada que es
común a todos los objetos
Superclase
Subclase2
Subclase1
Subclase3
Estructura de la Herencia
Ventajas
Facilidad de Modificación
Extracción de códigos comúnes
Organización de objetos en jerarquía
Adaptación de
programas
Ventajas
Herencia de clases
Una subclase hereda todos los miembros de su superclase, que son accesibles en esa subclase a menos que la subclase oculte explícitamente una variable miembro o anule un método
Los constructores no se heredan por la subclase
•Las subclases heredan de las superclases los miembros declarados como public o protected•Si no tiene identificador hereda siempre y cuando esté en el mismo paquete•La Subclase no hereda un miembro si tiene declarado un miembro con el mismo nombre
Tips de HerenciaModificadores
Final
La clase no puede ser subclasificada
Abastract
La clase no puede ser instanciada
Static
Los campos static son compartidos
por todas las instancias
Herencia de clases
Una subclase hereda todos los miembros de su superclase, que son accesibles en esa subclase a menos que la subclase oculte explícitamente una variable miembro o anule un método
Los constructores no se heredan por la subclase
•Las subclases heredan de las superclases los miembros declarados como public o protected•Si no tiene identificador hereda siempre y cuando esté en el mismo paquete•La Subclase no hereda un miembro si tiene declarado un miembro con el mismo nombre
Tips de HerenciaModificadores
Final
La clase no puede ser subclasificada
Abastract
La clase no puede ser instanciada
Static
Los campos static son compartidos
por todas las instancias
Interfaces y herencia múltiple
Son clases con métodos abstractos que permiten a una sub clase tener múltiples herencias
•Un interface es parecido a una clase abstracta en Java , pero con algunas diferencias•Todo método es abstracto y público sin necesidad de declararlo. Por lo tanto un interface en Java no implementa ninguno de los métodos que declara. •Las variables de la interface serán las variables miembro de la clase•Un interface se implementa (implements) no se extiende (extends) por sus subclases•Una clase puede implementar más de una interfaz en Java, pero sólo puede extender una clase•Podemos declarar variables del tipo de clase del interfaz, pero para inicializarlas tendremos que hacerlo de una clase que lo implemente
Interface
interface Figura{int area();}
public class Cuadrado implements Figura {int lado;public Cuadrado (int ladoParametro) {lado = ladoParametro;}public int area(){ return lado*lado; }}
Ejemplo
Clases Abstractas y Finales
Clases
Abstractas
Clases
Finales
•Es una clase que puede ser heredada•No puede ser instanciada
•No puede ser heredada•Puede Ser Instanciada
Se puede declarar una clase como final, cuando no nos interesa crear clases derivadas de dicha clase
final class Cuadrado extends Rectangulo{ public Cuadrado(int x, int y, double dimension){ super(x, y, dimension, dimension);} }
Clases Finales y métodos finales
final public void funcionFinal(){ //Sentencias }}
Paquetes
•Es una colección de clases que se compilan en una unidad de compilación•Proporcionan un medio adecuado para organizar dichas clases.•El lenguaje Java viene con un conjunto rico de paquetes que se pueden utilizar para construir aplicaciones.•Un paquete puede contener a otros paquetes.•Los nombres de los paquetes deben ser únicos para asegurar que no hay conflictos de nombres. Java impone un convenio de nombres por el que un nombre de paquete se construye por un número de componentes separados por un punto (separador . ). Estos componentes corresponden a la posición de los archivos.
Paquetes
Declaración de un paquete
package pruebac.dibujos;
Como tarea debes leer sobre los paquetes incorporados
Un paquete, es una colección de clases relacionadas e interfaces que proporcionanprotección de acceso y gestión de espacio de nombres
Acceso a los elementos de un paquete
Import directorio.paquete.clase;
import static java.lang.Math.*;public class ImportStatic {public static void main(String[] args) {System.out.println((int)(random()*5));}
Importaciones Estáticas
• Permite llamar un método o propiedad estática sin necesidad de hacer referencia al nombre de su clase