Está en la página 1de 13

Fuente “Object-Oriented Analysis and Design with Applications” de Grady Booch

http://alejandria.ufps.edu.co/cgi-bin/koha/opac-detail.pl?biblionumber=9267
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Fuente “Object-Oriented Analysis and Design with Applications” de Grady Booch
http://alejandria.ufps.edu.co/cgi-bin/koha/opac-detail.pl?biblionumber=9267
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Leer el Blog

The Cat as a Metaphor in


Object-Oriented Software Development
https://effectivesoftwaredesign.com/2016/09/28/the-cat-as-a-metaphor-in-object-oriented-software-development/

Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Write a Computer Programming is model of some part of the world (Kölling, BlueJ Object First)
Una vez me dijeron que programar es como una obra de teatro: Tenemos nuestro escenario, donde están
nuestros actores, que actuarán entre sí, según les digamos… (Antonio Garcia Vicente | TEDx)

Programa Orientado a Objetos Mundo Real

Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
El significado
Rectángulo Rectángulo Rectángulo Los rectángulos
Vertical Horizontal Cuadrado de una cancha

Ser Humano
abstracción

La cosa / El Objeto
Rectángulo

El nombre de la cosa (la palabra / el signo / la Clase)


Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Clase
Propiedades

Métodos
Cuatro tipos de métodos

1. CONSTRUCTOR
Crear, inicializar un objeto
2. QUERY (Java getXXX)
Acceder a una propiedad
3. Mutator (Java setXXX)
Modificar una propiedad
4. COMMAND
Ejecutar una operación

Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Parámetros
Declaración de Método

public boolean puntoEstaDentro (float x, float y)


{ Variable Local
boolean respuesta = false;

respuesta = x > this.origenX &&


x < (this.origenX + this.ancho) &&

y < this.origenY &&


y > (this.origenY – this.alto);

return respuesta;
}

Respuesta del método o return Implementación de Método


(algoritmo)

Se usa «this» para referirse a las propiedades, de esa manera se logra diferenciar
una propiedad de un parámetro o de una variable local. No es obligatorio, pero si
recomendado usar «this».
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Ejemplo paso de Mensajes en Programación Orientada a Objetos
Rectangulo datos
(propiedades)
Clase float origenX, origenY; (variables)
float ancho, alto;
mensaje respuesta al mensaje
this
(parámetro) (return)

float x , float y
puntoEstaDentro boolean
algoritmos

public boolean puntoEstaDentro (float x, float y)


{
boolean respuesta = false;

respuesta = x > this.origenX && x < (this.origenX + this.ancho) &&


y < this.origenY && y > (this.origenY – this.alto);

return respuesta;
}

Objeto

Usuario
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Mensajes Vacíos (sin parámetros)
Rectangulo datos
(propiedades)
Clase float origenX, origenY; (variables)
float ancho, alto;
mensaje respuesta al mensaje
this
(parámetro) (return)

calcularPerimetro float
algoritmos

public float calcularPerimetro( )


{
float respuesta = 0;

respuesta = this.ancho*2 + this.alto*2;

return respuesta;
}

Objeto

Usuario
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Mensajes Vacíos (sin parámetros) - Estándar GET
Rectangulo datos
(propiedades)
Clase float origenX, origenY; (variables)
float ancho, alto;
mensaje respuesta al mensaje
this
(parámetro) (return)

getOrigenX float
algoritmos

public float getOrigenX( )


{
return this.origenX;
}

public float getArea( )


{
return this.alto * this.ancho; //El área es una propiedad emergente
}

Objeto

Usuario
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Mensajes sin respuesta (no return)
Rectangulo datos
(propiedades)
Clase float origenX, origenY; (variables)
float ancho, alto;
mensaje respuesta al mensaje
this
(parámetro) (return)

float distancia
moverHaciaAbajo void
algoritmos

public void moverHaciaAbajo(float distancia)


{
this.origenY = this.origenY - distancia;

Objeto

Usuario
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com
Mensajes sin respuesta (no return) - Estándar SET
Rectangulo datos
(propiedades)
Clase float origenX, origenY; (variables)
float ancho, alto;
mensaje respuesta al mensaje
this
(parámetro) (return)

float origenX float


setOrigenX
algoritmos

public void setOrigenX( float origenX )


{
this.origenX = origenX;
}

public void setArea( float ancho, float alto )


{
this.ancho = ancho;
this.alto = alto;
}
Objeto

Usuario
Programación Orientada a Objetos Profesor: Milton Jesús Vera Contreras miltonjesusvc@ufps.edu.co miljeveco@gmail.com

También podría gustarte