Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
1
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
Programación orientada a objetos.
La orientación a objetos es una forma natural de pensar en relación con el mundo y de escribi programas para los computadores que establece un nuevo paradigma de la programació producto de la evolución natural de la misma. Su idea básica parte de que percibimos al mund que nos rodea como una variedad de objetos y la necesidad de tratar de representarlo como tal. Naturalmente otros paradigmas de programación lo antecedieron como fueron el imperativo funcional y el de programación lógica. “La visión orientada a objetos nos obliga a reconsiderar nuestras ideas acerca de la computación, de lo que significa ponerla en práctica y de cómo debería 1 estructurarse la información...“
Timothy Budd Introducción a la Programación Orientada a Objetos Obj etos
La clave de la POO es encontrar características comunes entre entidades implicadas en e problema y crear estructuras de datos que capturen esas características comunes. Una ve creadas estas estructuras habrá que definir sus características y modelar su comportamiento.
Tratemos de ilustrar en este punto algunas de las principales ideas de la programación orientad a objetos viendo cómo manejaríamos una situación del mundo real, y qué conceptos nos brind esta técnica para modelar esta situación en un computador. Conceptos Básicos: Clases, Objetos, Mensaje, Atributo, Método
Imaginemos una Terminal de trenes con un grupo de máquinas capaces de realizar un conjunto de acciones y lo que se quiere es presentar el algoritmo que debía seguir cualquier usuario par obtener un ticket a un destino específico utilizando una máquina expendedora de tickets, má específicamente la máquina que denominamos ticketLugania. Situación
En la Terminal de trenes de una ciudad X existe un conjunto de máquinastraga monedas que brindan un sinnúmero de servicios Sign (pesado, expendio up to vote on this de titlegaseosas, las dedicadas a la venta de cigarrillos, etc…) Dentro de este conjunto de máquinas están Useful Not useful tickets para los distintos destinos que tienen los trenes de la Terminal. Las mismas funcionan insertándoles monedas hasta tanto se cubra el monto para el que fueron de “construidas” en dependencia del destino, dando la posibilidad, mediante un botón, de
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
1
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
Acciones ticketLugania.Balance() ticketLugania.Precio() ticketLugania.Inserta(moneda) ticketLugania.Imprime()
Respuestas
Dinero Dinero Pagado -
Algoritmo Inicio
ticketLugania.Precio()
ticketLugania.Inserta(5 c)
Pagado
You're Reading a Preview ticketLugania.Imprime() Unlock full access with a free trial.
Fin
Download With Free Trial
Razonemos cuál fue el mecanismo que utilizó nuestro usuario para solucionar su problema. E primer lugar seleccionó un objeto apropiado (Máquina de tickets) para a través de un mensaj enviarle su solicitud de ejecución de una acción determinada (consultar el precio del ticket). Un vez aceptada esta solicitud es responsabilidad de la máquina dar respuesta a la misma y para lograrlo seguro empleó un método , es decir, un algoritmo o conjunto de operaciones. Desde s posición al usuario no le interesa conocer los detalles de Sign los pasos seguidos up to vote on this por title esta máquina para cumplir su pedido (encapsulamiento). No obstante si llevara y decidier Useful undestornillador Not useful husmear un poco en el interior de ella podría apreciar a lo mejor que para la ejecución de la acción una de las operaciones fue enviar un mensaje algo diferente a otro objeto presente en la máquina (pantalla) solicitando que ejecutara la acción de imprimir un mensaje (precio del ticket)
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
1
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
cabo la acción indicada. En respuesta a un mensaje, el receptor ejecutará algún métod 2 para satisfacer la petición .
Es bueno recordar la importancia de seleccionar un receptor adecuado para que pued interpretar correctamente nuestro mensaje. En el ejemplo anterior si hubiese seleccionado a un máquina expendedora de refrescos para que me imprimiera un ticket estaría cometiendo error pues puede ser que la misma no tenga un método para resolver el problema. Por lo que otra pieza elemental dentro de la POO son los receptores, a los cuales llamaremos Objetos. TÉRMINO
Objeto
Objeto. Entidad que tiene una estructura de datos interna bien definida, el cua tendrá la capacidad de realizar un conjunto de acciones que describen s comportamiento, como respuesta a un mensaje determinado.
= Datos + Acciones
Para el caso que estamos estudiando, el objeto con el cual interactuamos -máquin ticketLugania- cuenta con un conjunto de acciones que es capaz de realizar, pero ¿Cuále serían los datos que según el concepto tiene nuestro objeto?
Si volvemos a la situación nos daremos cuenta de que hay información que la máquina deb “memorizar” para lograr un correcto funcionamiento. En primer lugar tenemos el precio de ticket sin el cual no se podría poner en funcionamiento nuestra máquina. Y en segundo lugar, n You're Preview por ello menos importante, el balance y laReading cantidadatotal recaudada por la máquina que aunqu no impiden su funcionamiento son opciones de información con que cuenta. Unlock full access with a free trial.
With Free Trial PrecioDownload 0.20 Balance 0.00 Total 30.00
Lugania
Sign up to vote on this title
Useful
Not useful
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
1
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
Pero no solo la máquina de ticket con destino “Lugania” tiene la capacidad de realizar esta acciones y “memorizar” esta información. Cualquier otra máquina de ticket de nuestra Termina tiene esa capacidad sin importar su destino, por lo que no parece descabellado decir que toda ellas pertenecen a una misma “clase” de objetos, la clase Máquina de tickets.
precio 0.20 balance 0.00 total 30.00 Lugania
precio 1.00 balance 0.50 total 100.00
precio 0.10 balance 0.00 total 50.00
Baltica
Atlanti
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
1
Download
Magazines
News
Documents
Sheet Music
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
Precisamente este es uno de los principios más importantes dentro de la Programació Orientada a Objetos:
Todos los objetos pertenecen a una clase en específico , pero ¿Qué son las clases?
Lo más importante es la consideración de que los objetos pueden ser agrupados según su características. Esta idea viene de la vida cotidiana. En la práctica los seres humanos pensamos de esta manera: el mundo que nos rodea está formado por objetos relacionados entre sí según determinados criterios. A estas agrupaciones de objetos se les denomina clases.
TÉRMINO
Clase =
Clase. Descripción de objetos con características comunes, tienen un conjunt de atributos para definir los datos que serán guardados por el objeto y u conjunto de métodos que precisan las acciones que este puede realizar.
Atributos + Métodos
Pero no veamos las clases como una mera forma de agrupar aquellos objetos que tiene características comunes, sino como el recurso que brinda la POO para crear objetos o instancia con características comunes. Es decir que para nuestro caso de estudio necesariamente debe existir una clase máquina de ticket -que describa los atributos de cada objeto y sus métodos- a You're Reading a Preview partir de la cual se puedan crear todas las instancias necesarias para ser utilizadas en l Terminal. Unlock full access with a free trial.
Esto garantiza que tanto la máquina ticketLugania como ticketBaltica al ser instancias de la clas máquina de ticket tengan como atributos su precio, y total recaudado. Además garantiz Download Withbalance Free Trial que ambas respondan de manera adecuada ante un mismo mensaje. Instancia ticketLugania ticketBaltica
Mensaje ticketLugania.Precio() ticketBaltica.Precio()
Respuesta 0.20 1.00 Sign up to vote on this title
Useful Not useful Todos los objetos de una clase tienen la misma funcionalidad, o sea, responden de l misma manera ante los mismos mensajes.
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
1
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
De la definición anterior podemos deducir que un objeto solamente puede responde adecuadamente a un mensaje si en la clase a la que pertenece está presente el métod adecuado para darle respuesta, y a su vez este solamente se ejecuta si una instancia de la clas lo solicita a través de un mensaje. Ejemplo: ticketLugania.Precio()
Antes de pasar al siguiente punto podemos resumir que un programa OO es una secuencia d mensajes entre objetos para la solución de un problema donde uno de ellos puede ser un client (que solicita una acción) y otro un servidor (que brinda el resultado), en dependencia de cómo estén definidos sus comportamientos en las clases a las que pertenecen.
Mensaje
Objetos
Notación UML para describir clases y objetos.
Reading a Preview De forma general representaremosYou're las clases de la siguiente forma: Unlock full access with a free trial.
Nombre de la clase
Atributos With Free Trial Download ...
Métodos ... y a los objetos como:
Sign up to vote on this title
Nombre del objeto : Clase Atributo = valor
Useful
Not useful
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
1
Download
Magazines
News
Documents
Sheet Music
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
Los nombres de los métodos seguirán la misma regla que los nombres de clases si anteponerles la C al principio.
Utilicemos entonces la notación UML para representar la clase y los objetos del caso de estudio. CLASE
OBJETO
OBJETO
CMaquinaTicket
ticketLugania: CMaquinaTicket
ticketBaltica: CMaquinaTicket
precio balance total
precio = 0.20 balance = 0.00 total = 30.00
precio = 1.00 balance = 0.50 total = 100.00
Precio() Balance() Imprime() Inserta(moneda)
You're Reading a Preview
Como pueden apreciar la principalUnlock diferencia entre objetos full access withdos a free trial. de una misma clase está en l información que almacenan sus atributos, puesto que ambos tienen la capacidad de responde al mismo conjunto de mensajes al estar esta determinada por los métodos de la clase a la qu pertenecen. No obstante el hecho de que dos objetos de una Download With Free Trialmisma clase en un momento dado tengan los mismos valores en sus atributos, no quiere decir que estos dos objetos sean e mismo, puesto que independientemente de ello cada uno tiene su identidad única. Est fenómeno es muy común en la vida real por ejemplo: Puede darse el caso que existan do máquinas de tickets de un mismo destino que en un momento determinado tengan igual balanc y total recaudado, lo cual no quiere decir que sean la misma máquina.
Sign up to voteconsidera on this titleotros aspecto La orientación a objetos no es solo clases, objetos y mensajes, también como la abstracción, la herencia, el polimorfismo y el encapsulamiento, Useful Not useful
Abstracción. Descripción de las especificaciones de un sistema haciend
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
1
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
Presentemos a continuación la manera correcta de definir las clases en C++. Para ell utilizaremos la sintaxis siguiente:
class { // Cuerpo de la clase };
Atributos Métodos
Aclaremos algunos detalles en la siguiente declaración que serán válidos para las posteriore sintaxis de instrucciones que veremos más adelante y que seguiremos ampliando según hag falta. 1. < > Encerraremos entre ellas aquella parte de la sintaxis cuya escritura es obligatoria. 2. // Son las llamadas líneas de comentario. Son utilizadas para ayudar al lector a la comprensión de un código. 3. [ ] Lo utilizamos para precisar la parte de la instrucción que es opcional Ejemplo:
class CMaquinaTicket { // Cuerpo de la clase };
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Como se indicó, en el cuerpo de la clase se definen los atributos y los métodos encargados d proporcionar las características particulares y el comportamiento de los objetos. Estudiémosl por partes para una mejor comprensión. Atributos.
class CMaquinaTicket { float precio; float balance;
Sign up to vote on this title
Useful
Not useful
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Sign In
Upload
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
1
Download
Magazines
News
Documents
Sheet Music
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
TÉRMINO
Variables. Son zonas de memoria que pueden cambiar de valor durante l ejecución del programa por medio de una asignación y que se acceden mediant identificadores. En nuestro caso los atributos son igualmente variables lo que la nombramos de esta manera por encontrarse estas dentro de una clase.
Analicemos por partes la sintaxis general de una declaración de variables o
Tipos de Datos
Los tipos de datos determinan la naturaleza del conjunto de valores que puede tomar un variable y las operaciones que se pueden realizar con ellas. Las variables en C++ pueden declararse prácticamente en cualquier parte del programa, aunque se aconseja hacerla al inici de cada bloque de instrucciones.
C++ ofrece un conjunto de tipos de datos básicos que pueden cambiar su rango utilizando lo modificadores: unsigned (sin signo), signed (con signo), long, short. Tipo de dato int, long float double char short int long double 3 string
Valores que Rango almacena enteros -2,147,483,648 <= X <= 2,147,483,647 reales 1.18 10^-38 < |X| < 3.40 10^38 You're Reading a Preview reales 2.23 10^-308 < |X| < 1.79 10^308 caracteres -128 <= X <= 127 Unlock full access with a free trial. enteros -32,768 <= X <= 32,767 reales 3.37 10^-4932 < |X| < 1.18 10^4932 cadenaDownload With Free Trial --
El modificador signed y unsigned se utilizan en los tipos de datos numéricos para especificar s tienen signo o no. Un dato de tipo numérico unsigned duplica su rango ejemplo: Tipo short int
unsigned 0 <= X <= 65,534
Por defecto un tipo de dato entero es signed o
Identificador
signed -32,768 <= X <= 32,767 Sign up to vote on this title
Useful
Not useful
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
108 views
0
Upload
Sign In
Join
RELATED TITLES
0
file1 Uploaded by nerolee9
Top Charts
Books
Audiobooks
Save
Embed
Share
Print
1
Download
Magazines
News
Documents
Sheet Music
AuditoríaSeguridadFísicaLógicaSistemas Perilla Vargas_Pedro01 ADOO Joaquin_Introducción Conceptos
of 10
Search document
Facultad de Ingeniería Conceptos de PO MsC. Juniel Almeid
- El primer caracter de un identificador debe ser siempre una letra o un (_), es decir, no puede se un dígito. - Se hace distinción entre letras mayúsculas y minúsculas. Así, Masa es considerado como u identificador distinto de masa y de MASA. - La longitud puede ser hasta de 31 caracteres.
Existen palabras que tienen un significado predefinido en el lenguaje, son las llamadas palabra reservadas y no pueden ser utilizadas como identificadores. Ejemplo: class, private, public, void int, float, char, bool, long, short, unsigned, signed, break, continues, if, else, for, while, do, const return.
Los identificadores deben no solo ser válidos sino que deben autodocumentar su programa, e decir, tener nombres que permitan conocer a simple vista qué representan, utilizando para ell tantos caracteres como sean necesarios. Esto simplifica enormemente la tarea de programación y –sobre todo – de corrección y mantenimiento de los programas. Es cierto que los nombre largos son más laboriosos de teclear, pero en general resulta rentable tomarse esa pequeña molestia. Ejemplos de identificadores válidos: Identificadores no válidos: SumaTotal Suma Total Max 1_variable max VariableNoVálida valor1 x+y You're Reading a Preview valor_1 cantidad_en_$ Esta_es_una_variable %total Unlock full access withint a free trial. _identificador [, identificador, …]
Download With Free Trial
Esta parte de la declaración indica que se pueden declarar otras variables del mismo tipo separando los identificadores de ellas por comas. Ejemplo de declaraciones correctas de variables Declaración
Objetivo devote la Declaración Sign up to on this title
char sexo
Guardar en la variable sexo la letra „F‟ o Useful Not useful „M‟
int edad, noCI
Guardar un valor entero probablemente no superior a 150 para el caso de la
Home
Saved
Top Charts
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join