SlideShare una empresa de Scribd logo
Universidad Católica de Salta                                             Subsede Buenos Aires
                                                Lenguajes II

                                         Clases en Java
      Una clase es la agrupación de datos y funciones que permiten manipular esos datos. Los datos
se denominan variables miembro o atributos y las funciones se denominan métodos.

      Un objeto es una instancia, un ejemplar, de una clase. La clase es la definición general y el
objeto es la materialización concreta (en la memoria de la computadora) de una clase.

      Muchas de las clases pertenecen a la biblioteca Java por lo tanto ya están escritas y
compiladas pero otras deberán ser creadas por el programador. Veamos entonces cómo se define
una clase, por ejemplo la clase Fraccion que analizamos cuando vimos tipo abstracto de datos y
cómo se usa.

       La definición de una clase tiene dos partes: encabezamiento y cuerpo. El encabezamiento
tiene el siguiente formato: [modificador] class nombre_de_la_clase

      Ejemplo: public class Fraccion

      En el cuerpo de la clase se declaran las variables miembro y se definen los métodos. Las
variables miembro de una clase pueden ser de tipos primitivos (int, long, boolean, etc.) o
referencias a objetos de otra clase. Las variables miembro de tipo primitivo se inicializan en forma
automática (false para booleanas, cero para las de tipo numérico, etc.), de todas formas lo más
adecuado es inicializarlas en el constructor.

      Ejemplo: private int numerador;
                  private int denominador =1; // valor por defecto del denominador

      En Java, lo que se escribe entre // y el final de la línea es considerado como comentario.

      Los métodos, que constituyen lo que se denomina la interfaz, pueden ser de objeto o
instancia o de clase.

      Los métodos de objeto o instancia se aplican siempre a un objeto de la clase por medio del
operador punto (.), dicho objeto es su argumento implícito o sea que el método utiliza el objeto para
el cual fue llamado. Los métodos pueden además tener otros argumentos explícitos que van entre
paréntesis a continuación del nombre del método. La 1º línea de la definición de un método se llama
declaración o header.

      Ejemplo:           public int fraccionDenominador ( )


               modificador      tipo de valor nombre           lista de argumentos
                                de retorno del método           (puede ser vacía)
                                                                                        C.C. Marta Ferrari
                                                     1
Universidad Católica de Salta                                          Subsede Buenos Aires
                                             Lenguajes II

      El código comprendido ente llaves { } es el cuerpo o body.
      Ejemplo: { return denominador;
               }
      Recordemos que la llamada a los métodos de instancia en Java se realiza utilizando el nombre
del objeto, el operador punto y el nombre del método, por ejemplo:     f1.denominador()



      Un constructor es un método que se llama automáticamente cada vez que se crea un objeto
de la clase. La principal misión del constructor es reservar memoria e inicializar las variables
miembro de la clase.

       Los constructores no tienen valor de retorno y su nombre es el mismo que el de la clase. Una
clase puede tener varios constructores. El constructor es tan importante que si el programador no
prepara ningún constructor para una clase, el compilador crea un constructor por defecto, sin
argumentos, inicializando las variables de los tipos primitivos a su valor por defecto. Si se declaran
constructores entonces el constructor por defecto no se puede usar.

        Ejemplo: public Fraccion (int a, int.) {
                 numerador =a;
                 denominador= b;
                 } // fin del constructor del programador

     Para crear un objeto de una clase se debe llamar al constructor de la clase utilizando el
operador new.

        Ejemplo: f1= new Fraccion ( ) ;       // invoca al constructor por defecto
                 f1 = new Fraccion (3,4);     // invoca al constructor del programador

      Los métodos de clase o static no actúan sobre objetos. Pueden recibir objetos de su clase
como argumentos explícitos pero no tienen argumento implícito. Se crean utilizando como
modificador de acceso la palabra static.

       Ejemplo:        static Fraccion fraccionSumar (Fraccion f1, Fraccion f2)

      Para llamarlos se utiliza el nombre de la clase en lugar del nombre de un objeto de la clase,
