INTRODUCCIÓN A PROGRAMACIÓN ORIENTADA A OBJETOS

Anuncio
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors
INTRODUCCIÓN A PROGRAMACIÓN
ORIENTADA A OBJETOS
Programación orientada a objetos (POO)
†
†
Programación estructurada tradicional:
Los datos y los procedimientos están separados y sin relación
Programación orientada a objetos:
Pensar cómo en la vida real (datos + procedimientos juntos)
• Coche: elemento principal
• Características: color, modelo y marca
• Funcionalidades: arrancar, parar, aparcar…
†
Expresa un programa como un conjunto de objetos, que colaboran
entre ellos para realizar tareas.
Permite mantener, reutilizar y programar aplicaciones fácilmente.
La POO es útil en cualquier sistema que se pueda “modelar” en
componentes más o menos independientes.
v.2007.02
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
2
Programación orientada a objetos (POO)
†
Un objeto es básicamente:
– Los datos (variables) que representan una “entidad” en el mundo real.
– Las funciones que actúan sobre estos datos.
†
†
Los objetos son ejemplares de una clase
Clases: son declaraciones (definiciones) genéricas de objetos
– Propiedades de una clase:
• Atributos / Propiedades / Variables
– Métodos de una clase
• Funciones asociadas a los objetos
†
Ejemplo de objeto de la clase coche:
– Coche miCoche=new Coche( );
†
Con new creamos un objeto (una instancia) de la clase que le sigue.
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2007.02
3
Un ejemplo de clase: Coche
Nombre del
tipo de objeto
(clase)
Datos (atributos)
Coche
String marca
String modelo
Funciones (métodos)
void mostrarCoche()
v.2007.02
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
4
Un ejemplo de clase: Coche.java
public class Coche {
String marca = “”;
String modelo = “”;
public void mostrarCoche() {
System.out.println(“Marca: "+marca);
System.out.println(“Modelo: "+modelo);
}
}
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2007.02
5
Otro ejemplo de clase: Persona
Nombre del
tipo de objeto
(clase)
Datos (atributos)
Persona
int dni
Funciones (métodos)
int obtenerDni()
void modificarDni(int dni)
void mostrarPorPantalla()
v.2007.02
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
6
Otro ejemplo de clase: Persona.java
public class Persona {
int dni;
public Persona(){
this.dni = -1;
}
public int obtenerDni() {
return dni;
}
public void modificarDni(int dni) {
this.dni=dni;
}
public void mostrarPorPantalla() {
System.out.println("DNI: "+dni);
}
}
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
v.2007.02
7
Otro ejemplo de clase: MiObjetoCoche.java
public class MiObjetoCoche {
public static void main(String args[]){
Coche miCoche = new Coche();
miCoche.mostrarCoche();
}
}
v.2007.02
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
8
Otro ejemplo de clase: MiObjetoPersona.java
public class MiObjetoPersona {
public static void main(String args[]){
Persona pablo = new Persona();
// Acceso a atributos
pablo.dni = 12341234;
// Acceso a métodos
pablo.obtenerDni();
pablo.modificarDni(12345678);
pablo.mostrarPorPantalla();
}
}
v.2007.02
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS
Departament d’Arquitectura de Computadors - UPC
9
Descargar