You are on page 1of 11

Lenguaje de Programación II

ACI222
Escuela de Ingeniería

Lenguaje de Programación II
Unidad I: Principios de la Programación
Orientada a Objetos
Clase 1
MATERIAL PROPIEDAD DE UDLA.
AUTORIZADA SU UTILIZACIÓN SÓLO PARA FINES ACADÉMICOS.
Unidad 1 PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA
A OBJETOS

1.1 Concepto de Objeto


1.2 Concepto de Clase
1.3 Herencia
1.4 Encapsulación
1.5 Polimorfismo
1.1 Principios de la Programación Orientada a Objetos

Introducción
El elemento clave de la programación orientada a objetos es la clase. Una clase se
define como una descripción abstracta de un grupo de objetos, cada uno diferenciado
por un estado distinto y por la posibilidad de realizar una serie de operaciones. Una
clase es un conjunto de objetos que comparten una estructura y comportamiento
comunes. Una Clase representa una abstracción, la esencia que comparten los
objetos.
1.1 Principios de la Programación Orientada a Objetos

Conceptos Fundamentales

Clase

Definición 1: Una clase es un grupo de objetos con propiedades (atributos) similares,


comportamiento común (operaciones), relaciones comunes entre objetos, y semántica común
(Raumbaugh).

Definición 2: Una clase es una agrupación de datos (variables o campos) y de funciones


(métodos) que operan sobre esos datos. A estos datos y funciones pertenecientes a una
clase se les denomina variables y métodos o funciones miembro.

Operaciones
Una operación define un servicio ofrecido por un objeto junto con la información que debe
suministrarse cuando es invocado (nombre, argumentos de entrada/salida).
También puede contener una especificación de método, el cual especifica una
implementación para la operación.

Notación: Durante la etapa de Análisis o Diseño lógico pueden utilizarse típicamente texto
libre o pseudocódigo. Durante el Diseño físico dichas especificaciones son trasladadas en un
lenguaje de programación específico como ser C++, Java, Visual Basic, etc.
1.1 Principios de la Programación Orientada a Objetos

Conceptos Fundamentales
Atributos

Son valores de datos asociados a los objetos de una clase al cual describen.

Están fuertemente asociados con la clase de objetos que los contienen, de tal forma
que no tienen existencia independiente o identidad de objeto.

La decisión de cuando un ítem debe considerarse como atributo o como clase varía
de sistema en sistema, dependiendo de su semántica en el dominio de problema. Lo
que en un sistema se modela como atributo en otro puede modelarse como una
clase.

Cada atributo identificado debe ser atómico en el sentido de que debe ser tratado
como una unidad. En tal caso puede ser un valor simple o grupo de valores tratados
siempre como unidad (ej. dirección).

Los atributos pueden basarse en definiciones de tipos de atributos, lo cual provee


una definición estándar sobre formato, longitud y dominio de valores para atributos
del mismo tipo.
1.1 Principios de la Programación Orientada a Objetos

Conceptos Fundamentales
Objeto

Definición 1: Un objeto es algo real o abstracto acerca del cual almacenamos datos y métodos
que manipulan dichos datos (Martín/Odell)

Definición 2: Encapsulado de datos, operaciones que tratan dichos datos, y que observa un
estado interno, que posee identidad (se distingue por su existencia misma y no por sus atributos).
Cada objeto es una instancia de la clase a la que pertenece.

Definición 3: Un objeto es una instancia de una clase. Puede ser identificado en forma única por
su nombre y define un estado, el cuál es representado por los valores de sus atributos en un
momento en particular.
1.1 Principios de la Programación Orientada a Objetos

Conceptos Fundamentales
El estado de un objeto cambia de acuerdo a los métodos que le son aplicados. Nos referimos a
esta posible secuencia de cambios de estado.
como el comportamiento del objeto :

El comportamiento de un objeto es definido por un conjunto de métodos que le pueden ser


aplicados.

Tenemos presentados ahora dos conceptos principales de orientación a objetos, clase y objeto.
La programación orientada a objetos es por lo tanto la implementación de tipos de datos
abstractos o, en palabras más sencillas, la escritura de clases. En "runtime", instancias de
estas clases -los objetos- cumplen con el objetivo del programa cambiando sus estatus. Por
consecuencia, tu puedes pensar que la corrida de tu programa constituye una colección de
objetos. Se genera la pregunta : ¿ Cómo interactúan estos objetos? De modo que introducimos
el concepto de mensaje en la sección siguiente.
1.1 Principios de la Programación Orientada a Objetos

Conceptos Fundamentales
Mensaje

Un programa en ejecución es una colección de objetos, donde dichos objetos


interactúan entre si, son creados y destruidos. Esta interacción se basa en mensajes
que son mandados de un objeto a otro, donde el emisor le pide al receptor que
aplique un método a sí mismo.

Mandar un mensaje pidiéndole a un objeto que aplique un método es similar a una


llamada a un procedimiento en lenguajes de programación "tradicionales". Sin
embargo, en orientación a objetos, hay un cuadro de objetos autónomos que se
comunican unos con los otros por medio de el intercambio de mensajes. Los objetos
reaccionan cuando reciben mensajes por medio de la aplicación de métodos sobre si
mismos.

También pueden negar la ejecución de un método, por ejemplo si el objeto que hace
la llamada no tiene permiso para ejecutar el método solicitado.
1.1 Principios de la Programación Orientada a Objetos

Conceptos Fundamentales
Mensaje

Definición (Mensaje): Un mensaje es una solicitud a un objeto para invocar uno de sus métodos.
Un mensaje por lo tanto contiene :

 El nombre del método


 Los argumentos del método.

Por consecuencia, la invocación de un método es solamente una reacción causada por el hecho
de recibir un mensaje. Esto solamente es posible si el método es realmente conocido por el
objeto.

Definición (Método): Un método está asociado a una clase. Un objeto invoca un método como
una reacción al recibir un mensaje.

You might also like