por ejemplo: Fraccion.fraccionSumar ( f1 , f2 )

      Un ejemplo típico de métodos de clase o static son los métodos matemáticos de la clase
java.lang.Math (sin (), cos (), exp (), etc.), el argumento de estos métodos será de un tipo primitivo
y se le pasará como argumento explícito.

      Para completar lo dicho de métodos de clase y métodos de instancia veamos la multiplicación
de 2 fracciones implementada con ambos métodos, fraccionSumar y fraccionSumar2.

                                                                                     C.C. Marta Ferrari
                                                  2
Universidad Católica de Salta                                       Subsede Buenos Aires
                                             Lenguajes II

    a. Método de clase
       Se usa el modificador static
       Reciben objetos de la clase como argumentos
       Para llamarlos se usa el nombre de la clase

    Definición:
       // suma 2 fracciones que recibe como parámetros y retorna la fraccion resultado
       public static Fraccion fraccionSumar (Fraccion f1, Fraccion f2) {
       int num = f1.numerador * f2.denominador + f1.denominador * f2.numerador;
       int den = f1.denominador * f2.denominador;
       Fraccion aux = new Fraccion (num, den);
       return aux;
       }
    Llamado:
       f3 = fraccionSumar (f1, f2)


    b. Método de instancia
       Se aplican a un objeto de la clase
       Para llamarlos se usa el nombre del objeto

    Definición:
       // suma 2 fracciones, recibe una de ellas como parámetro y retorna la fraccion resultado
       public Fraccion fraccionSumar2 ( Fraccion f2) {
       int num = numerador * f2.denominador + denominador * f2.numerador;
       int den = denominador * f2.denominador;
       Fraccion aux = new Fraccion (num, den);
       return aux;
       }
       Numerador y denominador son valores del objeto para el cual fue llamada la función, por
       eso el nombre del objeto no aparece. Para referirse a los valores del objeto recibido como
       parámetro se usa el nombre completo, f2.numerador por ejemplo.
    Llamado:

        f3= f1.fraccionSumar2(f2)



Clases Utilitarias

      La clase java.lang.Math mencionada anteriormente es una clase utilitaria, o sea, son clases
que tienen métodos estáticos (métodos de clase) y su objetivo es agrupar funciones de la misma
naturaleza.

          Ejemplo: int min=Math.min(a, b);    double log=Math.log(a);    double seno=Math.sin(a);
Vemos que en ningún caso necesitamos instanciar (declarar objetos) la clase Math. Simplemente
utilizamos sus métodos haciendo referencia al nombre de la clase.



                                                                                  C.C. Marta Ferrari
                                                  3
Universidad Católica de Salta                                           Subsede Buenos Aires
                                              Lenguajes II



Bibliotecas en Java

      En el lenguaje C existen "bibliotecas de funciones" que están disponibles para ser utilizadas
en los programas con el único requisito de incluirlas con un # include (por ejemplo: # include
stdio.h). En el entorno de desarrollo JDK (Java Development Kit) además del compilador y el
intérprete se incluye una serie de bibliotecas de clases que permiten comenzar rápidamente a
producir programas. Estas bibliotecas son:

java.awt: proporciona facilidades para interfaces gráficas
java.applet: proporciona clases útiles para incorporar contenidos dinámicos como sonidos y
animaciones.
java.io: contiene clases que soportan la lectura y escritura en streams, archivos y pipes.
java.lang: clases que soportan las clases y tipos de datos básicos. Se importa implícitamente sin
necesidad de una sentencia import
java.net: soporta la programación en red
java.util: clases de propósito general para el manejo de las estructuras de datos más comunes.
      Es común distribuir junto con las bibliotecas una documentación que llamamos API
(Application Programming Interface). Así, conocer la funcionalidad provista por una biblioteca es
sinónimo de conocer su API.
La API del lenguaje de programación Java se encuentra publicada en esta dirección:
http://java.sun.com/j2se/1.4.2/docs/api/

      Para cualquier librería que vayamos a utilizar necesitaremos consultar su API ya que allí se
detallan todas las clases con sus correspondientes métodos.



Clase Fraccion completa

