You are on page 1of 57

POO1501 PARADIGMA ORIENTADO A OBJETO

ases de la Orientacin a Objetos

Unidad de Aprendizaje N1
Bases de la Orientacin a Objetos

Aprendizaje Esperado:
Identifica los componentes de una clase de
acuerdo a la estructura de los programas en
Java
Construye un programa con slo una clase de
acuerdo a un diagrama

Objetivos

Programar una clase


Utilizar atributos y mtodos
Describir y utilizar modificadores de acceso
Describir reglas de sintaxis y convenciones
Describir la estructura de un programa
Describir tipos de datos primitivos
Describir palabras reservadas
Describir variables
Utilizar conversin entre tipos de datos
Utilizar operaciones y operadores
Describir y programar mtodos
Crear objetos

Clases
Una clase es un prototipo o plantilla para
crear objetos.
En Java, cada clase pblica se almacena en
un archivo independiente con el mismo
nombre,
comenzando
con
una
letra
mayscula.
Al ser un prototipo, es en la implementacin
de la clase donde se programa el
comportamiento de los futuros objetos de la
clase.

La cscara de
Estructura
la clase
public class nombre_clase
Una{clase en Java tiene la siguiente estructura:
El contenido de la
cuerpo de la clase
clase
}
public final class Persona {
// ATRIBUTOS

Persona.java

// MTODOS
}

modificador de acceso

modificador

nombre de la clase

Atributos
Los atributos
almacenan
valores para un
objeto
Tambin se les
llama variables
de instancia
Los atributos
definen el
estado de un
objeto

public class TicketMachine


{
private int price;
private int balance;
private int total;
//Constructor y mtodos omitidos
}

modificador de acceso
tipo

nombre atributo

private int price;

Atributos y Mtodos
public class Perro {
// ATRIBUTOS
int tarea;
int posx, posy;
// MTODOS
void sit(){
tarea=1;
}
void ven(int px,int py){
posx=px;
posy=py;
tarea=0;
}

int vertarea(){
return tarea;
}
void sale(){
posx = posx + 10;
posy = posy + 20;
}
}

Modificadores de Acceso de Atributos y


Mtodos
Los atributos y mtodos de una clase tambi
pueden incluir
modificadores:
private

int posx ;

public void sale() { ... }


modificador de acceso
public
protected
<vaco>
private

modificador
<vaco>
static
final

Modificador de acceso
Accesibilidad

public

protected

<vaco>

private

Desde la misma
clase

Desde cualquier
clase o subclase del
mismo paquete

no

Desde una subclase


en otro paquete

s,
usando
herencia

no

no

Desde cualquier
clase en cualquier
paquete

no

no

no

Reglas de Sintaxis

Convenciones
Nombres
de
mayscula.

clases

Nombres de
minscula.

mtodos

empiezan

empiezan

con

con

Nombres de atributos con minscula.


Cada clase se guarda en un archivo
separado que lleva el mismo nombre de la

Estructura de un programa
Un programa contiene paquetes, un paquete
contiene clases y una clase contiene
mtodos.
Mtodo main
Al ejecutar un programa en Java, se
comienza ejecutando las instrucciones del
mtodo main.
Todo programa debe tener UN mtodo
main.

Tipos de Datos Primitivos


Los tipos de dato primitivos en Java son:

Palabras Reservadas
Son identificadores predefinidos que tienen un
significado especial para el compilador JAVA. Un
usuario no puede definir un identificador con el
mismo nombre de la palabra clave. stas, se
deben escribir con minscula.

Variables
Una variable representa un espacio en
memoria para almacenar un valor de un
determinado tipo.
El valor de una variable, a diferencia de una
constante, puede
cambiar durante la
ejecucin del programa.
Para utilizarla en un programa hay que
declararla. Se enuncia y se le asigna un tipo:
tipo identificador;
Ejemplos:
short dia, mes, ao;

Asignacin
Los valores se almacenan en los
campos (y en otras variables) va
sentencias de asignacin
variable = expresin;
price = ticketCost;
Una variable almacena un slo valor,
por lo que cualquier valor previo se
pierde.

Conversin entre Tipos de Datos


Cuando en una expresin intervienen
operandos con tipos de datos diferentes, hay
que realizar su conversin.
Se convierten los operandos al tipo del
operando cuya precisin sea ms alta.
Si es una asignacin se convierte el valor de la
derecha al tipo de la variable de la izquierda
siempre que no haya prdida de la informacin.
En otro caso, hay que realizar la conversin

Las flechas indican las conversiones implcitas


permitidas.

De menos a ms precisos

Conversin Explcita
Conversin forzada que se realiza mediante una
construccin
denominada cast de la siguiente forma:
(tipo) expresin
Hay que tener cuidado con la prdida de
precisin.
Ejemplo:

