Вы находитесь на странице: 1из 36

Ing Yuri A.

Pomachagua Basualdo
Ing Yuri A. Pomachagua Basualdo
 Generalidades
 Clases y Objetos
 Atributos
 Métodos
 Diseño de diagramas de clase
con UML
 Aplicaciones

Yart Ing Yuri A. Pomachagua Basualdo


Al finalizar esta sesión el alumno será capaz de resolver
problemas con clases

Yart Ing Yuri A. Pomachagua Basualdo


Es un método de programación en el
cual los programas se organizan en
colecciones cooperativas de objetos,
cada uno de los cuales representa
una instancia de alguna clase, y
cuyas clases son, todas ellas,
miembros de una jerarquía de clases
unidas mediante relaciones de
herencia.

Yart Ing Yuri A. Pomachagua Basualdo


 Abstracción
 Encapsulamiento
 Herencia
 Polimorfismo
 Modularidad

Yart Ing Yuri A. Pomachagua Basualdo


Es un lenguaje de programación Orientada
a objetos con el que podemos realizar
cualquier tipo de programa. En la
actualidad es un lenguaje muy extendido y
cada vez cobra más importancia tanto en
el ámbito de Internet como en la
informática en general. específicamente
para tener tan pocas dependencias de
implementación como fuera posible.

Yart Ing Yuri A. Pomachagua Basualdo


Sencillo (en comparación con su predecesor C++).
Sin punteros.
Sin herencia múltiple (interfaces).
Gestión automática de la memoria dinámica (garbage collector).
Sintaxis sencilla (pocas construcciones de programa).

Orientado a objetos.
Programación híbrida o mixta (clases + tipos).

Distribuido.
Las clases pueden estar ubicadas en distintas máquinas de la red.

Yart Ing Yuri A. Pomachagua Basualdo


Interpretado

Yart Ing Yuri A. Pomachagua Basualdo


Independiente a la plataforma

Yart Ing Yuri A. Pomachagua Basualdo


Robusto (fiable).
Sin construcciones peligrosas (punteros).
Manejo de excepciones.

Seguro.
Mecanismos de seguridad que protegen el sistema.

Portable.

Multihebra.

Yart Ing Yuri A. Pomachagua Basualdo


Rendimiento de Java:
Mejor con cada nueva versión de la JVM.
Tecnología JIT (Just-in-Time Compilation):

Java Bytecode Java Bytecode Native Machine Code


Compiler

Yart Ing Yuri A. Pomachagua Basualdo


Yart Ing Yuri A. Pomachagua Basualdo
Un objeto representa una entidad en el
mundo real que puede identificarse
claramente.
Un objeto tiene una identidad, estado y
comportamiento único.

El estado de un objeto consiste en un


conjunto de campos de datos (propiedades
o atributos) con sus valores actuales.

El comportamiento de un objeto está


definido por un conjunto de métodos

Yart Ing Yuri A. Pomachagua Basualdo


Nombre de la clase: Esfera
Campo de dato:
radio
Método
areaEsfera()

Esfera Objeto 3
Esfera Objeto 1 Esfera Objeto 2 Campo de dato:
Campo de dato: Campo de dato: radio = 20
radio = 10 radio = 15

 Un objeto es una instancia de clase.


 Un objeto existe en la memoria y realiza una tarea específica
 Un objeto tiene un estado y un comportamiento.
 El estado define el objeto, y el comportamiento define lo
que hace el objeto
Yart Ing Yuri A. Pomachagua Basualdo
 Es un tipo definido por el usuario.

 Es un conjunto de objetos que


comparten una estructura y
comportamiento común.(Booch).

 Una clase contiene la especificación de


los datos (atributos) que describen un
objeto junto con la descripción de las
acciones que un objeto conoce como
va ha ejecutar(métodos).

Yart Ing Yuri A. Pomachagua Basualdo


