PDF de programación - Clases

Imágen de pdf Clases

Clasesgráfica de visualizaciones

Publicado el 19 de Abril del 2018
472 visualizaciones desde el 19 de Abril del 2018
123,1 KB
5 paginas
Creado hace 14a (19/11/2009)
CLASES 
Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos 
que se crearan a partir de la misma. 
class nombre_clase 

 cuerpo de la clase 


Derechos de Acceso:

• Acceso privado (private): Los elementos privados solo se pueden usar dentro de la clase que 

• Acceso de paquete: No se pone nada. El acceso a estos componentes es libre dentro del 

los define, nunca desde ninguna otra clase.

paquete en el que se define la clase.

• Acceso protegido (protected): los elementos protegidos solo se pueden usar dentro de la 

clase que los define, aquellas clases que la extiendan y cualquier clase en el mismo paquete.

• Acceso publico (public): Dicho elemento se puede usar libremente.

COMPOSICION

La composicion es el agrupamiento de uno o varios objetos y valores como atributos que conforman 
el valor de los distintos objetos de una clase.

PAQUETES 
Los paquetes son agrupaciones de clases, interfaces y otros paquetes (subpaquetes), normalmente 
relacionados entre si. Los paquetes proporcionan un mecanismo de encapsulacion de mayor nivel 
que las clases. Los paquetes permiten unificar un conjunto de clases e interfaces relacionados 
funcionalmente. Por ejemplo, el paquete java engloba una serie de paquetes con utilidades de 
soporte al desarrollo y ejecucion de la aplicación. Contiene a su vez, los subpaquetes util  o lang. 
Para indicar que la clase que se esta escribiendo pertenece a un paquete, la primera secuencia debe 
tener la sintaxis: 

package nombrePaquete; 

cuando en una clase se quieren utilizar componentes que están en otro paquete diferente, se añade 
una declaración de importación, que puede tener las siguientes formas:

import Matricula.Alumno; // importacion de la clase “Alumno” del paquete “Matricula”
import Matricula.*; // importacion del paquete “Matricula”, incluye la clase Alumno.

ATRIBUTOS 
Los atributos permiten guardar información de un objeto. Por ejemplo para un alumno se necesita 
saber la siguiente información: el nombre, los apellidos, la materia en que esta inscrito, si su horario 
es de mañana o de tarde, etc. 
La declaración de atributos se hace de la siguiente manera: 
enum Horario {MAÑANA, TARDE} //posibles horarios 
class Alumno{ 
        String nombre; 
        String apellidos; 