Operaciones y Operadores
Una expresin es un conjunto de operandos
unidos mediante operadores para especificar
una operacin determinada. Todas las
expresiones cuando se evalan retornan un
valor.
Uno o ms valores y/o variables pueden
formar parte de operaciones.
Las operaciones dentro de una expresin se
realizan siguiendo reglas de precedencia.

(-) Precedencia
(+)

Mtodos
Definen las operaciones que se pueden realizar
con los atributos de una clase.
Un mtodo siempre est contenido dentro del
cuerpo de una clase.
Es una coleccin de sentencias que ejecutan
una
tarea
especfica,
implementan
el
comportamiento de los objetos.
Un mtodo no puede contener otro mtodo, es
decir, no permite mtodos anidados.

Definicin:

Variables: Son locales y slo son accesibles


dentro del mtodo.
Modificador: Palabra clave que modifica el nivel
de proteccin del mtodo.
Tipo de retorno: Valor que retorna el mtodo,
ejemplo: int, String. Si no retorna nada se
utiliza la palabra reservada void. Sintaxis de
retorno:
return expresin;

Lista de Parmetros: Variables que reciben los


valores de los argumentos especificados
cuando se invoca al mismo.
Lista de cero, uno o ms identificadores con
sus tipos, separados por comas, ejemplo:
(int num1, double num2, String nombre)

Ejemplos

Mtodos
sin parmetros
Constructores
con parmetros