public class Fraccion

{   private int numerador;        // variables miembro
    private int denominador;

     // constructor
     public Fraccion (int a, int b) {
          numerador =a;
         denominador= b;
     }

     // muestra la fraccion por la pantalla
     public void fraccionMostrar () {

                                                                                      C.C. Marta Ferrari
                                                   4
Universidad Católica de Salta                                           Subsede Buenos Aires
                                               Lenguajes II

          System.out.println(numerador + “/” + denominador);
     }

     // obtiene el denominador de la fraccion
     public int fraccionDenominador () {
         return denominador;
     }

     // suma 2 fracciones que recibe como parámetros y retorna la fraccion resultado
      public static Fraccion fraccionSumar (Fraccion f1, Fraccion f2) {
         int num = f1.numerador * f2.denominador + f1.denominador * f2.numerador;
         int den = f1.denominador * f2.denominador;
         Fraccion aux = new Fraccion (num, den );
         return aux;
       }

          // suma 2 fracciones, recibe una de ellas como parámetro y retorna la fraccion resultado
         public Fraccion fraccionSumar2 ( Fraccion f2) {
          int num = numerador * f2.denominador + denominador * f2.numerador;
          int den = denominador * f2.denominador;
          Fraccion aux = new Fraccion (num, den);
          return aux;
          }


         // determina si una fraccion es decimal o no
          public boolean fraccionEsDecimal () {
           if (denominador % 10 == 0 )
                   return true;
          else
                   return false;
           }
}

Aclaraciones

         Los modificadores permiten al creador de una clase determinar quien accede a los datos y
métodos de la clase. El modificador private que precede a las variables miembro numerador y
denominador indica que sólo se puede acceder a ellas desde métodos de la clase. El modificador
public que aparece en el encabezamiento de la clase y en todos sus métodos indica que la clase y
los métodos pueden ser usados por todo el mundo, o sea, que es accesible desde cualquier otra
clase en cualquier otro paquete.




                                                                                      C.C. Marta Ferrari
                                                    5

Más contenido relacionado

PDF
Unidad 2 poo_clases_y_objetos
PPT
Curso Java - Programación Digital
PPTX
Programación 3: clases derivadas y polimorfismo
PPTX
Programación 1: modularización
PDF
Programación 3: Clases y objetos en Java
PDF
Aprendiendo objetos en c++
PDF
Funciones en lenguage c
PDF
Programación orientada a objetos con c++
Unidad 2 poo_clases_y_objetos
Curso Java - Programación Digital
Programación 3: clases derivadas y polimorfismo
Programación 1: modularización
Programación 3: Clases y objetos en Java
Aprendiendo objetos en c++
Funciones en lenguage c
Programación orientada a objetos con c++

La actualidad más candente (16)

PPTX
Trabajo tutorial de visual C++
PDF
2) introduccion al lenguaje java
DOCX
Datos Previos
DOCX
Datos Previos
PPT
Clase 4 JAVA 2012
PDF
PPT
Programación Orientada a Objetos
PDF
11 Curso de POO en java - métodos constructores y toString()
PPT
Introducción a la Programaciónen Java
DOCX
Cuestionario java
PDF
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
PPT
1 1 3 Api De Java
 
PDF
generalidades java
PPT
C2 clases en java
ODP
02 python Programación orientada a objetos y funcional
Trabajo tutorial de visual C++
2) introduccion al lenguaje java
Datos Previos
Datos Previos
Clase 4 JAVA 2012
Programación Orientada a Objetos
11 Curso de POO en java - métodos constructores y toString()
Introducción a la Programaciónen Java
Cuestionario java
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
1 1 3 Api De Java
 
generalidades java
C2 clases en java
02 python Programación orientada a objetos y funcional
Publicidad

Destacado (20)

