Sunteți pe pagina 1din 44

Programacin Orientada a Objetos

EMPAQUEDADO DE CLASES
Un paquete es un directorio que estaran ubicadas los .class.

Contenido
Conceptos bsico de la Programacion Orientada a Objetos

1. Objetos 2. Clase 3. Propiedades 4. Mtodos

5 Encapsulamiento 6. Sobre Carga de Mtodos 7. Constructores 8. Arreglos

Supongamos que deseamos construir un CARRO. Presionar pedal para aumentar velocidad. Antes de construrilo, alguien tiene que disearlo. (Dibujos de Ingeniera). Diseo del pedal de acelerador freno y volante, etc. El pedal OCULTA los complejos mecanismos para acelerar.

Clase es el diseo del carro en papel (tiene un acelerador, freno, volante, color,modelo ,numero de seria, numero de puertas, etc)
El objeto es cuando ya tenemos creado el carro.

Los Metodos: Son mensajes que podemos ejecutar con objeto(carro). Le podemos decir avence, se detenga, que gire a la izquierda, drecha.
Los Metodos son acelerar, frenar, Vuelata. Los Atrubutos siempre estan asociados con el objeto (carro) (color, modelo, marca, numero de seria).

Es algo que tiene un estado, un comportamiento y una identidad.

Booch, Grady.
Supongamos una maquina de una fabrica. El estado de la maquina puede estar funcionando/prando (on/off),su potencia velocidad mxima, velocidad actual, temperatura, etc.

2.2.2 Que es una Clase?


Es un tipo definido por el usuario. Son los bloques de construccion fundamentales de la POO.
Un Conjunto de objetos que comparten una estructura y comportamiento comunes.

Booch
Es una agrupacin de datos (variables o campos) y de mtodos que operan sobre objetos.

Ejercicio 2.1(Calse llamada LibroCalificaciones, con un metodo que muestre un mensaje de bienvenida cuando se le llama, creando un objeto de esa clase y como llamarlo, para que muestre el mensaje) .

1. Crear un Projecto.: 2.1


2. Crear un Paquete:
1. Es un contenedor de clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes.

3. Crear una Clase llamada LibroCalificaciones


1. Con un metodo llamado mostrarMensaje().

Ejercicio 2.1(Calse llamada LibroCalificaciones, con un metodo que muestre un mensaje de bienvenida cuando se le llama, creando un objeto de esa clase y como llamarlo, para que muestre el mensaje) .

