Clases y objetos en java

10
CLASES Y OBJETOS EN JAVA

description

Clases y objetos en java

Transcript of Clases y objetos en java

Page 1: Clases y objetos en java

CLASES Y OBJETOS EN JAVA

Page 2: 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

Page 3: Clases y objetos en java

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;

Page 4: Clases y objetos en java

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

Page 5: Clases y objetos en java

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

Page 6: Clases y objetos en java

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

Page 7: Clases y objetos en java

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

Page 8: Clases y objetos en java

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

Page 9: Clases y objetos en java

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 }}

Page 10: Clases y objetos en java

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