Un atributo es una propiedad o característica de un objeto
que es una instancia de una clase.

Yart Ing Yuri A. Pomachagua Basualdo


Un método es una acción, servicio u operación que una
instancia de clase puede realizar.

tipo Nombre_del_metodo (parametros){


cuerpo
}

Yart Ing Yuri A. Pomachagua Basualdo


modificador_de_acceso class Nombre_clase
{
Una clase Java usa variables
Lista de miembros para definir campos de datos
-------- y métodos para definir
comportamientos. Además,
-------- una clase proporciona un tipo
}; especial de métodos,
conocidos como
constructores, que se invocan
Nombre_clase  Nombre definido por el usuario. para construir objetos de la
clase.
Lista de miembros  atributos y métodos de la clase.

Yart Ing Yuri A. Pomachagua Basualdo


public class Coche
Coche { //atributos
String marca;
marca; String modelo;
modelo; double precio;
precio; // Constructores
public Coche(){
arrancar();
}
doblar();
girar;
//métodos
public void arrancar(){}
public void frenar(){}
public void doblar(){}
};

Yart Ing Yuri A. Pomachagua Basualdo


public class Circulo {
/** declara el radio del círculo*/
double radio = 1.0; Atributo
/** Constructor 1 */
public Circulo() {
} Constructores
/** Constructor 2 */
public Circulo(double nuevoRadio)
{
radio = nuevoRadio;
}
/** Retorna el área del círculo */
public double getArea() { Método
return radio * radio * 3.14159;
}
}
Yart Ing Yuri A. Pomachagua Basualdo
Los constructores son un tipo especial de métodos que se invocan para
construir objetos.

Un constructor sin parámetros se conoce como constructor sin argumentos.


 Los constructores deben tener el mismo nombre que la clase en sí.
 Los constructores no tienen un tipo de retorno, ni siquiera son nulos.
 Los constructores se invocan con el nuevo operador cuando se crea un
objeto.
 Los constructores desempeñan la función de inicializar objetos.

public class Circulo { public Circulo() {


}
//constructores
public Circulo(double nuevoRadio) {
radio = nuevoRadio;
} }

Yart Ing Yuri A. Pomachagua Basualdo


Una clase puede definirse sin constructores. En este caso, un
constructor sin argumentos con un cuerpo vacío se define
implícitamente en la clase.

Este constructor, llamado constructor por defecto, se


proporciona automáticamente solo si no hay constructores
explícitamente definidos en la clase.

Yart Ing Yuri A. Pomachagua Basualdo


Para declarar una variable de referencia, use la sintaxis:

Nombre_Clase objetoRefVar; Para hacer referencia a


un objeto, asigne el
objeto a una variable de
Ejemplo: referencia.
Circulo miCirculo;

Yart Ing Yuri A. Pomachagua Basualdo


nombreClase objectoRefVar = new nombreClase();

Asignar Crear un
Example: objeto de objecto
referencia

Circulo miCirculo = new Circulo();

Yart Ing Yuri A. Pomachagua Basualdo


 Referenciando al atributo del objeto:
objetoRefVar.atributo
ejemplo: miCirculo.radio

 Invocando al método del objeto:


objetoRefVar.nombreMétodo(argumentos)
ejemplo: miCirculo.getArea()

Yart Ing Yuri A. Pomachagua Basualdo


Unified Modeling Language (UML) proporciona un conjunto de
diagramas estándar para representar gráficamente los sistemas
orientados a objetos.

Nombre de la Clase

Lista de Atributos

Lista de Métodos

Yart Ing Yuri A. Pomachagua Basualdo


 Los diagramas UML son independientes del lenguaje.
 Los diagramas UML usan una notación independiente para
mostrar los tipos de devolución, los modificadores de
acceso, etc.

Aceso Rectángulo
modificadores son
denotados así:
- ancho : double
- private
+ public
+ setAncho(w : double) : void

