programación orientada a objetos
TRANSCRIPT
![Page 1: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/1.jpg)
POO. Introducción
Prof. Betzabeth León
Universidad Valle del Momboy
![Page 2: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/2.jpg)
POO. Introducción
POO
Única entidad.
Clase:
Una clase se puede considerar como un patrón para construir
objetos.
Datos Procedimientos
![Page 3: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/3.jpg)
POO. Introducción
OBJETOS
En C++, un mensaje es una llamada a una función de un determinado
objeto.
UNIDADNecesarios para el tratamiento de
esos datos.
MENSAJE
Objeto 1 Objeto 2
Procedimientos
Datos
![Page 4: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/4.jpg)
POO. Introducción
•Los tipos contienen miembros de datos y funciones miembro, y son definidos mediante la palabra reservada class.•El nombre de la clase (una vez definida) puede ser utilizado para declarar objetos de dicha clase.•El cuerpo de la definición de clase se delimita mediante llaves. La definición de clase termina con un punto y coma.
Clases
Permiten que el programador modele objetos que tienen atributos(miembros de datos) y comportamientos u operaciones (funciones miembro).
![Page 5: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/5.jpg)
POO. Introducción
Partes:Etiqueta public: y private: se conocen como especificadores de acceso de miembro.
Clases. Descripción.
Cualquier miembro de datos o función miembro declarado después del especificador de acceso de miembro public: (y antes del siguiente especificador de acceso de miembro) es accesible, siempre que el programa tenga acceso a un objeto de la clase.
Cualquier miembro de datos o función miembro declarada después del especificador de acceso de miembro private: (y hasta el siguiente especificador de acceso de miembro) sólo es accesible a las funciones miembro de la clase.
![Page 6: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/6.jpg)
POO. Introducción
MÉTODO
Los mensajes que lleguen a un objeto se procesarán ejecutando un determinado método. En
C++ un método es una función o procedimiento perteneciente a un objeto.
Estructura General de una Clase:
Class Nombre{ private: --------- } Miembros datos privados public:
--------- } Funciones miembros protected: --------- } Herencia}
![Page 7: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/7.jpg)
POO. Introducción
Por lo regular, los miembros de datos aparecen listados en la porción private: de una clase, y normalmente, las funciones de miembro aparecen listadas en la porción public:, aunque puede darse el caso contrario.
Por defecto, los elementos de las clases son privados ( private: ).
Clases. Descripción.
![Page 8: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/8.jpg)
POO. Introducción
Especificaciones de Acceso:
Acceso Privado, private:
Los miembros privados de una clase sólo son accesibles por los propios
miembros de la clase y por intermedio de una función pública. Para
miembros de una clase, el acceso por omisión es privado.
Acceso Público, public:
Cualquier miembro público de una clase es accesible desde cualquier parte donde sea accesible el propio
objeto. Es decir son variables o funciones que se pueden acceder
desde el main( ).
![Page 9: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/9.jpg)
POO. Introducción
Acceso Protegido, protected:
Con respecto a las funciones externas, es equivalente al acceso privado, pero con
respecto a las clases derivadas se comporta como público (en Herencia).
![Page 10: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/10.jpg)
POO. Introducción
Los constructores pueden tener argumentos por omisión. Si para una clase no se define ningún constructor, el compilador creará un constructor por omisión. Dicho constructor no ejecutará ninguna inicialización.
Los constructores pueden tener argumentos por omisión. Si para una clase no se define ningún constructor, el compilador creará un constructor por omisión. Dicho constructor no ejecutará ninguna inicialización.
Clases. Inicialización de Objetos.
CONSTRUCTORESLos constructores son métodos que se usan para inicializar un objeto al momento de su definición o para asignar almacenamiento en memoria.
Cuando se declara un objeto deuna clase, se pueden dar inicializadores en paréntesis a la derecha del nombre del objeto y antes del punto y coma. Estos inicializadores son pasados como argumentos al constructor de la clase.
![Page 11: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/11.jpg)
POO. Introducción
Características de los Constructores:
Constructores
Igual nombre de la Clase
No retornan ningún valor
No pueden ser heredados
Deben ser Públicos
Constructor.Los miembros de datos de una clase no pueden ser inicializados donde son declarados en el cuerpo de la clase. Deberán ser inicializados por el constructor de la clase.
Constructor.Los miembros de datos de una clase no pueden ser inicializados donde son declarados en el cuerpo de la clase. Deberán ser inicializados por el constructor de la clase.
![Page 12: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/12.jpg)
POO. Introducción
class Punto{Int x, y;public:Punto(){ x = y = 0;}
Clases. Inicialización de Objetos. Ejemplo.
Constructor
![Page 13: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/13.jpg)
POO. Introducción
Destructores:
Son funciones miembro especiales que sirven para eliminar un objeto de una determinada
clase, liberando la memoria utilizada por dicho objeto.
Características:
Destructores
Igual nombre de la Clase con el símbolo ~ adelante
No retornan ningún valor
No pueden ser heredados
![Page 14: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/14.jpg)
POO. Introducción
Este método especial llamado destructor es llamado una vez por cada objeto en el momento de su destrucción.Un destructor no recibe parámetros ni regresa ningún valor. Una clase sólo puede tener un destructor
Clases. Destructor.
DESTRUCTORESUn destructor de clase es llamado automáticamente cuando un objeto de una clase se sale de alcance: debemos asegurarnos de que la memoria asignada sea liberada.
Destructor.La función con el mismo nombre que la clase, pero precedido por un carácter tilde (~)
![Page 15: Programación Orientada a Objetos](https://reader036.vdocuments.co/reader036/viewer/2022062304/5592e9161a28ab40698b47f6/html5/thumbnails/15.jpg)
POO. Introducción
Definición de funciones.Cuando una función miembro se define por fuera de la definición de clase, el nombre de función es antecedido por el nombre de la clase y por el operador de resolución de alcance binario (::). Dicha función miembro queda dentro del alcance de la clase.
Clases. Funciones.