Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Definicion
Instanciacion
Invocacion de metodos
1
Objetos:
2
Objetos y Clases
Clases
Una clase es una definición de un objeto.
Es un “molde” o “plantilla” que sirve para crear instancias.
A partir de una misma clase se pueden definir varias instancias. Cada una de ellas es
un objeto único e independiente.
3
Conceptos de Orientacion a Objetos
Abstracción
Es ignorar los detalles para concentrarnos en características esenciales.
Simplifica funcionalidad e información acerca del objeto.
Ayuda a los usuarios a interactuar con el objeto.
•Juan Pérez quiere vender su Fiat Premio, que tiene 200.000 kilómetros en
U$S 5000.
•Pedro González quiere vender su Audi A3, que tiene 45.000 kilómetros en
U$S 52.000.
Interesa que el sistema pueda mostrar los datos de los autos, cambiar el precio de
venta y devolver la cantidad de kilómetros. La mayoría de los autos que vendemos
tienen 100.000 kilómetros.”
Cuando se nos presenta una realidad deberíamos responder las siguientes preguntas:
5
Objetos y Clases (respuestas 1)
Respondamos las preguntas para el ejemplo planteado:
1.¿Qué clases podemos identificar? La clase Auto.
6
Objetos y Clases (respuestas 2)
4.¿Qué comportamiento podemos identificar en dicha clase? El
comportamiento es lo que queremos poder hacer sobre dicha
clase, usualmente lo podemos ver como la interfaz que
tenemos para utilizarla. En nuestro ejemplo nos interesa tener
métodos para mostrar los datos de los autos, cambiar el
precio de venta y devolver la cantidad de kilómetros.
Ejemplo2:
7
UML (Unifield Modeling Lenguaje)
DEF: Es un lenguaje gráfico para visualizar, especificar, construir y documentar un
sistema. Ofrece un estándar para describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales como procesos de negocio, funciones del
sistema, y aspectos concretos como expresiones de lenguajes de programación,
esquemas de bases de datos y componentes reutilizables.
Posee múltiples diagramas que describen cada una de las etapas del
desarrollo. Tales diagramas alcanzan un alto nivel de detalle para
implementar la solución al problema.
8
UML Representacion
Auto.
- marca : String
- modelo : String
+ mostrarDatos()
Modelos + setPrecioVenta(nuevoPrecio : double)
+ getKilometros() : double
10
Sintaxis UML de atributos
•Publico (en UML se representa con +) y quiere decir que cualquiera puede
acceder a ese atributo.
•Privado (en UML se representa con -) y quiere decir que solamente desde la
clase podemos acceder a ese atributo.
•Protegido (en UML se representa con #), cuando veamos herencia y
paquetes entenderemos que quiere decir protegido.
•Por defecto (en UML se representa con no poner nada), cuando veamos
herencia y paquetes entenderemos que quiere decir por defecto.
11
Sintaxis JAVA de atributos
EJ:
12
Metodos
DEF Los métodos en java son equivalentes a las funciones en otros lenguajes de
programación, pueden verse como algotimos encapsulados.
(Un algoritmo es un conjunto escrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
que no generen dudas a quien deba realizar dicha actividad.)
Parametros
Metodo Resultado
de entada
13
Sintaxis UML para metodos
+ setPrecioVenta(nuevoPrecio : double)
•Publico (en UML se representa con +) y quiere decir que cualquiera puede
acceder a ese atributo.
•Privado (en UML se representa con -) y quiere decir que solamente desde la
clase podemos acceder a ese atributo.
•Protegido (en UML se representa con #), cuando veamos herencia y
paquetes entenderemos que quiere decir protegido.
•Por defecto (en UML se representa con no poner nada), cuando veamos
herencia y paquetes entenderemos que quiere decir por defecto.
14
Sintaxis JAVA para metodos
Ejemplo:
15
Escribiendo Clases 1
1. Siempre las clases se escriben en un archivo que lleva el mismo nombre de la
clase, por ejemplo la clase Auto va a estar escrita en el archivo Auto.java
16
Escribiendo Clases 2
Ejemplo con Auto:
package automotora;
// Esta clase son los vehiculos de la automotora
public class Auto {
private String marca, modelo, propietario;
private double kilometros = 100000, precioVenta;
public Auto(String marcaParam, String modeloParam, String
propietarioParam, double precioVtaParam) {
marca = marcaParam;
modelo = modeloParam;
propietario = propietarioParam;
precioVenta = precioVtaParam;
}
}
17
Escribiendo Clases 3
• Es el único método que no tienen tipo de retorno, esto es porque inicializa una
instancia de la clase y no tiene nada para devolver.
• Recibe como parámetro los valores a asignar a los atributos y en su cuerpo los
asigna a los atributos.
18
Escribiendo Clases 4
package automotora;
// Esta clase son los vehiculos de la automotora
public class Auto {
private String marca, modelo, propietario;
private double kilometros = 100000, precioVenta;
La forma en que Java
elige que constructor
public Auto(String marcaParam, String modeloParam, String ejecutar es según cuantos
propietarioParam, double precioVtaParam) { parámetros le pasamos,
marca = marcaParam; esto lo veremos al detalla
modelo = modeloParam; cuando veamos la sintaxis
propietario = propietarioParam; para instanciar una clase
precioVenta = precioVtaParam;
}
.
public Auto(String marcaParam, String modeloParam, String
propietarioParam, double precioVtaParam,
doble kmParam) {
marca = marcaParam;
modelo = modeloParam;
propietario = propietarioParam;
precioVenta = precioVtaParam;
kilomertros = kmParam;
}
} 19
Accediendo a los atributos 1 (get)
20
Accediendo a los atributos 2 (set)
21
Accediendo a los atributos 2 (show)
22
Instanciacion 1
Idea: Instanciar = crear nuestros objetos.
23
Instanciacion 2
¿Cómo invocamos al método constructor?
La palabra reservada new se utiliza para invocar al método constructor.
Sintaxis:
Ejemplo:
Auto auto1 = new Auto("Fiat", "Premio", "Juan Pérez", 200000, 5000);
24
Instanciacion 3 (resultado)
25
Ejecucion de metodos 1
Los métodos que estamos viendo siempre ejecutan sobre una instancia de la clase.
Los métodos de instancia cumplen la siguientes reglas.
– Tienen acceso a todos los atributos de la clase (los valores sobre
la instancia).
– Para ejecutarlos debemos utilizar la notación “.”
Ejemplo:
auto1.setPrecioVenta(5500);
26
Ejecucion de metodos 2 (ejemplo)
package paquete1;
public class Ejemplo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Auto auto1 = new Auto("Fiat", "Premio","Juan Perez", 200000, 5000);
Auto auto2 = new Auto(“Audi", “A3",“G. Trelles", 450000, 52000);
auto1.showDatos();
auto2.showDatos();
auto1.setPrecioVta(5500);
System.out.println(“Los nuevos datos del “+auto1.getMarca()+” son:\n);
auto1.showDatos();
}
}
27
FIN
28