Universidad Técnica Nacional
Programación II
Profesores:
Lic. Ana Cecilia Odio
¿Qué es la Orientación a Objetos?
Se organiza el software como una colección de objetos
que encapsulan:
Estructuras de Datos (atributos) y Comportamiento (métodos)
Un sistema OO funciona mediante la colaboración
Clases y Objetos
MiembroClub Atributos Métodos
Clase
Clases
Es un molde o plantilla utilizado para definir
los atributos y las acciones (métodos) que tiene en común objetos de un mismo tipo.
Atributos y Métodos
Los atributos son las variables o estructuras de datos
que sirven para almacenar los valores que caracterizan a los objetos.
Los métodos son las operaciones que se pueden
realizar sobre el objeto.
Los métodos estarán incorporados en forma de
código, con nombre, que el objeto es capaz de ejecutar.
Al conjunto de atributos y métodos de una clase se le
Modificadores de Acceso de las
clases y de los miembros de ella.
Public ( + )
Cualquier miembro público de una clase es
accesible desde cualquier otra clase..
Private ( - )
Pueden ser accedidos por los miembros de la
misma clase, pero no desde clases externas.
Protected ( # )
Pueden ser accedidos por los miembros de la
Clase: Plano o plantilla que define a un Objeto y su
comportamiento
De acuerdo al diagrama de clases anterior se dice que existen
objetos Punto que se identifican por sus coordenadas ( x, y) en el plano cartesiano y que las acciones que se pueden
efectuar sobre un objeto Punto son: trasladarlo a nueva ubicación y calcular su distancia con el centro del plano.
Clases e instancias de clase
Punto
x,y: float
trasladar(a,b) distancia(pto)
Estado e identidad
Atributos de la Clase
Comportamiento
Objeto:
En programación orientada a objetos se dice que un objeto es
una instancia de la clase, es decir, un objeto es la
construcción de un caso particular del conjunto de objetos que se definen en la clase.
Ejemplo: El siguiente punto ya fue construido y por tanto ya posee valores en sus atributos. P1 es un objeto o una
instancia de la clase Punto.
Clases e instancias de clase
P1:Punto
X=2 Y=2
Estado y comportamiento de un
objeto
A los atributos y métodos de un objeto se les
llama Miembros de la Clase
Estado: El conjunto de valores que poseen los
atributos de una instancia de objeto definen el estado del mismo.
Comportamiento: Conjunto de métodos que
se definen para un objeto. Si un método varía el valor de un atributo, se dice que este
Declaración y construcción de una instancia
de objeto
Declaración Construcción
¿Qué es una interfaz?
Para pedirle a un objeto que
lleve a cabo una acción se
le debe enviar un mensaje.
Esto se hace utilizando el
nombre de alguno de sus
métodos.
La “interfaz” de un objeto
corresponde al conjunto de
los métodos que permiten
interactuar con él.
Instanc ia
Métodos y Mensajes
La invocación o llamado a los métodos se hacen por medio de mensajes.
Mensaje:
nombreInstancia.trasaladar(5,3);
Punto
x,y: float
trasladar(a,b) distancia(pto)
Estado e identidad
Atributos de la Clase
Comportamiento
Sobrecarga de Métodos
Cuando en una clase se tienen 2 o más métodos
con el mismo nombre pero con diferencias en sus parámetros se dice que se sobrecarga el método.
Esta diferencia en el encabezado de un método
se llama: diferencia en la “firma” del método.
Cuando se invoca a un método sobrecargado, el
Sobrecarga de métodos
Ejemplo:Dada una clase Empleado, se puede implementar uno o más constructores para el objeto Empleado:
public Empleado(){ cedula = “”; nombre = “”; salarioBase = 0; }
Sobrecarga del método:
public Empleado(String cedulap, String nombrep, float salp){ cedula = cedulap;
Ciclo de vida de una variable
Las variables de instancia o atributos (las que se
declaran en la sección de declaraciones de la clase)existen desde el momento que se crea la instancia con new hasta que se destruye la
instancia.
El estado de un objeto corresponde al conjunto
Ciclo de vida de una variable (continuación)
Las variables locales a un método, al igual que
sus parámetros, existen solamente mientras el método es ejecutado. Éstas desaparecen en el momento en que el método finaliza su ejecución.
Si un atributo y una variable local a un método se
Localidad de los atributos y de las variables
locales de los métodos
Las variables pueden ser utilizadas tanto para declarar
los atributos de un objeto como para crear variables dentro de los métodos.
Todas las variables declaradas dentro de un método son
locales.
Se crean con el método
Sólo se conocen por el método
Se destruyen cuando el método termina
Los métodos reciben parámetros
Los parámetros permiten comunicar información a los métodos
Los parámetros son utilizados como variables locales, es decir solo se
Acceso a los atributos de un
objeto(get y set)
Normalmente los atributos de un objeto son privados por
tanto, no se podrán acceder desde otras clases.
Si se desea proveer acceso a los atributos privados de un
objeto se crean métodos públicos que permitan dicho acceso (get y set)
Ejemplos
//Consultar el valor de un atributo
public String getCedula(){ return cedula;
}
//Modificar el valor de un atributo
public void setCedula(String cedula){ this.cedula = cedula;
Atributos y métodos de clase
(static)
Los atributos que se declaran
normalmente como:
private int num;
se conocen como atributos de
instancia, ya que existirá una copia del
mismo dentro de cada objeto o
Atributos de clase y atributos de
instancia
Los atributos de
instancia existirán en cada objeto que se construya.
El atributo de clase
(static) existirá solo uno para la clase,
que será compartido por todas las
instancias.
Televisor
Atributos de instancia
miTele1 : Televisor
-int diámetro = 27
-String marca = “Panasonic” - String pantalla = “plana” - float peso = 2.5
+encender() +apagar()
+cambiar canal() +subir volumen()
miTele2 : Televisor
- int diámetro = 42
- String marca = “Sony” - String pantalla = “LED” - Float peso = 7.3
+encender() +apagar()
Atributos de clase
Para acceder a un atributo de clase,
no
es necesario crear una instancia
de la misma, sino que se acceden por
medio del nombre de la clase
(siempre que sean públicos).
Métodos de clase (static)
Al igual que los atributos static, los métodos de clase
(static) no existen para cada instancia, sino que existe un único método para la clase y será utilizado por todas las instancias.
Un método static no podrá manipular atributos de
instancia.
Un atributo de clase, se podrá utilizar desde un método de
Métodos básicos de la clase Math
Método Descripción
abs(x) Valor absoluto de x
sqrt(x) Raíz cuadrada de x, x no puede ser negativo pow(x,y) X elevado a la potencia y
round(x) Si la parte decimal de x es mayor o igual a 0.5 redondea al entero mayor a x.
Si la parte decimal de x es menor a 0.5 redondea al entero menor a x.
ceil(x) Redondea x al entero más pequeño no menor que x floor(x) Redondea x al entero más grande no mayor que x max(x,y) Determina el valor mayor entre x y y
Métodos básicos de la clase Math
Método Descripción log(x) Logaritmo de x
exp(x) Método exponencial de ex
cos(x) Coseno Trigonométrico de x en radianes sin(x) Seno trigonométrico de x en radianes tan(x) Tangente de x en radianes
random() Genera números aleatorios entre [0.. 1[
PI Constante que contiene el valor de PI = 3.14….
Nota: Si se desea que un random genere números entre cero y un
número entero positivo, como por ejemplo entre cero y 5, se debe utilizar de la siguiente forma: