You are on page 1of 24

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Universitaria Ciencia y Tecnología


Universidad Politécnica Territorial de Falcón “Alonso Gamero”
Coro Estado Falcón

Profesor: Integrantes:
Ing. Gotopo Tsu. Jhiogvanny Corona
Tsu. Elirey Espinoza
Tsu. Juan Lugo
Tsu. Rafael Páez

Santa Ana de Coro; Mayo de 2017


POO
Simula (1967): Es aceptado como el primer lenguaje que posee las
características principales de un lenguaje orientado a objetos. Fue creado
para hacer programas de simulación, en donde los ``objetos`` son la
representación de la información mas importante.

Smalltalk (1972 a 1980): Es posiblemente el ejemplo canónico, y con el que


gran parte de la teoría de la programación orientada a objetos se ha
desarrollado.
Conceptos Fundamentales
De POO
Entre ellos destacan los siguientes:

 Clase: Definiciones de las propiedades y comportamiento de un tipo de objeto concreto.

 Herencia: Por ejemplo, herencia de la clase C a la clase D, es la facilidad mediante la cual


la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos
atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los
mismos métodos y variables públicas declaradas en C.

 Objeto: Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos


(datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente
reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o
con objetos internos del sistema (del programa).
Conceptos Fundamentales
De POO
Entre ellos destacan los siguientes:

 Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se


desencadena tras la recepción de un "mensaje".

 Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o
un mensaje enviado por un objeto)

 Atributos: Características que tiene la clase.

 Mensaje: Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus
métodos con ciertos parámetros asociados al evento que lo generó.
Conceptos Fundamentales
De POO
Entre ellos destacan los siguientes:
 Propiedad o atributo: Contenedor de un tipo de datos asociados a un objeto (o a una clase
de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus
características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún
método.

 Estado interno: Es una variable que se declara privada, que puede ser únicamente
accedida y alterada por un método del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos)

 Componentes de un objeto: Atributos, identidad, relaciones y métodos.

 Identificación de un objeto: Un objeto se representa por medio de una tabla o entidad que
esté compuesta por sus atributos y funciones correspondientes.
Característica de la POO
Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las
características siguientes son las más importantes:

 Abstracción: Denota las características esenciales de un objeto, donde se capturan sus


comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que
puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el
sistema.

 Encapsulamiento: Es reunir todos los elementos que pueden considerarse pertenecientes a una
misma entidad, al mismo nivel de abstracción.

 Polimorfismo: Comportamientos diferentes, asociados a objetos distintos, pueden compartir el


mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al
objeto que se esté usando.
Característica de la POO
Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las
características siguientes son las más importantes:
 Herencia: Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una
jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las
clases a las que pertenecen.

 Modularidad: Se denomina "modularidad" a la propiedad que permite subdividir una aplicación en


partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente
como sea posible de la aplicación en sí y de las restantes partes.

 Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo
de objeto expone una "interfaz" a otros objetos que específica cómo pueden interactuar con los
objetos de la clase.

 Recolección de basura: es la técnica por la cual el entorno de objetos se encarga de destruir


automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin
ninguna referencia a ellos.
Característica de la POO
Entre los lenguajes orientados a objetos se destacan los siguientes:
C++
EJEMPLO
C++
Tipos de datos:
C++ tiene los siguientes tipos fundamentales:

 Caracteres: char (también es un entero), wchar_t


 Enteros: short, int, long, long long
 Números en coma flotante: float, double, long double
 Booleanos: bool
 Vacío: void
C++
Tamaños asociados: Según la máquina y el compilador que se utilice los tipos primitivos
pueden ocupar un determinado tamaño en memoria. La siguiente lista ilustra el número de bits
que ocupan los distintos tipos primitivos en la arquitectura x86.
Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++ no
dice nada acerca de cuál es el número de bits en un byte, ni del tamaño de estos tipos; más
bien, ofrece solamente las siguientes "garantías de tipos":
 De acuerdo al estándar C99, un tipo char debe ocupar exactamente
un byte compuesto de un mínimo de 8 bits independientemente de la
arquitectura de la máquina.
 El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre
devuelve 1.
 Un tipo short tiene al menos el mismo tamaño que un tipo char.
 Un tipo long tiene al menos el doble tamaño en bytes que un tipo short.
 Un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive,