Yart Ing Yuri A. Pomachagua Basualdo


Los tipos de variables
son ubicados después
Rectángulo del nombre de la
variable separados por
dos puntos.
- ancho : double

+ setAncho(w : double) : void

Yart Ing Yuri A. Pomachagua Basualdo


Los parámetros del
método son mostrados
dentro de los Rectángulo
paréntesis usando la
misma notación que
las variables - ancho : double

+ setAncho(w : double) : void

Yart Ing Yuri A. Pomachagua Basualdo


public class Rectangle
{
private double width;
Una vez que la estructura de la clase private double length;
ha sido probada, los cuerpos del
método pueden ser escritos y public void setWidth(double w)
probados { width = w;
}
public void setLength(double
Rectangle len)
{ length = len;
- width : double }
- length : double public double getWidth()
{ return width;
}
+ setWidth(w : double) : void public double getLength()
+ setLength(len : double): void { return length;
+ getWidth() : double }
+ getLength() : double public double getArea()
{ return length * width;
+ getArea() : double }
}
Ing Yuri A. Pomachagua Basualdo
public class Libro
{
Libro public String cod;
public String tit;
+cod: String
public double pre;
+tit: String
+pre: double public void setCod(String c) {this.cod=c; }
+setCod(c: String)
public void setTit(String t) {this.tit=t; }
+setTit(t: String)
+setPre(p: double)
public void setPre(double p){this.pre=p; }
+getCod(): String
+getTit(): String public String getCod() {return cod; }
+getPre(): double
public String getTit() { return tit; }

public double getPre() { return pre; }


}

Yart Ing Yuri A. Pomachagua Basualdo


PAQUETE
IMPORTAR CLASES

PROPIEDADES (VARIABLES)

METODO CONSTRUCTOR

METODO QUE NO DEVUELVE


RESULTADOS

METODO QUE DEVUELVE


RESULTADOS

METODO MAESTRO

Yart Ing Yuri A. Pomachagua Basualdo


Ejemplo public class BirthDate {
public class Student { private int year;
private int id; private int month;
private BirthDate birthDate; private int day;
public Student(int ssn,
public BirthDate(int newYear,
int year, int month, int day) {
int newMonth, int newDay) {
id = ssn;
birthDate = new BirthDate(year, month, day);
year = newYear;
} month = newMonth;
day = newDay;
public int getId() { }
return id;
} public void setYear(int newYear) {
year = newYear;
public BirthDate getBirthDate() { }
return birthDate; }
}
}
public class Test {
public static void main(String[] args) {
Student student = new Student(111223333, 1970, 5, 3);
BirthDate date = student.getBirthDate();
date.setYear(2010); // Now the student birth year is changed!
}
}

Ing Yuri A. Pomachagua Basualdo


Ejercicio

• Implemente una clase de nombre Empleado con los siguientes atributos:


código, nombres, área laboral (Sistemas, Administración, Marketing),
sueldo, horas extras, afiliación de Seguro (AFP o SNP). Indique su
constructor que actualizara la informacion de sus atributos asi como
construya los siguientes métodos en dicha clase:
• MontoHExtras que calcula las horas extras del empleado en base a:
(SueldoBase * Horas Extras) / 240;
• MontoSeguro que sera el 17% de sueldo base si el seguro es AFP o el 5% si
es el SNP
• MontoEssalud calculable del 3% del SueldoBase
• MontoDescuentos que se calcula como: MontoSeguro + MontoEssalud;
• SueldoBruto que se calcula como: SueldoBase + MontoHExtras;
• SueldoNeto que se calcula como: SueldoBruto - MontoDescuentos

Ing Yuri A. Pomachagua Basualdo


IMPLEMENTAR EN EL
LABORATORIO APLICACIONES
UTILIZANDO JAVA
EXPLICADOS EN CLASE

Yart Ing Yuri A. Pomachagua Basualdo

Вам также может понравиться