public Alumno()
public Alumno(String nombre, int ed

Accesadores
public String getNombre()
Mutadorespublic void setNombre(String nombre)
Impresin public void printAlumno()
Customer public double calcularPromedio(double notaP, double notaE)
Main

public static void main(String[] args)

Mtodo Main
Toda aplicacin java tiene un mtodo main y slo
uno.
Es el punto de entrada y de salida de la aplicacin.
Definicin:
public static void main(String[] args){
//cuerpo del mtodo
}

Es pblico, esttico, no devuelve nada y tiene un


argumento del tipo String.

public: que puede ser accesado desde el


programa (desde fuera de la clase).
static: que pertenece a la clase y no al objeto.
void: que no retorna nada.
argumentos: es un arreglo
caracteres que se llama args.

de

lista

de

Mtodo Constructor
Es un mtodo especial de una clase que es
llamado automticamente siempre que se
crea un objeto de esa clase.
Funcin

Iniciar Objeto

Un objeto de una clase se crea de la


siguiente forma:
Persona persona1 = new Persona ();
objeto

clase

Cuando se crea un objeto, JAVA:


o Asigna memoria para el objeto con el operador
new.
o Inicia los atributos de ese objeto.
o Llama al constructor de la clase.

El mtodo constructor permite parmetros


como cualquier otro mtodo. Sino se
especifica, se crea uno pblico por omisin sin
parmetros.
Su nombre es el mismo de la clase a la que
pertenece.
Ejemplo: Cmo se llamar el constructor para la
clase

Ejemplo:

public TicketMachine(int ticketCost)


{
price = ticketCost;
balance = 0;
total = 0;
}

ormacin va parmetros

Ejemplo:
public class CFecha
{
//atributos
int dia, mes, ao;
//mtodos
public CFecha() //constructor
{
dia = 1;
mes = 1;
ao = 2000;
}
}

Ejemplo: Llamada
parmetros

un

constructor

si

public static void main (String [] args)


{
CFecha fecha = new CFecha ();
}

Ejemplo: Llamada
parmetros

un

constructor

public static void main (String [] args)


{
CFecha fecha = new CFecha (1,3,2002);
}

con

Sobrecarga del constructor


Se pueden definir mltiples constructores con
el mismo nombre y diferentes parmetros con
el fin de iniciar un objeto de una clase de
diferentes formas.
Ejemplo:
public CFecha()
{
}
public CFecha(int dd)
{
}

Constructor
sin parmetros

Constructor
con un
parmetro

public CFecha(int dd, int mm)


{
}
public CFecha(int dd, int mm, int aaaa)
{
}

Constructor
con dos
parmetros
Constructor
con tres
parmetros

Cmo se puede invocar al constructor


CFecha con 0, 1, 2 3 parmetros ?

Constructor
sin parmetros

CFecha fecha1 = new CFecha();

Constructor
con un
parmetro

CFecha fecha2 = new CFecha(3);


CFecha fecha3 = new CFecha(3,12);
CFecha fecha4 = new CFecha(3,12,2014);

Constructor
con dos
parmetros

Constructor
con tres
parmetros

Ejemplo:
public class Perro {
int tarea;
int posx, posy;

Operador this

Sobrecarga

public Perro(int posx, int posiciony){


this.posx = posx;
posy = posiciony;
tarea = 0;
}
public Perro(){
tarea = 0; posx = 0; posy = 0;
}
...
}

Mtodos Accesadores y Mutadores


La clase incluye la idea de ocultacin de datos,
es decir, no se puede acceder directamente a
sus atributos, sino que hay que hacerlo a
travs de los mtodos de la clase.
Los
mtodos
utilizados
para
obtener
informacin de un objeto se llaman mtodos
accesadores.
Los
mtodos
utilizados
para
modificar
informacin de un objeto se llaman mtodos
mutadores.

get
Accesadores
El mtodo accesador tiene como objetivo
mostrar el contenido de un campo o atributo
a quien lo solicite.
Este mtodo utiliza la sentencia return, que
hace dos cosas:
1.Entrega el valor de respuesta del mtodo.
2.Provoca el fin de la ejecucin del mtodo
inmediatamente.

Sintaxis:

Devolver
valor del
atributo
numerado
r

tipo de retorno
modificador de visibilidad

nombre del mtodo


lista de parmetros
(vaca)
getPrice()

public int
{
return price;
}

return: instruccin
de retorno - respuesta

inicio y fin del cuerpo del mtodo (bloque)

set
Mutadores
El mtodo mutador tiene como objetivo o
responsabilidad permitir el cambio de valor
para un atributo en particular, esto a travs
de un parmetro que recibe el nuevo valor y
la asignacin que permite almacenar el
nuevo valor en la referencia indicada.

Sintaxis:

Cambiar
valor del
atributo
numerado
r

modificador de visibilidad
tipo de retorno (void)
nombre del mtodo

public void setPrice(int nPrice)


{
asignacin
price = nPrice;
}
campo que estamos cambiando

parmetro

Ejemplo:
public class Auto{
private String patente;
//accesador
public String getPatente(){
return patente;
}

devolv
er
patent
e

patente =
CBGG31

//mutador
public void setPatente(String nuevaPatente){
cambia
patente = nuevaPatente
rpaten
}
te
patente antes
= CBGG31
patente
despus=
DGAB11

Mtodo de impresin
Una clase puede tener un mtodo de
impresin en el cual se impriman o muestren
los valores de sus atributos.
Para imprimir por pantalla se utiliza la
sintaxis:
System.out.println(Hola Mundo);
Ejemplo: clase Auto
public void printAuto(){
System.out.println(La patente es: + patente);
}
atribut
o

Mtodo customer
Son aquellos mtodos de propsito especfico
o de cliente.
Los mtodos customer son todos aquellos
mtodos distintos de los constructores,
accesadores (getters) y mutadores (setters),
son los mtodos que se crean a partir de una
funcionalidad especfica.
Ejemplo: clase Celular

hacerLlamada
s()
recibirLlamada
s()
apagar()
navegar()

Ejemplos:
clase Auto

clase Animal

acelerar()
frenar()

comer()
cazar()

Estado de un Objeto
La clase es una plantilla para crear objetos.
Para crear un objeto de una clase se utiliza el operador
new.
Ejemplo:

Persona persona1 = new


Persona();

persona1 objeto
Persona clase

Cuando se crea un objeto nuevo, se asigna la cantidad de


memoria necesaria para ese objeto.
La memoria se libera cuando el objeto no se utiliza:
recolector de basura.

Un objeto de la clase se puede declarar:

Persona persona1 = new Persona();


o
Persona persona1;
persona1 = new Persona();

En el siguiente cdigo Cules son objetos y


clases?
Auto auto1, toyota, mazda;
auto1 = new Auto();
toyota = new Auto();
mazda = new Auto();

Acceso a los miembros de un Objeto


Para acceder desde una clase a un miembro (atributo o
mtodo) de un objeto de otra clase, se utiliza la sintaxis:
objeto.miembro
Ejemplo:
miobjeto.atributo
miobjeto.metodo (argumentos);

No existen mtodos aislados. Todos pertenecen a u


objeto.

Pasando argumentos a mtodos


Los argumentos de los mtodos utilizan la siguiente sintaxis
objeto.metodo(argumentos)

Ejemplos:
r1.asignarDatos(2,5);
auto.acelerar(50);
perro.comer(agua,carne);
objetos: r1, auto y perro.
mtodos: asignarDatos, acelerar, comer.

Ejemplo:
INVOCACIN

Point p;
p = new Point();

DEFINICIN

public class Point{


public void mover(int x, int y

p.mover(5,10)

}
}

Variables Locales

No hay modificador

variable local
public int calcularTotal()
{
int total;
total= total + precio;
return total;
}

Atributos, parmetros y variables locales son todos


variables.
Los atributos persisten durante toda la vida de un
objeto.
Los parmetros se usan para recibir valores en un
constructor o mtodo.
Las variables locales se usan para almacenar
informacin de vida corta en un mtodo (no persisten).

Se
Se
Se
Se
Se
Se
Se
Se
Se
Se
Se
Se

Resumen

program una clase


utiliz atributos y mtodos
describi y utiliz modificadores de acceso
describi reglas de sintaxis y convenciones
describi la estructura de un programa
describi tipos de datos primitivos
describi palabras reservadas
describi variables
utiliz conversin entre tipos de datos
utiliz operaciones y operadores
describi y program mtodos
cre objeto

You might also like