Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(POO)
ID: 192954
Ing. Robótica
Programación Orientada o Objetos (POO)
Conceptos básicos
Los campos de datos se utilizan para contener datos que reflejan el estado
de la clase. Los datos pueden estar almacenados en variables, o estructuras
más complejas, como structs, uniones e incluso otras clases.
Habitualmente, las variables miembro son privadas al objeto
y su acceso
se realiza mediante propiedades o métodos que realizan
comprobaciones adicionales.
Construcción de Clases
Componentes de una clase
Métodos en las clases
Las propiedades son un tipo especial de métodos. Debido a que suele ser
común que las variables miembro sean privadas para controlar el
acceso y mantener la coherencia, surge la necesidad de permitir
consultar o modificar su valor mediante pares
de métodos: GetVariable y SetVariable.
Los lenguajes orientados a objetos más modernos
añaden la construcción de propiedad, que es una
sintaxis simplificada para dichos métodos.
Construcción de clases
Datos y Funciones miembro
Igual que con las clases normales, es posible declarar datos miembro o
funciones estáticas dentro de una plantilla. En este caso existirá una copia de
cada uno de ellos para cada tipo de instancia que se cree.
Por ejemplo, si añadimos un miembro static en nuestra declaración de "Tabla",
se creará una única instancia de miembro estático para todas las instancias de
Tabla<int>, otro para las instancias de Tabla<Cadena>, etc.
• No devuelve nada
• Se llama igual que la clase, precedido de ~ y con () por se método
• Se usa para liberar memoria dinámica, cerrar ficheros.
• Hay un destructor por defecto
Construcción de clases
Constructor y Destructor
Construcción de clases
Ámbito y acceso a los miembros de una clase (public, private, protected)
Public
Private
Protected
Por ejemplo
Construcción de clases
Sobrecarga de operadores
La sobrecarga de operadores es uno de los mecanismos que nos permite
ampliar las capacidades de los lenguajes de programación orientados a
objetos. La declaración y definición de una sobrecarga de operador es
muy similar a la declaración y definición de una función cualquiera. El
ejemplo más sencillo de una sobrecarga de operadores nos lo da el
lenguaje mismo, es decir, en una operación aritmética el compilador
determina el tipo de operación requerida de acuerdo con el tipo de datos
involucrados.
Construcción de clases
Sobrecarga de operadores
El lenguaje C++ permite redefinir la funcionalidad de los siguientes operadores:
+-*/%^&
| ~ ! = < > +=
-
*
/= %= ^= &= |=
<< >> >>
<<
=!
<=>= && || ++ -- ->* ,
-> [] () new new[] delete delete[]
Los operadores +, -, * y & son sobre cargables en sus dos versiones, unaria y binaria. Es
decir: suma binaria +; más unitario +; multiplicación *; indirección *; referencia & y
manejo de bits &.
Construcción de clases
Sobrecarga de operadores
Limitaciones