Está en la página 1de 19

DIAGRAMA DE CLASES

CONCEPTOS INICIALES – CLASES


CLASES:
Una clase es un modelo que define el estado y comportamiento de cierto tipo de objetos.

Las Clases tienen partes Púbicas y partes Privadas. Generalmente llamaremos a la parte
publica de una clase su interfaz.

Un objeto es solo una instancia (un ejemplar) de una clase determinada.

2
CONCEPTOS INICIALES – CLASES
Los OBJETOS que tienen estado y comportamiento idénticos se agrupan o clasifican en
"CLASES".

La programación orientada a objetos ofrece los conceptos de ENCAPSULAMIENTO,


ABSTRACCIÓN, HERENCIA Y POLIMORFISMO.

CLASES:
Una clase es un modelo que define el estado y comportamiento de cierto tipo de objetos.

3
CONCEPTOS INICIALES – CLASES

Herencia:
Capacidad de crear nuevas clases basándose en clases base previamente definidas, de las
que se aprovechan ciertos datos y métodos, se desechan otros y se añaden nuevos.
Jerarquía:
Orden de subordinación de un sistema clases.
Polimorfismo:
Propiedad según la cual un mismo objeto puede considerarse como perteneciente a distintas
clases.

La herencia siempre se produce en un mismo sentido, creando estructuras de clases en forma


de árbol. Es posible retroceder hasta una o varias clases base.

4
CLASES - DECLARACION

La lista de clases base se usa para derivar clases. La lista de miembros comprende una
lista de funciones y datos.

5
CLASES - ACCESO

6
CLASES - ACCESO
Acceso Privado (PRIVATE)
• Solo son accesibles por los propios miembros de la clase, pero no desde funciones externas o
desde funciones de clases derivadas.
• Acceso por defecto.
Acceso Publico (PUBLIC)
• Cualquier miembro publico de una clase es accesible desde cualquier parte donde sea
accesible el propio objeto.
Acceso Protegido (PROTECTED)
• Con respecto a las funciones externas, es equivalente al acceso privado, pero con respecto a
las clases derivadas se comporta como publico.

7
CLASES Y OBJETOS
EJEMPLO:
Una analogía para entender las clases y los objetos puede
ser una fabrica ensambladora de carros.
Hay un modelo o diseño (clase) especifico de un auto, pero
este modelo en si no es un carro, es solo una descripción
de que características y funcionalidades deben tener los
carros que sean de ese modelo.
Los carros ensamblados en la fabrica de acuerdo a dicho
modelo serían los objetos, es decir entidades tangibles que
se construyeron a partir de las descripciones y
especificaciones consignadas en el diseño o modelo (o sea
la clase).

8
CLASES - METODOS
La lista de métodos puede ser:
 Simplemente una declaración de prototipos,
 O pueden ser también definiciones.
Cuando se definen fuera de la clase se debe usar el operador de ámbito “::”. Las
funciones definidas de este modo serán tratadas como inline (se inserta el código cada
vez que son llamadas).

Los métodos de una clase son funciones que sirven para manipular las variables de la
clase, de ahí viene la primera característica relevante de la programación orientada a
objetos que es el encapsulamiento, ya que en lo posible se va a tratar de que solo pueda
accederse a una variable de clase a través de un método de la clase.

9
CLASES - METODOS

10
CLASES - METODOS - THIS
 Para cada objeto declarado de una clase se mantiene una copia de sus datos, pero todos
comparten la misma copia de las funciones de esa clase.
 Esto ahorra memoria y hace que los programas ejecutables sean mas compactos, pero
plantea un problema.
 Cada función de una clase puede hacer referencia a los datos de un objeto, modificarlos
o leerlos, usando el puntero especial llamado THIS que apunta al mismo objeto.

11
CLASES - METODOS - CONSTRUCTORES
 Son métodos especiales que sirven para inicializar un objeto de una determinada
clase al mismo tiempo que se declara. Son especiales por varios motivos:
• Tienen el mismo nombre que la clase a la que pertenecen.
• No tienen tipo de retorno, y por lo tanto no retornan ningún valor.
• No pueden ser heredados.
• Deben ser públicos, no tendría ningún sentido declarar un constructor como
privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como
protegido, ya que no puede ser heredado.

12
CLASES - METODOS - CONSTRUCTORES
 Si no definimos un constructor el compilador creara uno por defecto, sin parámetros,
que no hará absolutamente nada.
 Si definimos un constructor que requiere argumentos, es obligatorio suministrarlos.
 Sera llamado siempre que se declare un objeto de esa clase.

13
CLASES - METODOS - CONSTRUCTORES

14
CLASES - INICIALIZACION DE OBJETOS

 Se pueden inicializar los datos miembros de los objetos en los constructores


invocando los constructores de ellos.
 En C++ incluso las variables de tipos básicos como int, char o float son
objetos.
 Cada inicializador consiste en el nombre de la variable miembro a inicializar,
seguida de la expresión que se usara para inicializarla entre paréntesis.
 Los inicializadores se añadirán a continuación de los parámetros del
constructor, antes del cuerpo del constructor y separado del paréntesis por
dos puntos “:”

15
CLASES - INICIALIZACION DE OBJETOS
Es preferible usar la inicialización siempre que sea posible en lugar de asignaciones.

16
CLASES - SOBRE CARGA DE CONSTRUCTORES
Los constructores son funciones, también pueden definirse varios constructores para
cada clase (sobrecarga).
Como en las funciones, no pueden declararse varios constructores con el mismo numero
y el mismo tipo de argumentos

17
ENCAPSULAMIENTO Y NIVEL DE ACCESO A
MIEMBROS DE LA CLASE
El acceso a los miembros de una clase solo puede lograrse a través de una instancia de
esa clase, es decir, de un objeto de dicha clase.

De modo que para acceder a un miembro en específico de una clase se llama al objeto
recién declarado y con ayuda del operador punto . se hace el llamado a la variable o método
al cual se requiere acceder.

int main()
{ MiClase miObjeto; //Declarando un objeto de la clase
miObjeto.cambiarVar1(5); //Accediendo a un miembro con el operador punto
double var = miObjeto.calcularArea(34.6, 23.9); //Accediendo a un miembro con el
operador punto
}

18
MÉTODOS GET Y SET
Los métodos GET y SET son métodos que usualmente se definen para el acceso a una
variable privada de la clase, para obtener su estado actual (valor) y para modificarlo
respectivamente.

Un método GET es un método que retorna el valor actual de la variable privada. Tiene
valor de retorno del mismo tipo de la variable en cuestión y no tiene parámetros de
entrada.

El método SET es el que modifica directamente el valor de la variable privada. Es poco


usual que tenga valor de retorno, pero sí debe tener por lo menos un parámetro de
entrada para el valor con el que se modificará la variable.

19

También podría gustarte