PPTX
Presentacion blog
PPTX
Tugas lan individu fifi
DOCX
Lampiran 3
PDF
La organización espacial
PPT
Sistemas operativos andrea y maialen
PPTX
Musguide, la gran col·lecció d'exposicions i rutes culturals que no pot falta...
PPTX
Google drvie
PDF
SuspensióN
PPTX
Confidentiality
PDF
Materia de matematicas herman gallegos macas
PPTX
Exposicion de telefonia
PPTX
Marie Curie
PDF
Lalalalalal
PPTX
Final powerpoint
PPTX
Android Presentacion
PPT
Library
PDF
Ficha cspc 2011
PDF
M A T E R I A L E S P A R A E L A B O R A R U N I D A D E S D I D A C T I...
PPT
Presentacion melendi
Presentacion blog
Tugas lan individu fifi
Lampiran 3
La organización espacial
Sistemas operativos andrea y maialen
Musguide, la gran col·lecció d'exposicions i rutes culturals que no pot falta...
Google drvie
SuspensióN
Confidentiality
Materia de matematicas herman gallegos macas
Exposicion de telefonia
Marie Curie
Lalalalalal
Final powerpoint
Android Presentacion
Library
Ficha cspc 2011
M A T E R I A L E S P A R A E L A B O R A R U N I D A D E S D I D A C T I...
Presentacion melendi
Publicidad

Similar a Clases en java (20)

DOCX
Elementos de una clase
PPT
Semana9b Vbr
PDF
Sesion 07 nivel_acceso_miembros_clases
PPT
Programar java
PDF
Programar java
PPT
Introduccio al Java
PDF
PDF
Métodos en Java-Con ejemplos
PPTX
DEFINICIÓN DE UNA CLASE: Los Metodos.pptx
PPT
Poo
PPTX
Presentacion Java
PDF
C2 fundamentos de java v2
PPTX
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
PDF
Clases metodos y atributos
PPT
5 metodos y parametros
PPT
programacion orientada a objetos
PPT
Intro Java
PDF
Informe n 2.4-andrade-edwin
DOC
Java clases dictadas
PPT
Programación III (Java) - 01 Introduccion
Elementos de una clase
Semana9b Vbr
Sesion 07 nivel_acceso_miembros_clases
Programar java
Programar java
Introduccio al Java
Métodos en Java-Con ejemplos
DEFINICIÓN DE UNA CLASE: Los Metodos.pptx
Poo
Presentacion Java
C2 fundamentos de java v2
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
Clases metodos y atributos
5 metodos y parametros
programacion orientada a objetos
Intro Java
Informe n 2.4-andrade-edwin
Java clases dictadas
Programación III (Java) - 01 Introduccion

Más de martaferrari (10)

DOC
Clases y subclases
PDF
Eclipse para novatos java
DOC
Primer programa en java
DOC
Programación orientada a objetos
DOC
PDF
Clase 5pdf
PDF
Clase 4pdf
PDF
Clase 3pdf
PDF
Clase 2pdf
PDF
Clase 1pdf
Clases y subclases
Eclipse para novatos java
Primer programa en java
Programación orientada a objetos
Clase 5pdf
Clase 4pdf
Clase 3pdf
Clase 2pdf
Clase 1pdf

