03 Conceptos Basicos 1era Parte
Conceptos Básicos de
Orientación a Objetos (1era parte)
Contenido
Construcciones Básicas
Relaciones
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Construcciones Básicas
Objeto
Un objeto es una entidad discreta con
límites e identidad bien definidos
Encapsula estado y comportamiento:
Objeto
Variable Tradicional
C
C
E
C
vs.
E
C
C
Es una instancia de una clase
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
C
Identidad
Es una propiedad inherente de los objetos de ser
distinguible de todos los demás
Dos objetos son distintos aunque tengan
exactamente los mismos valores en sus propiedades
Conceptualmente un objeto no necesita de ningún
mecanismo para identificarse
La identidad puede serrealizada mediante
direcciones de memoria o claves (pero formando
parte de la infraestructura subyacente de los
lenguajes)
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Clase
Una clase es un descriptor de objetos que
comparten los mismos atributos, operaciones,
métodos, relaciones y comportamiento
Una clase representa un concepto en el
sistema que se está modelandoDependiendo del modelo en el que aparezca,
puede ser un concepto del mundo real
(modelo de análisis) o puede ser una entidad
de software (modelo de diseño)
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Clase (2)
Definición de una clase
class CEjemplo {
... // definicion de
... // las propiedades
... // de la clase Ejemplo
}
CEjemplo *e = new CEjemplo();
delete e;
Instancia deuna clase (i.e. un objeto)
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Clase (3)
Para crear un objeto se definen
constructores
CEjemplo(); //por defecto
CEjemplo(params);
//común
CEjemplo(CEjemplo *);
//por copia
Para destruir un objeto se define un
destructor
~CEjemplo();
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Atributo
Es unadescripción de un compartimiento
de un tipo especificado dentro de una clase
Puede ser:
De Instancia: Cada objeto de esa clase
mantiene un valor de ese tipo en forma
independiente
De Clase: Todos los objetos de esa clase
comparten un mismo valor de ese tipo
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Atributo (2)
class CEjemplo {
int atr1;
// Atributo de instanciastatic int atr2; // Atributo de clase
...
// Otras propiedades
}
CEjemplo
e1
atr1 = 3
C
e2
atr2 = 11
atr1 = 7
C
C
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Operación
Es una especificación de una
transformación o consulta que un
objeto puede ser llamado a ejecutar
Tiene asociada un nombre, una lista
de parámetros y un tipo de retorno
Programación Avanzada |Conceptos Básicos de Orientación a Objetos
Método
Es la implementación de una
operación para una determinada clase
Especifica el algoritmo o
procedimiento que genera el resultado
o efecto de la operación
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Operación y Método
class CEjemplo {
int atr1;
static int atr2;
Operación
void oper(char c)
{
... // un ciertoalgoritmo
}
}
Método para oper() en CEjemplo
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Estado
El estado de una instancia almacena
los efectos de las operaciones
Está implementado por
Su conjunto de atributos
Su conjunto de links
Es el valor de todos los atributos y
links de un objeto en un instante dado
Programación Avanzada | Conceptos Básicos de Orientación aObjetos
Comportamiento
Es el efecto observable de una
operación, incluyendo su resultado
Programación Avanzada | Conceptos Básicos de Orientación a Objetos
Acceso a Propiedades
Las propiedades de una clase tienen aplicadas
calificadores de acceso
Una propiedad de un objeto calificada con:
public: puede ser accedida desde cualquier punto
desde el cual se tenga visibilidad...
Regístrate para leer el documento completo.