objetos java

31
Introducción Un programa orientado a objetos es, esencialmente una colección de objetos que se crean, interaccionan entre sí y dejan de existir cuando ya no son útiles durante la ejecución de un programa . Un programa Java utiliza clases y objetos. Una clase es una representación abstracta de un conjunto de objetos que comparten los mismos atributos y comportamientos. Un objeto es una instancia de una clase. El comportamiento de un objeto queda determinado por el comportamiento de la clase a la que pertenece.

Upload: eduardo-barboza

Post on 11-Jul-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Este ppt contiene informaciones relacionadas a los conceptos de objetos en java.

TRANSCRIPT

Introducción Un programa orientado a objetos es, esencialmente

una colección de objetos que se crean, interaccionan entre sí y dejan de existir cuando ya no son útiles durante la ejecución de un programa.

Un programa Java utiliza clases y objetos. Una clase es una representación abstracta de un

conjunto de objetos que comparten los mismos atributos y comportamientos.

Un objeto es una instancia de una clase. El comportamiento de un objeto queda determinado por el comportamiento de la clase a la que pertenece.

Clases Una clase se define por la palabra

reservada “class” seguida del nombre de la clase.

Clases Una vez que se ha declarado una clase,

se pueden crear objetos a partir de ella. A la creación del objeto se le llama

instanciación. Es por esto que se dice que un objeto es una instancia de una clase.

Elementos de una clase La información de un objeto se

almacena en atributos.

Elementos de una clase Además de la definición de los atributos de

un objeto, es necesario definir los métodos que determinan su comportamiento.

Toda clase debe definir un método especial denominado “constructor” para instanciar objetos de la clase. Debe tener el mismo nombre de la clase. Este método se ejecuta cada vez que se instancia un objeto de la clase.

Elementos de una clase

Elementos de una clase Los identificadores de los objetos

permiten acceder a los valores almacenados en cada objeto.

Para acceder a los atributos de la clase se definen los métodos “get” y “set”.

Los métodos “get” se utilizan para consultar el estado del objeto.

Los métodos “set” se utilizan para modificar el estado del objeto.

Referencia NULL Esto puede ocurrir porque se ha

declarado el objeto pero no se ha instanciado, es decir, no se ha creado el objeto con el operador “new”.

Alias

Atributos Son elementos que almacenan el estado de

un objeto. Se definen de la misma forma que las variables, pero dentro del bloque de la clase.

Atributos de clase: existen siempre, son independientes de que exista un objeto instanciado. Se declaran con “static”.

Atributos de instancia (objeto): se crean cuando se instancia un objeto y se pueden utilizar mientras exista el objeto.

Atributos tipo-de-acceso: private, public, protected.

private: se pueden acceder desde la propia clase que los define.

public: se pueden acceder desde otras clases. protected: se pueden acceder desde la propia clase

que los define, y desde sus “subclases”. tipo: tipos primitivos de Java o identificador de una

clase. nombre: debe cumplir con el estandar de nombres

de variables.

Métodos Son funciones que determinan el

comportamiento de los objetos. Todos los objetos de una misma clase

tienen los mismos métodos y el mismo comportamiento.

Existen tres tipos de métodos: de consulta, modificadores y operaciones.

Métodos

Declaración de métodos Un método se declara con la siguiente

sintaxis

Tipo-de-acceso: public, private. Tipo: Si el método devuelve algún valor se

debe indicar su tipo. Este valor puede ser un tipo primitivo de Java o un identificador de clase. Si el método no devuelve ningún valor entonces el tipo es “void”.

Declaración de métodos Lista-parametros: se declara con la sgte

sintaxis

Puede declarar una o más parámetros separados por coma. El tipo puede ser primitivo de Java o un identificador de clase.

DENTRO DE UNA CLASE LOS MÉTODOS SE IDENTIFICAN UNÍVOCAMENTE POR SU NOMBRE Y SU LISTA DE PARAMETROS.