Clases en java

  • 1. Universidad Católica de Salta Subsede Buenos Aires Lenguajes II Clases en Java Una clase es la agrupación de datos y funciones que permiten manipular esos datos. Los datos se denominan variables miembro o atributos y las funciones se denominan métodos. Un objeto es una instancia, un ejemplar, de una clase. La clase es la definición general y el objeto es la materialización concreta (en la memoria de la computadora) de una clase. Muchas de las clases pertenecen a la biblioteca Java por lo tanto ya están escritas y compiladas pero otras deberán ser creadas por el programador. Veamos entonces cómo se define una clase, por ejemplo la clase Fraccion que analizamos cuando vimos tipo abstracto de datos y cómo se usa. La definición de una clase tiene dos partes: encabezamiento y cuerpo. El encabezamiento tiene el siguiente formato: [modificador] class nombre_de_la_clase Ejemplo: public class Fraccion En el cuerpo de la clase se declaran las variables miembro y se definen los métodos. Las variables miembro de una clase pueden ser de tipos primitivos (int, long, boolean, etc.) o referencias a objetos de otra clase. Las variables miembro de tipo primitivo se inicializan en forma automática (false para booleanas, cero para las de tipo numérico, etc.), de todas formas lo más adecuado es inicializarlas en el constructor. Ejemplo: private int numerador; private int denominador =1; // valor por defecto del denominador En Java, lo que se escribe entre // y el final de la línea es considerado como comentario. Los métodos, que constituyen lo que se denomina la interfaz, pueden ser de objeto o instancia o de clase. Los métodos de objeto o instancia se aplican siempre a un objeto de la clase por medio del operador punto (.), dicho objeto es su argumento implícito o sea que el método utiliza el objeto para el cual fue llamado. Los métodos pueden además tener otros argumentos explícitos que van entre paréntesis a continuación del nombre del método. La 1º línea de la definición de un método se llama declaración o header. Ejemplo: public int fraccionDenominador ( ) modificador tipo de valor nombre lista de argumentos de retorno del método (puede ser vacía) C.C. Marta Ferrari 1
  • 2. Universidad Católica de Salta Subsede Buenos Aires Lenguajes II El código comprendido ente llaves { } es el cuerpo o body. Ejemplo: { return denominador; } Recordemos que la llamada a los métodos de instancia en Java se realiza utilizando el nombre del objeto, el operador punto y el nombre del método, por ejemplo: f1.denominador() Un constructor es un método que se llama automáticamente cada vez que se crea un objeto de la clase. La principal misión del constructor es reservar memoria e inicializar las variables miembro de la clase. Los constructores no tienen valor de retorno y su nombre es el mismo que el de la clase. Una clase puede tener varios constructores. El constructor es tan importante que si el programador no prepara ningún constructor para una clase, el compilador crea un constructor por defecto, sin argumentos, inicializando las variables de los tipos primitivos a su valor por defecto. Si se declaran constructores entonces el constructor por defecto no se puede usar. Ejemplo: public Fraccion (int a, int.) { numerador =a; denominador= b; } // fin del constructor del programador Para crear un objeto de una clase se debe llamar al constructor de la clase utilizando el operador new. Ejemplo: f1= new Fraccion ( ) ; // invoca al constructor por defecto f1 = new Fraccion (3,4); // invoca al constructor del programador Los métodos de clase o static no actúan sobre objetos. Pueden recibir objetos de su clase como argumentos explícitos pero no tienen argumento implícito. Se crean utilizando como modificador de acceso la palabra static. Ejemplo: static Fraccion fraccionSumar (Fraccion f1, Fraccion f2) Para llamarlos se utiliza el nombre de la clase en lugar del nombre de un objeto de la clase, por ejemplo: Fraccion.fraccionSumar ( f1 , f2 ) Un ejemplo típico de métodos de clase o static son los métodos matemáticos de la clase java.lang.Math (sin (), cos (), exp (), etc.), el argumento de estos métodos será de un tipo primitivo y se le pasará como argumento explícito. Para completar lo dicho de métodos de clase y métodos de instancia veamos la multiplicación de 2 fracciones implementada con ambos métodos, fraccionSumar y fraccionSumar2. C.C. Marta Ferrari 2
  • 3. Universidad Católica de Salta Subsede Buenos Aires Lenguajes II a. Método de clase  Se usa el modificador static  Reciben objetos de la clase como argumentos  Para llamarlos se usa el nombre de la clase Definición: // suma 2 fracciones que recibe como parámetros y retorna la fraccion resultado public static Fraccion fraccionSumar (Fraccion f1, Fraccion f2) { int num = f1.numerador * f2.denominador + f1.denominador * f2.numerador; int den = f1.denominador * f2.denominador; Fraccion aux = new Fraccion (num, den); return aux; } Llamado: f3 = fraccionSumar (f1, f2) b. Método de instancia  Se aplican a un objeto de la clase  Para llamarlos se usa el nombre del objeto Definición: // suma 2 fracciones, recibe una de ellas como parámetro y retorna la fraccion resultado public Fraccion fraccionSumar2 ( Fraccion f2) { int num = numerador * f2.denominador + denominador * f2.numerador; int den = denominador * f2.denominador; Fraccion aux = new Fraccion (num, den); return aux; } Numerador y denominador son valores del objeto para el cual fue llamada la función, por eso el nombre del objeto no aparece. Para referirse a los valores del objeto recibido como parámetro se usa el nombre completo, f2.numerador por ejemplo. Llamado: f3= f1.fraccionSumar2(f2) Clases Utilitarias La clase java.lang.Math mencionada anteriormente es una clase utilitaria, o sea, son clases que tienen métodos estáticos (métodos de clase) y su objetivo es agrupar funciones de la misma naturaleza. Ejemplo: int min=Math.min(a, b); double log=Math.log(a); double seno=Math.sin(a); Vemos que en ningún caso necesitamos instanciar (declarar objetos) la clase Math. Simplemente utilizamos sus métodos haciendo referencia al nombre de la clase. C.C. Marta Ferrari 3
  • 4. Universidad Católica de Salta Subsede Buenos Aires Lenguajes II Bibliotecas en Java En el lenguaje C existen "bibliotecas de funciones" que están disponibles para ser utilizadas en los programas con el único requisito de incluirlas con un # include (por ejemplo: # include stdio.h). En el entorno de desarrollo JDK (Java Development Kit) además del compilador y el intérprete se incluye una serie de bibliotecas de clases que permiten comenzar rápidamente a producir programas. Estas bibliotecas son: java.awt: proporciona facilidades para interfaces gráficas java.applet: proporciona clases útiles para incorporar contenidos dinámicos como sonidos y animaciones. java.io: contiene clases que soportan la lectura y escritura en streams, archivos y pipes. java.lang: clases que soportan las clases y tipos de datos básicos. Se importa implícitamente sin necesidad de una sentencia import java.net: soporta la programación en red java.util: clases de propósito general para el manejo de las estructuras de datos más comunes. Es común distribuir junto con las bibliotecas una documentación que llamamos API (Application Programming Interface). Así, conocer la funcionalidad provista por una biblioteca es sinónimo de conocer su API. La API del lenguaje de programación Java se encuentra publicada en esta dirección: http://java.sun.com/j2se/1.4.2/docs/api/ Para cualquier librería que vayamos a utilizar necesitaremos consultar su API ya que allí se detallan todas las clases con sus correspondientes métodos. Clase Fraccion completa public class Fraccion { private int numerador; // variables miembro private int denominador; // constructor public Fraccion (int a, int b) { numerador =a; denominador= b; } // muestra la fraccion por la pantalla public void fraccionMostrar () { C.C. Marta Ferrari 4
  • 5. Universidad Católica de Salta Subsede Buenos Aires Lenguajes II System.out.println(numerador + “/” + denominador); } // obtiene el denominador de la fraccion public int fraccionDenominador () { return denominador; } // suma 2 fracciones que recibe como parámetros y retorna la fraccion resultado public static Fraccion fraccionSumar (Fraccion f1, Fraccion f2) { int num = f1.numerador * f2.denominador + f1.denominador * f2.numerador; int den = f1.denominador * f2.denominador; Fraccion aux = new Fraccion (num, den ); return aux; } // suma 2 fracciones, recibe una de ellas como parámetro y retorna la fraccion resultado public Fraccion fraccionSumar2 ( Fraccion f2) { int num = numerador * f2.denominador + denominador * f2.numerador; int den = denominador * f2.denominador; Fraccion aux = new Fraccion (num, den); return aux; } // determina si una fraccion es decimal o no public boolean fraccionEsDecimal () { if (denominador % 10 == 0 ) return true; else return false; } } Aclaraciones Los modificadores permiten al creador de una clase determinar quien accede a los datos y métodos de la clase. El modificador private que precede a las variables miembro numerador y denominador indica que sólo se puede acceder a ellas desde métodos de la clase. El modificador public que aparece en el encabezamiento de la clase y en todos sus métodos indica que la clase y los métodos pueden ser usados por todo el mundo, o sea, que es accesible desde cualquier otra clase en cualquier otro paquete. C.C. Marta Ferrari 5