objetos y clases lic. msc. corina flores villarroel universidad mayor de san simón facultad de...

60
Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores Villarroel UMSS - Programa MEMI

Upload: adelita-cortes

Post on 28-Jan-2016

232 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Objetos y Clases

Lic. MSc. Corina Flores Villarroel

Universidad Mayor de San SimónFacultad de Ciencias y Tecnología

Corina Flores Villarroel

Page 2: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Contenido

• Presentación del tema• Objetivos• Contenidos• Actividades• Síntesis• Evaluación

Corina Flores Villarroel

Page 3: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Objetivos

• Que el estudiante sea capaz de:– Explicar con sus propias palabras los conceptos

básicos de la Programación Orientada a Objetos (POO).

• ¿Qué es POO?, ¿cuál es su principal característica o principio?

• ¿Qué es un objeto? • ¿Qué es ua clase?• ¿Qué se entiende por atributos?• ¿Qué son los métodos?

Corina Flores Villarroel

Page 4: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Programación Orientada a Objetos

• La Programación Orientada a Objetos, es un paradigma o modelo que utiliza objetos como la base de construcción. Al decir, que es un paradigma nos referimos a una serie de pautas y un estilo para que sigan los programadores.

Corina Flores Villarroel

Page 5: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Programación Orientada a Objetos

• La Programación Orientada a Objeto (POO), es un paradigma de programación en que un programa se compone de objetos y sus interacciones.

Corina Flores Villarroel

Page 6: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Programación Orientada a Objetos

• La POO, imita al mundo real … los objetos estan compuestos por otros objetos más pequeños, con los cuales se pueden interactuar.

Corina Flores Villarroel

Page 7: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Programación Orientada a Objetos

• Por ejemplo:

Corina Flores Villarroel

Clases

Objetos

Métodos

Atributos

Declaraciones

Expresiones

Operadores

Page 8: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Programación Orientada a Objetos

Principio: una de las características principales de la POO es …

1. Abstracción, es suprimir y ocultar algunos detalles de un proceso o de un elemento, para resaltar algunos aspectos, detalles o estructuras.

La abstracción es la forma en que nuestra mente modela la realidad, formando los objetos. Por eso se crea objetos en los programas que simulen los comportamientos de los objetos de un mundo real.

Corina Flores Villarroel

Page 9: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Programación Orientada a Objetos

Principio:1. Abstracción, ejemplo …

Cuando pensamos en un automóvil, no nos preocupamos de sus componentes más pequeños: el asiento, el motor, el tipo de llantas, los espejos, etc., sino, que lo vemos como una entidad u objeto, esto es abstraer!!! … con tal que podamos interactuar con él para satisfacer nuestra necesidad de desplazarnos por ejemplo.

Corina Flores Villarroel

Page 10: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

Conceptos Básicos

• Programa: Conjunto de instrucciones, comandos, órdenes y procedimientos escritos en un lenguaje de programación para que una computadora pueda realizar una tarea determinada de manera exacta y rápida.Un programa debe

caracterizarse por ser:• Correcto• Completo• Eficiente

Corina Flores Villarroel UMSS - Programa MEMI

Page 11: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

Objetos

¿Qué es un objeto?Es una entidad en la que se basa la POO. Se denomina también como un individuo particular, o una instancia de un clase.

Corina Flores Villarroel UMSS - Programa MEMI

AGRUPACIÓN de autos que representa a la clase AUTOS

OBJETORepresentación específica y

concreta de UN AUTO a partir de ese grupo de autos

Page 12: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Objetos Aplicando el concepto de Abstracción a la comprensión de una cosa (objeto), en función de sus características y comportamientosContinuando con el ej.

Características

Comportamiento

•Color •Marca•Modelo•Placa

•getColor() •mostrarKilometraje()•Acelerar()

Objeto

Corina Flores Villarroel

Page 13: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Objetos Los objetos son entidades que combinan:

• estado (atributo),

