jueves, 24 de febrero de 2011

QUE ES ENCAPSULAMIENTO

Programación orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.

QUE ES POLIMORFISMO

En programación orientada a objetos el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.

QUE SON LAS PALABRAS PRIVATE, PROTECTED Y PUBLIC

public
public void CualquieraPuedeAcceder(){}
Cualquier clase desde cualquier lugar puede acceder a las variables y métodos de instacia públicos.

protected
protected void SoloSubClases(){}
Sólo las subclases de la clase y nadie más puede acceder a las variables y métodos de instancia protegidos.

private
private String NumeroDelCarnetDeIdentidad;
Las variables y métodos de instancia privados sólo pueden ser accedidos desde dentro de la clase. No son accesibles desde las subclases.
Ejemplo:
class B
{
  public void MetB()
  {
    A a= new A();
    a.pubc= 1;   // Ok
    a.priva= 2;  // error, privado
    a.protb= 3;  // error, B no es
                 // subclase de A

    a.MetPub();  // Ok
    a.MetPriv(); // error, privado
  }
}

TIPOS DE CLASE


Tipos de Clases


Hasta ahora sólo se ha utilizado la palabra clave public para calificar el nombre de las clases que hemos visto, pero hay tres modificadores más. Los tipos de clases que podemos definir son:

abstract
Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.

final
Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.

public
Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.

synchronizable
Este modificador especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.

QUE ES SUBCLASE

Se declara que una clase es una subclase de otra clase dentro de la declaracion de clase. Por ejemplo, supongamos que queremos crear una subclase llamada subclase de otra clase llamada superclase.

DEFINICION DE SUBCLASE

class B extends A
{
  // variables que B agrega a A
  int z;
  // Métodos que B agrega a A
  // Observe que B también posee x
  void Incz() { z= z+x; }
}

QUE ES UNA HERENCIA

La idea de la herencia es permitir la creación de  nuevas clases basadas en clases existentes. Java permite el empleo de la herencia , característica muy potente que permite definir una clase tomando como base a otra clase ya existente. Esto es una de las bases de la reutilización de código, en lugar de copiar y pegar.

Por ejemplo, si se tiene la clase Ave, se puede crear la subclase Pato, que es una especialización de Ave.
class Pato extends Ave {
        int numero_de_patas;
        }

EXISTE DESTRUCTOR EN JAVA?

  • Un destructor es un método que se invoca automáticamente cuando el objeto se destruye. Java no posee destructores, porque tiene recolección de basuras. C++ posee destructores.
  • QUE ES CONSTRUCTOR

    El constructor de una clase es un método estándar para inicializar los objetos de esa clase

    Se invoca automáticamente cuando new crea un objeto de esa clase.
     

  • Los constructores se declaran en el momento de definir la clase.
    class A {
      int x, y;
      A() { x=0; y=0; } // el constructor
      ...
    }
    
    A a= new  A();
    a.Print(); // 0 0
    
  • DEFINICION DE UN METODO

    tipo-retorno nombre-método
           ( tipo-parámetro nombre, ... )
    { instrucciones }
    

    QUE ES UN METODO

    Los métodos son funciones que pueden ser llamadas dentro de la clase o por otras clases.

    COMO SE CREA UNA CLASE



    COMO CREAR UN OBJETO

    1. Se crea utilizando el comando new.

                      Ejemplo:       A a1= new A();