Invocación de métodos Un método se puede invocar dentro o

fuera de la clase donde se ha declarado. Si el método se invoca dentro de la

clase, solo basta con indicar su nombre. Si el método se invoca fuera de la clase

entonces se debe indicar el nombre del objeto y el nombre del método.

Parámetros y argumentos Un método puede tener tantos parámetros

como sea necesario.

Durante la invocación a un método es NECESARIO que el número y el tipo de argumentos coincidan con el número y el tipo de parámetros declarados en la cabecera del método.

Paso de parámetros Cuando se invoca un método se hace

una copia de los valores de los argumentos en los parámetros. Esto significa que si el método modifica el valor de un parámetro, nunca modifica el valor original del argumento.

Cuando se pasa una referencia a un objeto se crea un nuevo “alias” sobre el objeto.

Variables locales de un método Son útiles para almacenar valores

temporales cuyo tiempo de vida coincide con el método.

Sobrecarga de métodos Es útil para que el mismo método opere

con parámetros de distinto tipo o que un mismo método reciba una lista de parámetros diferente.

Método constructor Para crear un objeto se utiliza el operador “new”. Si no se ha definido un método constructor para

la clase, entonces el objeto se instancia indicando el nombre de la clase seguido de un ().

Si ya se ha definido un método constructor, entonces NO es posible instanciar un objeto utilizando el constructor por defecto.

En una clase se pueden definir uno o más métodos constructores.

Constructor

Ejercicios Definir una clase Empleados con los sgtes atributos:

nombre, apellido, edad, salario. Crear un programa Java que asigne valores a los atributos respectivamente. Verificar si el empleado tiene más de 40 años. Si es así sumar un plus al salario. Mostrar el salario del Empleado.

Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto.

o Definir una clase llamada Persona que siga las siguientes condiciones:

Sus atributos son: nombre, edad, DNI, sexo (H hombre, M mujer), peso y altura. No queremos que se accedan directamente a ellos. Piensa que modificador de acceso es el más adecuado, también su tipo. Si quieres añadir algún atributo puedes hacerlo.

Por defecto, todos los atributos menos el DNI serán valores por defecto según su tipo (0 números, cadena vacía para String, etc.). Sexo será hombre por defecto, usa una constante para ello.

Se implantaran varios constructores: Un constructor por defecto. Un constructor con el nombre, edad y sexo, el resto por defecto. Un constructor con todos los atributos como parámetro.

Los métodos que se implementaran son: calcularIMC(): calculara si la persona esta en su peso ideal (peso en kg/(altura^2 en m)),

devuelve un -1 si esta por debajo de su peso ideal, un 0 si esta en su peso ideal y un 1 si tiene sobrepeso .Te recomiendo que uses constantes para devolver estos valores.

esMayorDeEdad(): indica si es mayor de edad, devuelve un booleano. comprobarSexo(char sexo): comprueba que el sexo introducido es correcto. Si no es correcto,

sera H. No sera visible al exterior. toString(): devuelve toda la información del objeto. generaDNI(): genera un numero aleatorio de 8 cifras, genera a partir de este su número su letra

correspondiente. Este método sera invocado cuando se construya el objeto. Puedes dividir el método para que te sea más fácil. No será visible al exterior.

Métodos set de cada parámetro, excepto de DNI.

Ahora, crea una clase ejecutable que haga lo siguiente: Pide por teclado el nombre, la edad, sexo, peso y altura. Crea 3 objetos de la clase anterior, el primer objeto obtendrá las anteriores

variables pedidas por teclado, el segundo objeto obtendrá todos los anteriores menos el peso y la altura y el último por defecto, para este último utiliza los métodos set para darle a los atributos un valor.

Para cada objeto, deberá comprobar si esta en su peso ideal, tiene sobrepeso o por debajo de su peso ideal con un mensaje.

Indicar para cada objeto si es mayor de edad. Por último, mostrar la información de cada objeto.