        int añoDeNacimiento; 
        int numeroCarnet; //para identificar al alumno 
        String grupo; 
        Horario horario=Horario.MAÑANA; 


METODOS 
Los métodos sirven para definir el comportamiento del objeto en sus interacciones con otros 
objetos. Siguiendo con el ejemplo del alumno, se puede solicitar su nombre, asignarle grupo, etc. 
enum Horario {MAÑANA, TARDE} //posibles horarios 
class Alumno{ 
        String nombre; 
        String apellidos; 
        int añoDeNacimiento; 
        int numeroCarnet; //para identificar al alumno 
        String grupo; 
        Horario horario=Horario.MAÑANA; 
            public String ingresaGrupo() { ... } 
            public void imprimeGrupo(String nuevoGrupo) { ... } 


CONSTRUCTORES. 
Un constructor es un procedimiento especial de una clase que es llamado automáticamente siempre 
que se crea un objeto de esa clase. Su función es iniciar el objeto. 
Alumno alumno1=new Alumno(); 
Esta operación invoca al constructor por defecto, que se proporciona automáticamente y tiene el 
mismo nombre que la clase. 
Una clase puede definir varios constructores con distintos tipos de argumentos, a esto se le conoce 
como SOBRECARGA. 

DESTRUCTORES 
Es un procedimiento especial de una clase que es llamado automáticamente siempre que se destruye 
un objeto de esa clase. Su función es realizar cualquier final en el momento de destruir el objeto. 

REFERENCIA this 
La palabra clave this hace referencia a los miembros de la propia clase en el objeto actual. 
public class MiClase { 
        int i; 
        public MiClase() { 
            i = 10; 
            } 
        // Este constructor establece el valor de i 
        public MiClase( int valor ) { 
            this.i = valor; // i = valor 
            } 
        // Este constructor también establece el valor de i 
        public MiClase( int i ) { 
            this.i = i; 
            } 
        public void Suma_a_i( int j ) { 

            i = i + j; 
            } 


HERENCIA 
La herencia establece una relación esun entre clases. La herencia introduce la capacidad de 
extender clases, donde la clase original se denomina padre (o madre), clase base o superclase, y la 
nueva clase denominada clase hija, derivada o subclase. Así, una clase derivada es una clase base. 
Por ejemplo, Alumno es una Persona. Esta relación se puede representar haciendo una clase 
Alumno extienda (herede) de la clase Persona. 
La sintaxis en Java para la extensión de clases (herencia) es la siguiente: 
class ClaseDerivada extends ClaseBase { ... } 
en el caso de Alumno: 
class Alumno extends Persona { ... } 

POLIMORFISMO 
De acuerdo con la compatibilidad ascendente, se puede asignar a una variable de una clase una 
referencia de cualquier objeto de la misma clase o de cualquier clase derivada de ella. 
Polimorfismo es la capacidad de que diferentes objetos de una misma jerarquía tengan 
comportamientos distintos aunque reciban el mismo mensaje. 
La idea detrás del polimorfismo es poder diseñar nuestro código teniendo en cuenta que 
todos las clases que derivan de una clase base heredan los métodos de la clase base. 
abstract public class Animal { 
      private String nombre; 
      public Animal(String nombre) { this.nombre = nombre; } 
      public String getNombre()     { return nombre;       } 
      abstract public void habla(); 

public class Perro extends Animal { 
      public Perro(String nombre) { super(nombre); } 
      public void habla() { 
                  System.out.println(getNombre()+": Warf, Guau, etc."); 
      } 

public class Gato extends Animal { 
      public Gato(String nombre) { super(nombre); } 
      public void habla() { 
            System.out.println(getNombre()+": Miau, Pffff, etc."); 
      } 

public class TestAnimal { 
      public static void main(String[] args) { 
            // un array de Animal 
            Animal[] animales = { 
                  new Perro("Kujo"), 
                  new Perro("Fido"), 
                   new Gato("Garfield"), 
                   new Gato("Patán") 
             }; 
             for( Animal a : animales) 

                   a.habla(); 
        } // end main 
}   // end class 
La salida: 
             Kujo: Warf, Guau, etc. 
             Fido: Warf, Guau, etc. 
             Garfield: Miau, Pffff, etc. 
             Patán: Miau, Pffff, etc. 

CLASES ABSTRACTAS 
Las denominadas clases abstractas son las que representan el mayor grado de abstracción. 
De hecho, las clases abstractas presentan un nivel de "abstracción" tan elevado que no sirven para 
instanciar objetos de ellas. 

¿Cuándo es una clase abstracta? 
En cuanto uno de sus métodos no tiene implementación (en Java, el método abstracto se etiqueta 
con la palabra reservada abstract). 
¿Cuándo se utilizan clases abstractas? 
Cuando deseamos definir una abstracción que englobe objetos de distintos tipos y queremos hacer 
uso del polimorfismo. 

public abstract class Figura 

  protected double x; 
  protected double y; 
  public Figura (double x, double y) 
  { 
    this.x = x; 
    this.y = y; 
  } 
  public abstract double area (); 

public class Circulo extends Figura 

  private double radio; 
  public Circulo (double x, double y, double radio) 
  { 
    super(x,y); 
    this.radio = radio; 
  } 

  public double area () 
  { 
    return Math.PI*radio*radio; 
  } 

public class Cuadrado extends Figura 

  private double lado; 
  public Cuadrado (double x, double y, double lado) 
  { 
    super(x,y); 
    this.lado = lado; 
  } 
  public double area () 
  { 
    return lado*lado; 
  } 


INTERFACES

Las interfaces se declaran con la palabra reservada interface de manera similar a como se declaran 
las clases abstractas. 
En la declaración de una interfaz, lo único que puede aparecer son declaraciones de métodos (su 
nombre y signatura, sin su implementación) y definiciones de constantes simbólicas. 
Una interfaz no encapsula datos, sólo define cuáles son los métodos que han de implementar los 
objetos de aquellas clases que implementen la interfaz. Para indicar que una clase implementa una 
interfaz se utiliza la palabra reservada implements. 
La clase debe entonces implementar todos los métodos definidos por la interfaz o declararse, a su 
vez, como una clase abstracta (lo que no suele ser especialmente útil): 

   abstract class SinArea implements Figura 
   { 
   }
  • Links de descarga
http://lwp-l.com/pdf10506

Comentarios de: Clases (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad