Beruflich Dokumente
Kultur Dokumente
Orientada a
Objetos
Tema2
Clases y Objetos
septiembre de 2018
Contenido
Clases y Objetos
2.1 Declaración de clases: atributos, métodos, encapsulamiento
2.2 Instanciación de una clase
2.3 Referencia al objeto actual
2.4 Métodos: declaración, mensajes, paso de parámetros, retorno de valores
2.5 Constructores y destructores declaración, uso y aplicaciones
2.6 Sobrecarga de métodos
2.7 Sobrecarga de operadores: Concepto y utilidad, operadores unarios y
binarios
septiembre de 2018
2.1 Declaración de clases: atributos, métodos,
encapsulamiento
Clase
Una clase es una plantilla, modelo o plano a partir de la cual se
crean objetos; los que se derivan de la misma clase tienen
características o propiedades similares; cuando se construye un
objeto de una clase, se dice que se ha creado una instancia,
ejemplar o copia de ésta.
septiembre de 2018
2.1 Declaración de clases: atributos, métodos,
encapsulamiento
Atributos.
• Son los encargados de describir el concepto representado, es decir cada
una de las características del mismo.
Métodos.
• Son las operaciones permitidas por la clase para realizarse sobre los
atributos.
Encapsulamiento.
• Característica de la POO que hace referencia a que en una clase se
incluyen todos los elementos que la componen, de tal manera que forma
una especie de “caja negra”, que contiene todos lo que se necesita y
que no requiere que los usuarios de la misma conozcan su estructura.
Es decir, ocultar los detalles de implementación de la clase. Además
obliga al usuario a utilizar los métodos provistos para el acceso a los
datos, ayudando a si a mantener la seguridad de los mismos datos.
septiembre de 2018
Ejemplo Clase
Perro
-nombre: String
-raza: String
-edad: int
+setEdad(edad:int):void
septiembre de 2018
Ejemplo Clases propias de java
De
Biblioteca
septiembre de 2018
Definición de una Clase
[modificador_de_acceso] class Nombre_Clase{
//atributos
[modificador_de_acceso] tipo atributo;
[modificador_de_acceso] tipo atributo;
//métodos
[modificador_de_acceso] tipo nombreMetodo([parámetros]){
….
}
[modificador_de_acceso] tipo nombreMetodo([parámetros]){
…..
}
}
Ejemplo
public class Persona{
private string nombre =“Jose”; Atributos
private int edad; Clase
private String getNombre(){ Método
return nombre;
}
}
septiembre de 2018
Ejemplos de declaración de clases
septiembre de 2018
2.2 Instanciación de una clase
Objetos
septiembre de 2018
Características de los Objetos
•Estado
Los atributos son datos que diferencian un objeto de otro;
el conjunto de ellos constituye su estado; cada objeto
almacena información acerca de su estado actual y en un
momento dado éste corresponde a una selección
determinada de valores posibles de los diversos atributos.
septiembre de 2018
Características de los Objetos
Comportamiento
Es el conjunto de capacidades y aptitudes que
describen sus operaciones, funciones y reacciones; además
responde a lo que se puede hacer con dicho objeto o a los
métodos que se le pueden aplicar. Todos los objetos de una
misma clase soportan el mismo comportamiento, el cual se
define por los métodos que se pueden llamar y utilizar para
cambiar sus atributos, recibir información de otros objetos y
enviar mensajes solicitando la ejecución de tareas.
septiembre de 2018
Características de los Objetos
Identidad
Es la propiedad que diferencia un objeto de otro
similar; su estado no describe totalmente al objeto ya que
cada uno tiene distinta identidad; en realidad, éste es el modo
en que un objeto se diferencia de otros que pueden tener el
mismo comportamiento y estado.
septiembre de 2018
Identificación de Clase y
Objetos
septiembre de 2018
Identificación de Clase y
Objetos
por ejemplo, en un sistema de operaciones en un
banco, algunos nombres de clase pueden ser:
• préstamo
• cuenta corriente
• acción
• fondo
septiembre de 2018
Identificación de Clase y
Objetos
Por ejemplo, en el caso de un sistema de pedidos a
un almacén, los nombres pueden ser:
• artículo
• pedido
• dirección de envío
• sistemas de pago
• cuenta del banco
septiembre de 2018
Identificación de Clase y
Objetos
• En una clase se proporcionan uno o más métodos que se
diseñarán para ejecutar las tareas.
septiembre de 2018
Relaciones entre clases
septiembre de 2018
Ejemplo Instancia de clase (objeto)
Perro miPerro:Perro
-nombre: String -nombre: “cupido”
-raza: String -raza: “french poodle”
-edad: int -edad: 3
+setEdad(edad:int):void +setEdad(edad:int):void
septiembre de 2018
2.2 Instanciación de una clase
Sintaxis creación de objeto
• El nombre de las clases comienza con letras mayúsculas, si estuviera formada por
mas palabras, cada una de ellas debe iniciar con mayúscula.
• Generalmente el nombre de la clase es un sustantivo en singular.
• El nombre de la clase debe expresar claramente el concepto que se esta
representando.
• El nombre de los atributos se escribe en minúscula.
• El nombre de los métodos es un verbo seguido de alguna o varias palabras que
den más información acerca de lo que hace el método, el método se escribe con
letras minúsculas y la inicial de la siguiente palabra en mayúscula.
• Crear un archivo por clase.
• El nombre del archivo es igual a la clase que almacena.
septiembre de 2018
Practica1_ClasesyObjetos
Crear las siguientes clases en NetBeans
septiembre de 2018
Practica1_ClasesyObjetos
Crear los siguientes objetos en NetBeans
Clases
Objetos
septiembre de 2018
Practica2_ClasesyObjetos
septiembre de 2018
2.3 Referencia al objeto actual
septiembre de 2018
Ejemplo
}
septiembre de 2018
This tiene 2 usos fundamentales.
}
Se evita la colisión entre argumentos y variables de instancias
septiembre de 2018
This tiene 2 usos fundamentales.
• Segundo: Que un método devuelva el mismo objeto que le llamo; de esa manera se
pueden hacer llamadas en cascada a métodos de la misma clase; nuevamente se
define la clase triangulo.
public class Triangulo{
private double base;
private double altura;
public Triangulo datosTriangulo(double base,double altura){
this.base =base;
this.altura= altura;
return this; Ahora se pueden concatenar llamadas a
} métodos de un objeto de tipo triangulo.
public double area(){
return base*altura/2.0;
}
public Triangulo visualizar(){ Triangulo t = new Trinagulo();
System.out.println(“ Base = ” + base); t.datosTriangulo(15.0,12.0).visualizar();
System.out.println(“ Altura = ” + altura);
return this;
}
}
septiembre de 2018
2.4 Métodos: declaración, mensajes, paso de
parámetros, retorno de valores
Métodos
Son bloques de código con nombre, tipo de acceso, tipo de retorno y una lista
de argumentos o parámetros; también se puede incluir las palabras claves
como static, abstract y final.
(Joyanes,2011)
• Los métodos en java equivalen a las funciones en otros lenguajes de programación, con la excepción
de las sentencias de declaración de objetos y variables, así como los bloques de inicialización estatica,
todo el código ejecutable de java se sitúa dentro de un método; la definición de un método consta de
2 partes: cabecera y cuerpo.
Donde:
Sintaxis Tipo: es el tipo de dato devuelto por el
método, cualquier tipo de dato incluyendo
Tipo nombre ([lista de parametros]) //cabecera tipos de clase que se pueda crear.
{ Nombre: identifica el método; como inicial
siempre se debe usar minúscula.
//cuerpo
}
septiembre de 2018
2.4 Métodos: declaración, mensajes, paso de
parámetros, retorno de valores.
return valor;
septiembre de 2018
Ejemplo de Métodos
void saludoBienvenida ( ) {
System.out.println(“ ¡ Hola !” );
System.out.println(“Método llamado
saludoBienvenida” );
System.out.println(“incluye tres líneas de código” );
}
Class Saludo{
void saludoBienvenida ( ) {
System.out.println(“ ¡ Hola !” ); Saludo objetoSaludo = new Saludo();
System.out.println(“Método llamado saludoBienvenida” ); objetoSaludo. saludoBienvenida( );
System.out.println(“incluye tres líneas de código” );
}
}
septiembre de 2018
Ejemplo de métodos
Class Saludo{
void saludoBienvenida ( ) {
System.out.println(“ ¡ Hola !” );
System.out.println(“Método llamado saludoBienvenida” );
System.out.println(“incluye tres líneas de código” );
}
publi static void main (String[] arg ) {
Saludo objetoSaludo = new Saludo();
objetoSaludo. saludoBienvenida( );
}
}
septiembre de 2018
2.4 Métodos: declaración, mensajes, paso de
parámetros, retorno de valores.
• Empleando el método
int cuadrado ( int x) {
return x*x;
}
Int m,n;
m = cuadrado ( 10); //se pasa el valor 10; m es igual a 100
n = cuadrado ( 15); //se pasa el valor 15; n es igual a 255
n=5
m = cuadrado ( n); //se pasa el valor de n; m = 25
}
septiembre de 2018
Escribir un programa que implemente el uso de un método con argumento
de tipo entero, que devuelva la letra P si es numero positivo , y la letra N si
es negativo.
9
𝐹 = 𝐶 + 32
5
septiembre de 2018
Métodos: paso de parámetro por valor
Ejemplo
void calMetodo ( ) { 6
int i=6; 6
metodo2(i);
} void metodo2 (int n ) {
int k=9;
n+=k;
}
septiembre de 2018
Ejemplo
class PorValor{
Salida
Antes de llamar a demoLocal, n = 10
Dentro de demoLocal valor = 10
Dentro de demoLocal valor = 999
septiembre de 2018
Después de llamar de demoLocal valor = 10
Método: Paso por objeto
Salida
propiedades de objeto en creación
Fecha actual: 01-feb-2018 dia: 1
propiedades de objeto en modificado….
septiembre de 2018 Fecha actual: 01-Ago-2018 dia: 23
Ejemplo por valor
septiembre de 2018
Sobrecarga de métodos
septiembre de 2018
2.5 Constructores y destructores declaración, uso
y aplicaciones
septiembre de 2018
2.5 Constructores y destructores declaración, uso
y aplicaciones
• Constructores sobrecargados
Al igual que se puede sobrecargar un método de una clase,
también se puede sobrecargar su constructor; de hecho, los
constructores sobrecargados son bastante frecuentes porque
proporcionan diferentes opciones de inicializar objetos.
Constructores sobrecargados
2.6 Sobrecarga de métodos
septiembre de 2018
2.6 Sobrecarga de métodos
septiembre de 2018
Sobrecarga de Métodos
septiembre de 2018
Ejemplo Sobrecarga de
Métodos
septiembre de 2018
Sobrecarga de Métodos VS Sobreescritura
• Sobrecarga.
permite usar el mismo nombre del método pero solo si se tiene diferente
parámetros.
Permite declarar métodos que se llamen igual pero que reciban
parámetros diferentes (no pueden haber 2 métodos con el mismo
nombre y los mismos parámetros), por esta razón lo que define a que
método se ingresa, son los argumentos que se envían como
parámetros....
septiembre de 2018
Ejemplo de Sobrecarga de Constructores y
métodos
septiembre de 2018
Sobrecarga de Métodos VS Sobre escritura
• Sobrecarga.
permite usar el mismo nombre del método pero solo si se tiene diferente
parámetros.
Permite declarar métodos que se llamen igual pero que reciban
parámetros diferentes (no pueden haber 2 métodos con el mismo
nombre y los mismos parámetros), por esta razón lo que define a que
método se ingresa, son los argumentos que se envían como
parámetros....
•Sobre escritura
Es la forma por la cual una clase que hereda puede re-definir los métodos
de su clase Padre, de esta manera puede crear nuevos métodos con el
mismo nombre de su superClase
septiembre de 2018
2.7 Sobrecarga de operadores: Concepto y
utilidad, operadores unarios y binarios
La sobrecarga de operadores:
Es la capacidad para transformar los operadores de un
lenguaje como por ejemplo el +, -, etc.
Cuando se dice transformar se refiere a que los operandos que
entran en juego no tienen que ser los que admite el lenguaje
por defecto. Mediante esta técnica podemos sumar dos
objetos creados por nosotros o un objeto y un entero, en vez
de limitarnos a sumar números enteros o reales, por ejemplo.
sorprendentemente java no lo incorpora, así que podemos decir que esta
característica es una ventaja de c# respecto a java, aunque mucha gente, esta
posibilidad, no lo considera una ventaja porque complica el código.
septiembre de 2018
El único aspecto de Java que se acerca a la sobrecarga del
operador "personalizado" es el manejo de + para cadenas,
que da como resultado la concatenación de constantes en
tiempo de compilación o la concatenación en tiempo de
ejecución utilizando StringBuilder / StringBuffer. No puedes
definir tus propios operadores que actúen de la misma
manera.
septiembre de 2018
• Escribir un programa para obtener la hipotenusa de un
triángulo rectángulo a partir de las longitudes de los catetos.
Entrada
Cateto Opuesto = 40
b Cateto Adyacente= 60
septiembre de 2018
Bibliografía Sugerida
septiembre de 2018