package newpackage;
public class LibroCalificaciones {
//public es un modificador de acceso

public void mostrarMensaje(){//Metodo

System.out.println("Bienvenido al Libro de Calificaciones");


}

Sintaxis Declaracin de Clase


Modificadordeacceso class nombreClase {
instrucciones; instrucciones;

Sintaxis Declaracin de Metodos


Modificadordeacceso ValorRetorno NombreMetodo(Envio de parametros) { instrucciones; instrucciones; }

Instancia o Objeto de la Clase


Un objeto se crea con el operador constructor de la clase.

new

aplicado a un

LibroCalificaciones miLibroCalificaciones= new LibroCalificaciones();

El operador new crea el objeto y devuelve una referencia al objeto creado. El objeto permanecer vivo siempre que est referenciado por una variable de la clase que es instancia.

Sintaxis para definir una referencia o variable de instancia


NombreClase varReferencia;

Sintaxis para CREAR un OBJETO


varReferencia = new nombreClase(argumentos_constructor);

Permitir que el mtodo reciba el nombre de un curso como argumento y mostrar ese nombre como parte al mensaje de bienvenida

Constantes
Sintaxis:
final tipo_dato nombreConst=valorconstante; Ejemplos.

final double Valor_Descuento=14.50;

Longitud y Comparacion de Cadenas


El metodo length() devuelve el numero de caracteres de un objeto String como valor de tipo int.
Ejemplo: String saludo=Hola Villegas; System.out.println(La longitud es: +saludo.length()); La longitud es: 13

Longitud y Comparacion de Cadenas


El metodo equals(unaCadena) devuelve true si el objeto de la cadena que llama y unaCadena son iguales. Ejemplo: s.equals(t); //devuelve true si las cadenas s y t son //iguales; false en caso contrario.

String saludo=Hola;
saludo.equals(Hola) ; //devuelve true saludo.equals(adios); //devuelve false

saludo.equals(hola);

//devuelve false

Longitud y Comparacion de Cadenas


El metodo equalsIgnoreCase(unaCadena). Compara dos cadenas y ver si son iguales sin consideras mayusculas y minusculas.
Ejemplo:

s.equals(t); //devuelve true si las cadenas s y t son //iguales; false en caso contrario.
String saludo=Hola; saludo.equalsIgnoreCase(hola) ; //devuelve true

Metodos de la Clase String (50 metodos)


Java.lang.String;
Metodo charAt(posicion). Devuelve el carcter del objeto cadena que se encuentra en posicion. String saludo=Hola; saludo.charAt(0); saludo.charAt(2); //devuelve H //devuelve l

Metodos de la Clase String (50 metodos)


Metodo endWith(UnaCadena). Devuelve el true si la cadena termina en UnaCadena.
String saludo=Hola; String saludo2=Lala; saludo.endWith(la); saludo2.endWith(la) //devuelve true //devuelve true

Metodos de la Clase String (50 metodos)


Metodo startsWith(UnaCadena). Devuelve el true si la cadena inicia con UnaCadena.
String saludo=Hola; String saludo2=Lala; saludo. startsWith(H); true saludo2. startsWith(a) false //devuelve //devuelve

Metodos de la Clase String (50 metodos)


Metodo substring(inicioIndice). Devuelve la subcadena del objeto cadena comenzando desde el inicioIndice.
String prueba=Villegas; prueba.substrng(3); //devuelve legas

prueba.substrng(3,6);

//devuelve leg

Metodos de la Clase String (50 metodos)


Metodo tolowerCase(). Devuelve una cadena que contiene todos los caracteres de la cadena original con los caracteres en mayusculas convertidos a minuscula.
String prueba=Villegas;

prueba. tolowerCase();

//devuelve villegas

Metodos de la Clase String (50 metodos)


Metodo toUpperCase(). Devuelve una cadena que contiene todos los caracteres de la cadena original con los caracteres en minuscula convertidos a mayusculas.
String prueba=Villegas;

prueba.toUpperCase();

//devuelve VILLEGAS

Metodos de la Clase String (50 metodos)


Metodo trim(). Devuelve una eliminando todos los espacios en cabeza y cola de la cadena original.
String prueba= Villegas ; prueba. trim(); //devuelve Villegas

Entrada y Salida
Import java.until.Scanner
Variable_int= nombreObjeto.nextInt(); Variable_double= nombreObjeto.nextDouble();

Variable_cadena= nombreObjeto.next();
Variable_cadena= nombreObjeto.nextLine();

Laboratorio
Definir una Clase ConjuntoDatos que calule la suma y media de 10 numeros flotantes.
Metodos: Void sumaValores(double x) double getMedia()

Visibilidad de los miembros de la Clase


Una caracterstica de la POO es la ocultacin de la informacin, es decir: no se pude accesar a determinados datos del interior de una clase por mtodos externos a la clase.
El mecanismos principal es ponerlos en una clase y hacerlos privados. Al los datos o mtodos privados solo se pueden acceder desde dentro de la clase. Los datos o mtodos pblicos son accesibles desde el exterior de la clase.

Visibilidad de los miembros de la Clase


public: Define miembro pblicos, que son aquellos que se puede acceder por cualquier mtodo desde fuera de la clase.
private. Solo se pueden acceder por mtodos miembro de la misma clase. protected. Se pueden acceder por miembros de la misma clase o de clases derivadas, as como por mtodos de otras clases que se encuentren en el mismo paquete. Ejemplo 2.4

Visibilidad de los miembros de la Clase


Ninguno: La no utilizacin de modificador de acceso, proporciona a elemento lo que se conoce como el acceso por defecto. Si un elemento (clase, mtodo o atributo) tiene acceso por defecto, nicamente las clases de su mismo paquete tendrn acceso al mismo.

Visibilidad de los miembros de la Clase

Aplicacin de modificadores de acceso

Encapsulacion
Los mtodos que se quieren exponer al exterior llevan el modificador de acceso public, mientras que los atributos suelen tener acceso private, de modo que solamente pueden ser accesibles desde el interior de la clase. Mantener los atributos de los objetos como privados y proporcionar acceso a los mismos atreves de mtodos pblicos (mtodos de acceso) Beneficios:
Proteccin de datos sensibles. Facilidad y flexibilidad en el mantenimiento de las aplicaciones.

Ejemplo 2.4

Encapsulacion

this.

La palabra reservada this se utiliza en el interior de una clase para invocar a los mtodos y atributos del propio objeto.

Laboratorio 4

Sobrecarga de Metodos
Otra de las ventajas de la POO es porder tener en una misma clase varios metodos con el mismo nombre. A esto se le conoce como sobrecarga de metodos. Para que un metodo pueda sobrecargarse imprescindible que se de la siguiente condicion: es

Cada version del metodo debe distinguirse de las otras en el numero o tipo de parametros.

Sobrecarga de Metodos
public void calculo(int k){. . . } public void calculo (String s){. . .} public long calculo (int k, boolean b) {. . .}

public void calculo(int k) {. . . }


Public int calculo (int k) {. . .} Public void calculo (int n) {. . .}

Constructores
Se pueden sobrecargar, lo que significa que una clase puede tener mas de un constructor.
Todas las clases deben tener almenos un constroctor. Java aade un costructor por defecto si la clase carece de constructores

Laboratorio 5

Constructores
Es un metodo que se ejecuta automaticamente cuando se crea un objeto de una clase.
Sirve para inicializar los miembros de una clase. El constructor tiene el mismo nombre que la clase. Cuando se define no se puede especificar una valor de retorno, nunca devuelve un valor. Sin embargo, puede tomar cualquier numero de argumentos.

Laboratorio 6

Cuenta
-saldo:Double <<constructor>>Cuenta(saldoInicial: Double)

+abonar(monto:Double)
+ObtenerSaldo():Double

Array
Es un objeto que se puede almacenar un conunto de datos de un mismos tipo. C/U de los elementos del array tiene asignado un indice.
Declaracion:
tipo [] variable_array; Tipo variable_array[];
int [] k;

string [] p;
char cads[];

Dimensionado de un Array
variable_array=new tipo[tamao];
Ejemplos: k=new int [5];

cads= new char[10];


String [] noms=new String[10];

Inicializacion de Array
Int [] num={10,20,30,40};

ACCESO A LOS ELEMENTOS DEL ARREGLO


variable_array[indice] Ejemplo:

int i;
int [] num=new int[10]; System.out.println("El leng es: "+ num.length);

for(i=0;i<num.length;i++){
num[i]=i*2; }

Paso de un Arreglo como Argumento


tipo metodo(tipo Variable_array[]){
//codigo metodo; }

Paso de un Arreglo como Argumento


Suma=Sumar(suma);

Static int Sumar(int numeros[]){ int s=0;

for(i=0; numeros.length;i++){
s=s+numero[i] }

return s;
}

Arreglo como tipo de devolucion de un metodo


tipo [] metodo(parametros){
return variable_array; }

Laboratorio 7

S-ar putea să vă placă și