Professional Documents
Culture Documents
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
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
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).
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 :
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
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 :
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.