preferentemente el tamaño de un apuntador de memoria de la máquina.
Su valor máximo es 2147488281, usando 32 bits.
 Un tipo unsigned tiene el mismo tamaño que su versión signed.
C++
Wchar_t: Para la versión del estándar que se publicó en 1998, se decidió
añadir el tipo de dato wchar_t, que permite el uso de caracteres UNICODE, a
diferencia del tradicional char, que contempla simplemente al código de
caracteres ASCII extendido. A su vez, se ha definido para la mayoría de las
funciones y clases, tanto de C como de C++, una versión para trabajar con
wchar_t, donde usualmente se prefija el carácter w al nombre de la función
(en ocasiones el carácter es un infijo).

EJEMPLO:
C++
La palabra reservada "void" : Se define en C++ el concepto de no
existencia o no atribución de un tipo en una variable o declaración. Es decir,
una función declarada como void no devolverá ningún valor. Esta palabra
reservada también puede usarse para indicar que una función no recibe
parámetros, como en la siguiente declaración:
C++
La palabra "NULL": Además de los valores que pueden tomar los tipos
anteriormente mencionados, existe un valor llamado NULL, sea el caso
numérico para los enteros, carácter para el tipo char, cadena de texto
para el tipo string, etc. El valor NULL, expresa, por lo regular, la
representación de una Macro, asignada al valor "0".

EJEMPLO:
Concepto de clase de
C++
Constructores: Son unos métodos especiales que se ejecutan automáticamente al
crear un objeto de la clase. En su declaración no se especifica el tipo de dato que
devuelven, y poseen el mismo nombre que la clase a la que pertenecen. Al igual que
otros métodos, puede haber varios constructores sobrecargados, aunque no pueden
existir constructores virtuales.
EJEMPLO:
Concepto de clase de
C++
Concepto de clase de
C++
Existen varios tipos de constructores en C++:

 Constructor predeterminado.

 Constructor de copia.

 Constructor de conversión.
Concepto de clase de
C++
Destructores: Son funciones miembro especiales llamadas
automáticamente en la ejecución del programa, y por tanto no tienen por
qué ser llamadas explícitamente por el programador. Sus principales
cometidos son:

 Liberar los recursos computacionales que el objeto de dicha clase


haya adquirido en tiempo de ejecución al expirar este.

 Quitar los vínculos que pudiesen tener otros recursos u objetos con este.
Concepto de clase de
C++
Existen dos tipos de destructores pueden ser públicos o privados, según si
se declaran:

 Si es público se llama desde cualquier parte del programa para destruir el


objeto.
 Si es privado no se permite la destrucción del objeto por el usuario.

EJEMPLO:
Concepto de clase de
C++
En los concepto de clase C++ también están:

 Funciones miembro.
 Plantillas.
 Especialización.
 Clases abstractas.
 Espacios de nombres.
 Herencia.
 Herencia múltiple.
 Sobrecarga de operadores.
Biblioteca de entrada
y salida C++
Son las clases basic_ostream y basic_stream, y los objetos cout y cin, proporcionan la
entrada y salida estándar de datos (teclado/pantalla). También está disponible cerr, similar a
cout, usado para la salida estándar de errores. Estas clases tienen sobrecargados los
operadores << y >>, respectivamente, con el objeto de ser útiles en la inserción/extracción de
datos a dichos flujos. Son operadores inteligentes, ya que son capaces de adaptarse al tipo de
datos que reciben, aunque tendremos que definir el comportamiento de dicha entrada/salida
para clases/tipos de datos definidos por el usuario.

EJEMPLO:
Biblioteca de entrada
y salida C++
Tipo:

 Fstreams: Es un tipo de flujo para el manejo de ficheros.

 Sstreams: Se destacan dos clases, ostringstream e istringstream.

 ostringstream : Permite elaborar una cadena de texto insertando datos


cual flujo.
 Istringstream: Puede extraer la información contenida en una cadena
(pasada como parámetro en su constructor) con el operador
Biblioteca de entrada
y salida C++
Tipo:

 Contenedores: Son clases plantillas especiales utilizadas para almacenar


tipos de datos genéricos, sean cuales sean.

 Iteradores: Pueden considerarse como una generalización de la clase de


"puntero". Un iterador es un tipo de dato que permite el recorrido y la
búsqueda de elementos en los contenedores.

 Algoritmos: Combinando la utilización de templates y un estilo específico


para denotar tipos y variables.
Gracias

You might also like