• comportamiento (método) e

• identidad

ESTADO, se refiere a la asignación de valores concretos (datos) a los atributo. Ej. Color = “amarillo”; COMPORTAMIENTO, esta

definido por los metodos con que puede operar dicho objeto, ie, que operaciones se puede realizar con él.Ej. mostrarKilometraje()

IDENTIDAD,propiedad de un objeto que lo diferencia del restoEj. auto1

Corina Flores Villarroelauto1

Page 14: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Resumiendo …La POO concibe a la programación como un grupo de objetos que trabajan juntos .Por ejemplo Características

(ATRIBUTOS)

Corina Flores Villarroel

Page 15: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Resumiendo

• Un objeto es la materialización de una clase. Pero, ¿qué es una clase?

Corina Flores Villarroel

Page 16: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

ClasesDefine una categoría de objetos, en otras palabras, son plantillas que permiten crear objetos a partir de ellas. Estan compuestas de:

Características(ATRIBUTOS)

Comportamiento(METODOS)

Clase

SIMILARES(comunes)

•Color •Marca•Modelo•Placa

•getColor() •mostrarKilometraje()•Acelerar()

Corina Flores Villarroel

Page 17: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Por ejemplo

Corina Flores Villarroel

Page 18: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Por ejemplo

Corina Flores Villarroel

Clase Monitor

Page 19: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Por ejemplo

Corina Flores Villarroel

Clase Monitor

Monitor Samsumg

Monitor LG

Monitor Sony

Page 20: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Creamos distintos objetos a partir de la clase

Corina Flores Villarroel

Monitor Samsumg

Monitor LG

Monitor Sony

Page 21: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Clases¿Qué es una clase?

Una clase es una agrupación o colección de objetos que comparten características y comportamiento comunes.

La Clase representa una abstracción, la esencia que comparten los objetos.

* Un objeto es un ejemplo de una clase. * Un objeto no es una clase, y una clase no es un

objeto

Las clases muestran:• visión externa de comportamiento (interface)• visión interna (implementación)

Corina Flores Villarroel

Page 22: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Representación de Clases

Características(Atributos)

Nombre Clase

Comportamiento (Métodos )

Una clase se representa en un modelo (representación gráfica) como se ve en la figura:

Corina Flores Villarroel

CABECERA de la clase

CUERPO de la clase

class nombreClase

}

Declaración atributos

Definición de métodos

{

Page 23: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Declaración de Atributos

Corina Flores Villarroel

En la declaración se distinguen 3 elementos :

• El nombre del tipo de dato o tipo de valores que puede tomar un atributo.

• El nombre del atributo, denominado también identificador o variable.

• El separador punto y coma (;) que marca el fin de una declaración

Page 24: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Declaración de Atributos

Corina Flores Villarroel

class Auto{// Declaración de atributos

String color ;String marca ;int modelo ;String placa ;

// Declaración y definición de métodos}

Tipo Dato Identificador

Separadores

Page 25: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Tipo de Datos

NuméricasRepresentan el valor

numérico especificado.se puede realizar

operaciones aritméticas. Ejemplo: 3, 100 ,Pi

Tipos de Datos

ConstantesDatos que no cambian

su valor durante eldesarrollo o ejecución

de un programa

VariablesDatos que cambian omodifican su valordurante el desarrolloo ejecución de unpograma.

AlfanuméricasRepresentan los letreros

especificadosno se pueden realizar

operaciones aritméticasEjemplo: “CASA” “10”

NuméricasAlmacenan datos

numéricos: Trabajo, Contadoras, Acumuladoras

Dimensionadas.Ejemplo: SUMA= A+B

AlfanuméricasAlmacenan letras,

números y caracteresespeciales.

Ejemplo: A$= “España”RESULTADO = “Aprobado”

Corina Flores Villarroel

Define un conjunto de valores y las operaciones sobre estos valores.

Page 26: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

TAREA

• Averiguar la forma como se representan los tipos de datos en Java.

• Ej. Numéricos (entero)….

Corina Flores Villarroel

Int

Short

Page 27: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Tipo de Dato: Constante

• Datos que no cambian su valor durante el desarrollo o ejecución de un programa

Corina Flores Villarroel

3.141592Valor_de_Pi

double Valor_de_Pi ;

= ;

Page 28: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Tipo de Dato: Variable

• Datos que cambian o modifican su valor durante el desarrollo o ejecución de un programa.

Corina Flores Villarroel

0velocidad 60120

Estado de un objeto

int velocidad;= ;

Page 29: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Tipo de dato: Asignación

• Las variables o llamadas también como contenedoras tienen la capacidad de recibir valores de acuerdo al tipo de dato.

• Del ejemplo …

int velocidad = 120 ;

Corina Flores Villarroel

Símbolo ASIGNACIÓN

Ambos deben corresponder al MISMO tipo de dato

Page 30: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMICorina Flores Villarroel

int velocidad = 120 ;

Tipo de dato: Asignación

TipoDato NombVariable SimbAsignación Valor

Page 31: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Iniciamos con BlueJ1. Creamos un proyecto2. Ingresamos en el entorno de BlueJ3. Las herramientas dispuestas al lado izquierdo de la ventana,

permiten crear: Clases, establecer relaciones entre clases, y efectuar la compilación del código.

4. Se deja algunas direcciones de tutoriales de BlueJ para su revisión:– www.bluej.org/tutorial/tutorial-spanish-1.pdf– http://www.slideshare.net/anaclos/uso-de-bluej-presentation

Corina Flores Villarroel

Page 32: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Iniciamos con BlueJ

• Algunas recomendaciones antes de iniciar a escribir código.

– En la cabecera del código, completar con datos del autor del programa y la versión o fecha. Así:

Corina Flores Villarroel

/** * Write a description of class Auto here. * * @author (CFV) * @version (30-09-2011) */

Page 33: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Iniciamos con BlueJ … cont• Algunas recomendaciones antes de iniciar a escribir código.

– Nominación de clase … comenzar con mayúscula, singular y dar un nombre significativo. En cambio los atributos, siempre se escriben en minúsculas

– Mantener claramente identificando la estructura del programa, con comentarios significativos donde corresponde, esto es documentar internamente el código

Corina Flores Villarroel

public class Auto{ // Aquí se describen las características o atributos de la clase AUTO: // marca, es un atributo de tipo cadena para representar a la marca de un auto // modelo, representa un atributo para indicar el modelo de un auto. Ej: 2009 private String marca;

Page 34: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Operadores

Tipos de OperadoresPermiten realizar operaciones

aritméticas, lógicas o de comparación con los diferentes

tipos de datos

Aritméticos: + - * / Comparación

= < > >= <=

Lógicos:NOT Negación AND ConjunciónOR Disyunción

Corina Flores Villarroel

Símbolo que indica qué operación debe llevarse a cabo

Page 35: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

• Definen el comportamiento de una clase• Es la agrupación de un conjunto de instrucciones

que resuelven una tarea particular.• Una invocación (llamada) a un método activa ese

comportamiento sobre un determinado objeto.

Page 36: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

• La definición de un método tiene dos partes:– El encabezamiento– El cuerpo

• Así por ejemplo ...

tipoRetorno nombreMetodo( [lista_de_parámetros] )

{ cuerpoMetodo }

Page 37: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMICorina Flores Villarroel

• Encabezamiento de un método– Contiene a su vez tres elementos:

1. Tipo de resultado o retorno2. Nombre del método3. La lista de parámetros que se encuentran entre ()

Ejemplo:

Métodos

public String getColor() { // put your code here return color; }

1 2 3

Page 38: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Iniciamos con BlueJ … cont• Algunas recomendaciones antes de iniciar a escribir código.

– Nominación de métodos de la clase, comienzan con minúsculas y generalmente es la combinación de dos o tres palabras.

Corina Flores Villarroel

public String marcaAuto() { return marca; }

public int modeloAuto() { return modelo; }

Page 39: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

• El tipo de retorno de un método dependerá de:

• Si después de procesar los datos, al método no se pide que devuelva un valor, el tipo de retorno será void.

• En cambio, si se pide por ejemplo, calcular el salario líquido de una persona, el tipo de retorno estará en función al resultado que se produzca del cálculo de salario, es decir: el tipo de retorno puede ser int o double

• Para devolver un valor desde un método, se utiliza la palabra clave return. Como última instrucción en el cuerpo del método.

Page 40: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

Nombre del método

• El nombre del método puede ser cualquier identificador legal en Java.• Un identificador legal en Java es aquel que comprende una serie de

caracteres. Así:

calculaSalario()imprimeListas()buscaUnEmpleado()

• No puede ser sin embargo, el mismo identificador que una palabra reservada o ser igual al nombre de una variable que aparece en su cuerpo del método.

Page 41: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

Parámetro o argumento

• Es una variable que es recibida por un método. Un parámetro influye en el comportamiento o el resultado de la ejecución del método.

Una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato

Page 42: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

PARAMETROS

ACTUALES, permiten enviar valores al método. Se encuentran generalmente en la llamada al método.

FORMALES, permiten recibir valores para usar dentro el método. Se encuentran en la definición del método.

Page 43: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Métodos

Corina Flores Villarroel

Parámetros formales

public void setKilometraje(int kilom)

{

kilometraje = kilom;

}

Parámetros actuales

auto1.setKilometraje(45) ;

Page 44: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

Llamada a método

Corina Flores Villarroel UMSS - Programa MEMI

Existen dos formas de invocar: interna y externa • Para llamar a un método interno, se requiere:

nombreMetodo (lista de parámetros)

Un nombre relacionado con la tarea que realizará el método.

Todos los valores necesarios para ejecutar la tarea, sin especificar sus tipos

setValor(double respuesta) ;Así:

Page 45: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Llamada a método

Corina Flores Villarroel

• La llamada o invocación a un método externo se realiza con el fin de que un objeto pueda hacer uso de los servicios que presta el método.

• Para realizar la invocación se utiliza la siguiente notación:

Objeto . método()

Operador

Objeto, es el nombre del objeto o la instanciade una clase.

Método, es el nombre del método que pertenece a la clase

Page 46: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Paso de parámetros

Corina Flores Villarroel

• Al hecho de que los parámetros actuales envian valores que los parámetros formales de un método reciben se denomina: PASO DE PARAMETROS.

• Esto sucede en el momento en el que se invoca al método. Por ej.:

auto1.setKilometraje(45);

void setKilometraje(int kilom)

Page 47: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Paso de parámetros

Corina Flores Villarroel

Es importante que:Tanto los parametros actuales y formales de un método,deben coincidir en :

• Número• Tipo de datos con los que se declaran• El orden en el que aparecen en la lista

Page 48: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

El constructor

Corina Flores Villarroel

Permite la creación de objetos que pertenecen a una clase.

• Tiene el mismo nombre de la clase • No tiene un tipo de retorno• Siempre es el primero que se escribe después de la

declaración de atributos.• Siempre es de acceso público• Asigna valores iniciales a los atributos de la clase.

Page 49: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

El constructor

Corina Flores Villarroel

public class Auto{ // Declaración de atributos private String color; private String marca; private int modelo; private String placa;

public Auto(){

// Constructor 1color = "azul";marca = "ford

sport";modelo = 2010;placa =

"777CBA";}

public Auto(String color, String marca, int mod, String pl){

// Constructor 2this.color = color;this.marca = marca;modelo = mod;placa = pl;

}

Page 50: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Creación de objetos

Corina Flores Villarroel

• Recordemos que … podemos crear diferentes objetos de una clase, tantos como necesitemos!!!

• Para crear un objeto o una instancia de una clase – Empleamos la palabra reservada new– Declarar el identificador que representará al objeto

con el tipo de dato que hace referencia a la clase.– Después invocamos al constructor de la clase.

Page 51: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Creación de objetos

Corina Flores Villarroel

• Así por el ejemplo : Creamos un objeto de nombre auto1

a.) Declaramos el objeto Auto auto1;

nombreClase nombreObjeto

Llamada al constructor de la clase

b.) Definimos el objeto

Auto auto1 = new Auto( “amarillo”, “Nissan”, 2006, “241LPZ”) ;

Page 52: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMICorina Flores Villarroel

Page 53: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Ejercicios

• A continuación … trabajaremos en parejas,

Corina Flores Villarroel

Un equipo de futbol esta constituído por 11 jugadores, dependiendo del sistema de juego que determine el entrenador los jugadores cubren diferentes roles en el campo de juego, por ejemplo: mediocampistas, delanteros, … etc. Un entrenador antes de ingresar al campo de juego debe tener conformado el equipo con los jugadores que cree conveniente, para lo que define una lista con los siguientes datos: nombre del jugador, edad, nacionalida, un número que lo identifique y el rol que cumplirá durante el juego.

Page 54: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

Ejercicios

• A continuación … trabajaremos en parejas,

Corina Flores Villarroel UMSS - Programa MEMI

Se pide:

1. Identificar las clases

2. Los atributos de las clases identificadas.

3. Los métodos de las clases identificadas. Un método que devuelva el número asignado a un jugador y, otro que muestre simplemente el nombre de un jugador.

Page 55: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

Ejercicios

• A continuación … trabajaremos en parejas,

Corina Flores Villarroel UMSS - Programa MEMI

Se pide:

4. Representar el modelo de clases

5. Traducir el modelo en código

Page 56: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

Ejercicios

• A continuación … trabajaremos en parejas,

Corina Flores Villarroel UMSS - Programa MEMI

Se pide:

7. Escribir el constructor para representar un jugador con todos los datos indicados en la descripción.

8. Crear al menos dos objetos utilizando el constructor

9. Con el objeto creado, hacer llamadas a los métodos

Page 57: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Metacognición

Trabajaremos de forma individual 25´, reflexiona sobre

• ¿Qué haz aprendido?

• Anota los conceptos que crees no haber comprendido

Corina Flores Villarroel

Page 58: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

EjerciciosVerifica si las siguientes afirmaciones son falsos o verdaderos. Asimismo, verifica si los trozos de código estan bién escritos, si crees que hay error, indicá cuál?, y reescribe el código correcto.

1) Una clase, al igual que un objeto tiene atributos y define sus comportamientos V F

2) A través de los atributos, se determinan el estado de un objeto V F

3) Supongamos que tenemos el siguiente códigopublic void Alarma(Int rinrin){

return suena=true;}

Corina Flores Villarroel

Examina si existe un error, en caso de advertir, indica ¿cuál es?

Page 59: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Ejercicios

4) Sea el siguiente constructor

Estudiante (int codigo, String nombre, String carrera){…

}

Tomando en cuenta el constructor, creamos objetos estudiantes

Estudiante est = estudiante(“Ana”, 7072011, Sistemas);Estudiante est = estudiante(2002CBA, “Lola”, “Informatica”);

Corina Flores Villarroel

¿Detectas algún error?, ¿cuál (es)?. Explica! … intenta escribir la forma correcta.

Page 60: Objetos y Clases Lic. MSc. Corina Flores Villarroel Universidad Mayor de San Simón Facultad de Ciencias y Tecnología Corina Flores VillarroelUMSS - Programa

UMSS - Programa MEMI

Ejercicios

Sea el modelo de clase

Traduce el modelo a código Java, respetando la sintaxis.

Corina Flores Villarroel

Figura

tamañocolortipo

indicarTamaño()establecerTipo(Boolean t)