Logo Studenta

2.-MN-2023-03-Programacion-Orientada-a-Objetos-I-4689

¡Este material tiene más páginas!

Vista previa del material en texto

PROGRAMACION ORIENTADA A OBJETOS I 1 
 
 
 
 
 
 
 
 
 
 
PROGRAMACIÓN 
ORIENTADA A 
OBJETOS I 
 
 
 
 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 2 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Curso Programación Orientada a Objetos I 
(4689) 
Formato Manual de curso 
Autor Institucional Cibertec 
Páginas 275 p. 
Elaborador López Aragón, Damaso 
Revisor de Contenidos 
PROGRAMACION ORIENTADA A OBJETOS I 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
Índice 
 
Presentación 5 
Red de contenidos 6 
 
UNIDAD DE APRENDIZAJE 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A 
OBJETOS I 
 
1.1 Tema 1 : Introducción a la programación Web: ASP.NET 8 
1.1.1 : Introducción a la programación web 8 
1.1.2 : Plataforma y arquitectura de .NET 8 
1.1.3 : ASP.NET, concepto 10 
1.1.4 : Plataforma de desarrollo web en ASP.NET 11 
 
1.2 Tema 2 : Conceptos básicos de programación orientada a objetos 14 
1.2.1 : Manejo de una clase: definición, atributos, propiedades, métodos 
y eventos 
15 
1.2.2 : Definición de un constructor 16 
1.2.3 : Definición de sobrecarga de un método 16 
1.2.4 : Manejo de un objeto: instancia de una clase 16 
1.2.5 : Clase parcial 16 
 
1.3 Tema 3 : Herencia y polimorfismo 44 
1.3.1 : Concepto de herencia, implementando una clase heredada 44 
1.3.2 : Concepto de polimorfismo, implementando una clase heredada, 
aplicando polimorfismo 
44 
1.3.3 : Herencia múltiple: interfaces 46 
 
1.4 Tema 4 : Excepciones y errores 82 
1.4.1 : Definición de excepciones 82 
1.4.2 : Control de excepciones 83 
 
UNIDAD DE APRENDIZAJE 2: MANEJO DE COLECCIONES 
 
2.1 Tema 5 : Manejo de colecciones 96 
2.1.1 : Manejo de la colección genérica. 97 
2.1.1.1 : Estructura y sintaxis 97 
2.1.2 : Manejo de la colección List<Of> 97 
2.1.2.1 : Definición de List<Of> 97 
2.1.2.2 : Métodos de la colección: Uso de Add, Find, Remove, Exists, 
Where, Select, First, FirstOrDefault. 
98 
 
UNIDAD DE APRENDIZAJE 3: PROCESOS ASÍNCRONOS 
 
3.1 Tema 6 : Procesos Asíncronos 128 
3.1.1 : Definición y Ventajas 128 
3.1.2 : Manejo de Task, propiedades y métodos 129 
3.1.3 : Manejo de Async/Await 130 
 
PROGRAMACION ORIENTADA A OBJETOS I 4 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
UNIDAD DE APRENDIZAJE 4: SERIALIZACION Y ADMINISTRACIÓN DE DATOS 
 
4.1 Tema 7 : Serialización de datos 152 
4.1.1 : Serialización JSON 152 
4.1.1.1 : Definición de JSON y estructura 152 
4.1.1.2 : Ventajas de trabajar con JSON 153 
4.1.1.3 : Trabajando con la librería Json.NET para serializar y deserializar 
datos 
154 
 
4.2 Tema 8 : Manejo de archivos 174 
4.2.1 : Uso de la clase System.IO 174 
4.2.2 : Trabajando con la librería Aspose.Total para convertir archivos a 
otro formato como xlma 
176 
 
UNIDAD DE APRENDIZAJE 5: OPERACIONES CONECTADAS A UN ORIGEN DE DATOS 
 
5.1 Tema 9 : Introducción a ADO.NET 197 
5.1.1 : Arquitectura del ADO.NET 197 
5.1.2 : Proveedores de datos en ADO.NET 199 
5.1.3 : Administrando una cadena de conexión a un origen de datos: 
ConfigurationManager 
201 
 
5.2 Tema 10 : Recuperación de datos 216 
5.2.1 : Consultando datos sobre un origen de datos 216 
5.2.2 : Manejo de la clase DataReader 217 
5.2.3 : Realizando consultas ejecutando un procedimiento almacenado 218 
5.2.4 : Uso de la colección Parameters 218 
5.2.5 : Realizando consultas parametrizadas ejecutando procedimientos 
almacenados 
219 
 
5.3 Tema 11 : Manipulación de datos 237 
5.3.1 : Operaciones CRUD sobre un origen de datos 237 
5.3.2 : Manejo de la clase Command 237 
5.3.3 : Ejecutando operaciones de actualización de datos con 
procedimientos almacenados y manejo de parámetros 
238 
5.3.4 : Manejo de la clase Transaction 239 
 
5.4 Tema 12 : Manejo de datos Desconectados 258 
5.4.1 : Operaciones desconectadas a un origen de datos 258 
5.4.2 : Manejo de la clase DataAdapter, DataSet y DataView 258 
5.4.3 : Actualizando los datos desconectados a la Nota de datos: 
CommandBuilder 
262 
Bibliografía 275 
 
 
 
 
 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Presentación 
Visual Studio y su plataforma .NET FrameWork es una plataforma de desarrollo para compilar 
aplicaciones para Windows, Windows Phone, Windows Server y Azure. Está formado por el 
Common Language Runtime y la biblioteca de clases .NET framework que incluye clases, 
interfaces y tipos de valor que son compatibles con una amplia gama de tecnologías .NET 
framework proporciona un entorno de ejecución administrado, un desarrollo e implementación 
simplificados y la integración con una variedad de lenguajes de programación, que incluye Visual 
Basic y Visual C#. 
 
Programación Orientada a Objetos I pertenece a la línea de tecnología y se dicta en las carreras 
de tecnología de la institución. El curso brinda un conjunto de herramientas de programación 
para trabajar con las librerías de .NET FrameWork que permite al alumno realizar operaciones 
para el manejo de datos, configuración Web, seguridad y ensamblados. 
 
El manual para este curso ha sido diseñado bajo la modalidad de unidades de aprendizaje, las 
que desarrollamos durante semanas determinadas. En cada una de ellas, hallará los logros que 
se deberá alcanzar al final de la unidad; el tema tratado, el cual será ampliamente desarrollado; 
y los contenidos que debe desarrollar. Por último, encontrará las actividades y trabajos prácticos 
que deberá desarrollar en cada sesión que le permitirán reforzar lo aprendido en la clase. 
 
El curso es eminentemente práctico: consiste en programación orientada a objetos en Visual C#. 
La primera parte de este manual nos enseña a familiarizarnos con la programación orientada a 
objetos en .NET, almacenando los objetos en colecciones para realizar las consultas y 
actualizaciones de éstos, mediante ejemplos didácticos. Aprenderemos a desarrollar procesos 
asíncronos y realizar operaciones de lectura y escritura sobre los archivos. A continuación, 
desarrollamos aplicaciones con acceso a datos para realizar operaciones de recuperación y 
actualización de datos conectados y desconectados. 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 6 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
 
Red de contenidos 
 
 
 
 
 
 
 
 
 
Programación 
Orientada a 
Objetos I
Unidad 1
Introducción 
a la 
programación 
orientada a 
objetos
Unidad 2
Manejo de 
colecciones
Unidad 3
Procesos 
Asíncronos
Unidad 4
Serielización 
y 
administració
n de datos
Unidad 5
Operaciones 
conectadas a 
un origen de 
datos
PROGRAMACION ORIENTADA A OBJETOS I 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
 
INTRODUCCIÓN A LA PROGRAMACION 
ORIENTADA A OBJETOS 
 
LOGRO DE LA UNIDAD DE APRENDIZAJE 
Al finalizar la unidad, el alumno crea aplicaciones definiendo propiedades y métodos 
dentro de clases definidas, las cuales se implementan y ejecutan en la aplicación. 
 
TEMARIO 
1.1 Tema 1 : Introducción a la programación web: ASP.NET 
1.1.1 
1.1.2 
1.1.3 
1.1.4 
: 
: 
: 
: 
Introducción a la programación web 
Plataforma y arquitectura de .NET 
ASP.NET, concepto. 
Plataforma de desarrollo web en ASP.NET 
1.2 Tema 2 : Conceptos básicos de programación orientada a objetos 
1.2.1 
1.2.2 
1.2.3 
1.2.4 
1.2.5 
: 
: 
: 
: 
: 
Manejo de una clase, propiedades, métodos y eventos 
Definición de un constructor 
Definición de sobrecarga de un método. 
Manejo de un objeto: instancia de una clase 
Clase Parcial 
1.3 Tema 3 : Herencia y polimorfismo 
1.3.1 
1.3.2 
1.3.3 
 
: 
: 
: 
Concepto de herencia, implementando una clase heredada 
Herencia múltiple: interfaces 
Concepto de polimorfismo, implementando una clase heredada, 
aplicando polimorfismo1.4 Tema 4 : Excepciones y errores 
1.4.1 
1.4.2 
: 
: 
Definición de excepciones 
Control de excepciones 
 
ACTIVIDADES PROPUESTAS 
 
 Los alumnos desarrollan los laboratorios de esta semana. 
 Los alumnos desarrollan aplicaciones con los controles básicos. 
 Los alumnos desarrollan aplicaciones utilizando la metodología orientada a 
objetos: clases y objetos. 
 
 UNIDAD 
1 
PROGRAMACION ORIENTADA A OBJETOS I 8 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
1.1. INTRODUCCIÓN A LA PROGRAMACION WEB: ASP.NET 
 
1.1.1. Introducción a la programación web 
 
En toda conexión web existen dos partes bien separadas: cliente y servidor. El cliente suele ser 
la máquina del usuario que utiliza un navegador de páginas web y el servidor, quien recibe la 
petición de la página web, es donde reside el código de las diferentes páginas y la base de datos 
y es donde en principio, se realiza el procesamiento. 
 
Figura 1: Entorno Web 
 
 
Nota – Adaptado de Pérez,I, s.f. https://perezmartin.es/tema-1-introduccion-a-la-programacion-web/ 
 
En un entorno web, un escenario posible podría ser el siguiente: 
 
a. Cliente: Navegador Google que realiza una conexión a http://www.misitio.com. En esta 
parte el cliente realiza una serie de procesamientos como validación de formularios, 
presentación de información como el calendario: la fecha, hora, etc. 
b. Servidor: Servidor web que sirve a la página web escrita en un lenguaje de programación 
de servidor y cuya base de datos reside en el mismo servidor. 
 
1.1.2 Plataforma y arquitectura de .NET 
 
.NET es una plataforma de aplicaciones que permite la creación y ejecución de servicios web y 
aplicaciones de Internet. En la plataforma de desarrollo se pueden utilizar una serie de 
lenguajes, implementaciones, herramientas y bibliotecas para el desarrollo de las aplicaciones. 
 
Microsoft .NET es una colección de diferentes plataformas de software. El framework original 
fue desarrollado como una competencia directa a la plataforma Java. Así pues, los entornos de 
aplicación pueden ser desarrollados y ejecutados en base a .NET. 
 
Características de .NET 
 Es una plataforma de ejecución intermedia. 
 100% orientada a objetos. 
 Multilenguaje. 
 Plataforma empresarial de misión crítica. 
 Es un modelo de programación único para todo tipo de aplicaciones. 
 Se integra fácilmente con aplicaciones desarrolladas en plataformas Microsoft y con 
otras plataformas. 
 
http://www.misitio.com/
PROGRAMACION ORIENTADA A OBJETOS I 9 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
La plataforma .NET es un conjunto de bibliotecas de desarrollo que pueden ser utilizadas con el 
objetivo principal de acelerar el desarrollo de software y obtener de manera automática 
características avanzadas de seguridad, rendimiento, etc. 
 
En realidad, .NET es mucho más que eso, ya que ofrece un entorno gestionado de ejecución de 
aplicaciones, lenguajes de programación y compiladores, y permite el desarrollo de todo tipo de 
funcionalidades: desde programas de consola o servicios Windows, hasta aplicaciones para 
dispositivos móviles pasando por desarrollos de escritorio o para Internet. 
 
Figura 2: Plataforma .NET 
 
Nota. – Adaptado de Qué es la plataforma .NET y cuáles son sus principales partes, por Campus Net, 2017. 
https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx 
 
1. La CLR o Common Language Runtime, es la encargada de ejecutar las aplicaciones 
desarrolladas en una plataforma: Windows, Web, Web Services, etc. Trabaja encima del sistema 
operativo para aislar a la plataforma de este. La CLR garantiza la seguridad de los tipos de datos 
avalando que no se produzcan errores en la conversión de tipos en la ejecución de una aplicación 
.NET. 
 
2. La CLS o Common Language Specification, al contrario que otros entornos, la plataforma .NET 
no está atada a un determinado lenguaje de programación. La especificación de la CLS está 
formada por un conjunto de reglas que deben ser seguidas por las definiciones de tipos de datos: 
definición de nomenclatura, definición de los miembros de los objetos, los metadatos, etc. 
 
3. La BCL o Base Class Library, está formada por bibliotecas o API especializadas que pueden ser 
utilizadas por todos los lenguajes de programación de la plataforma .NET. 
 
 
 
 
 
https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx
PROGRAMACION ORIENTADA A OBJETOS I 10 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Figura 3: Plataforma .NET, BCL 
 
 
Nota. – Adaptado de Qué es la plataforma .NET y cuáles son sus principales partes, por Campus Net, 2017. 
https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx 
 
En este diagrama tan simple solo vemos una parte mínima de la BCL. En un esquema un poco 
más amplio, podemos ver cómo sobre la BCL se han ido añadiendo nuevos grupos de 
funcionalidades en las diferentes versiones de .NET: 
 
Figura 4: Plataforma .NET, BCL 
 
 
Nota. – Adaptado de Qué es la plataforma .NET y cuáles son sus principales partes, por Campus Net, 2017. 
https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx 
 
Toda la funcionalidad que ofrece la plataforma .NET de serie sin necesidad de instalar nada de 
terceras partes es lo que se conoce como BCL. La BCL es el corazón funcional de .NET. Es lo que 
facilita enormemente el desarrollo, puesto que ofrece miles de funcionalidades listas para ser 
utilizadas. 
 
1.1.3 ASP.NET, concepto 
 
ASP.NET es un framework de desarrollo web del lado del servidor creado por Microsoft y 
altamente desarrollado. ASP.NET se utiliza para crear páginas web dinámicas, aplicaciones web 
https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx
https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx
PROGRAMACION ORIENTADA A OBJETOS I 1 1 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
y servicios basados en web. Después de décadas de desarrollo, el framework sigue existiendo 
bajo el nombre de ASP.NET Core. 
ASP.NET incluye formularios Web Forms como característica decisiva. El enfoque de Web Forms 
permitía a los desarrolladores experimentados de Windows programar páginas web dinámicas. 
Los mecanismos subyacentes a la web permanecían ocultos a los desarrolladores, que podían 
seguir recurriendo a los flujos de trabajo y entornos de desarrollo que les eran familiares. Sin 
embargo, al mismo tiempo, el enfoque limitaba el grado de control sobre las páginas HTML 
entregadas. Poco tiempo después, con ASP.NET MVC, se introdujo un modelo de desarrollo 
alternativo. Este seguía el patrón establecido de modelo-vista-controlador (MVC) y permitía 
implementar de manera más limpia el principio de la separación de intereses. 
 
ASP.NET Core: nuevo desarrollo basado en código abierto 
 
Con el lanzamiento de ASP.NET Core, la organización del framework cambió por completo. A 
medida que Microsoft continuaba con su tendencia hacia el código abierto, el desarrollo de 
ASP.NET Core se puso bajo los auspicios de la .NET Foundation. El código Nota del proyecto está 
disponible bajo una licencia de código abierto. 
 
A nivel técnico, ASP.NET Core es una versión rediseñada de ASP.NET 4.0, que aúna los 
componentes de ASP.NET que han ido surgiendo orgánicamente. El framework hace posible el 
desarrollo de proyectos con ASP.NET Core y el hosting fuera del ecosistema de Windows. En 
Windows, ASP.NET Core se basa en el framework .NET, mientras que en otros sistemas 
operativos, se utiliza el framework .NET Core. 
 
De acuerdo con los avances en la tecnología web,ASP.NET Core es compatible con el uso en la 
nube. Además del tradicional Internet Information Server (IIS) de Microsoft, como entorno de 
alojamiento de ASP.NET se utilizan contenedores y entornos de servidor abiertos. El framework 
admite código del lado del cliente y enfoques modernos para la programación reactiva. Esto 
significa que ASP.NET Core es comparable a framework basados en JavaScript como React. 
 
1.1.4 Plataforma de desarrollo web en ASP.NET 
 
“Aunque son muy parecidas, comparten lenguajes, clases y funcionalidad, se trata de dos 
tecnologías totalmente diferentes. De hecho, podríamos hablar en realidad de tres tecnologías 
de desarrollo de Microsoft, si incluimos a Xamarin, que también está basado en .NET, pero tiene 
su propia implementación multiplataforma basada en Mono”. (Alarcón, 2017) 
 
Figura 5: Plataformas de ASP.NET 
 
 
Nota. - Adaptado de Plataforma .NET, Plataforma .NET Core y Xamarin: el panorama de las tecnologías de desarrollo Microsoft en 
2018, por Alarcón, J., 2017, Campus MVP. https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-
xamarin-el-panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page 
https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-xamarin-el-panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page
https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-xamarin-el-panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page
PROGRAMACION ORIENTADA A OBJETOS I 12 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
1. La Plataforma .NET 4.x 
 
También conocida como .NET "full framework" o .NET "tradicional". 
 
Se trata de la plataforma .NET "de toda la vida", aparecida oficialmente en 2001. 
Monolítica (se instala todo su núcleo o no se instala nada), pero tremendamente 
capaz, ya que con ella es posible crear aplicaciones de cualquier tipo: de consola, 
de escritorio, para la web, móviles. Eso sí, se trata de aplicaciones que se 
ejecutarán solamente sobre Windows. Con ella es posible utilizar también 
infinidad de lenguajes de programación: C#, Visual Basic .NET, F#, C++, Python. 
(Alarcón, 2017) 
 
2. La plataforma .NET Core 
 
Se trata de una tecnología estable y dotada de funcionalidad, que nos permitirá 
crear aplicaciones de gran capacidad y multiplataforma. Es decir, es posible crear 
una aplicación web con .NET Core que se ejecute bajo un servidor NGinx en Linux, 
aprovechando las ventajas que nos da esa plataforma, y acto seguido ponerla a 
andar en paralelo en un sistema con Windows Server e IIS en Windows, con una 
ganancia de rendimiento importante frente a una aplicación creada con ASP.NET 
MVC 5. 
 
Es una nueva plataforma, escrita desde cero con varios objetivos en 
mente, siendo los principales: 
 Más ligera y "componentizable": de modo que con la aplicación se distribuya 
exclusivamente lo que necesitemos, no la plataforma completa. 
 Multiplataforma: las aplicaciones que desarrollemos funcionarán en 
Windows, Linux y Mac. 
PROGRAMACION ORIENTADA A OBJETOS I 1 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 Alto rendimiento: no es que .NET tradicional no tuviese rendimiento, pero es 
que .NET Core está pensada desde el principio con esto en mente. .NET Core 
tiene un desempeño más alto que la versión tradicional, lo cual es muy 
importante para entornos Cloud, en donde esto se traduce en mucho dinero 
al cabo del tiempo. 
 Pensada para la nube: .NET Core nace en la era Cloud, por lo que está 
pensada desde el principio para encajar en entornos de plataforma como 
servicio y crear aplicaciones eficientes para su funcionamiento en la nube. 
 
Con .NET Core, hoy por hoy, solo podemos crear aplicaciones de consola, 
aplicaciones Web (con ASP.NET Core y ASP.NET Core MVC), y aplicaciones 
universales de Windows para Windows 10 o posterior. En cuanto a los lenguajes 
disponibles, podremos utilizar C#, F# y Visual Basic .NET. (Alarcón, 2017) 
 
3. Xamarin 
 
Xamarin nació hace muchos años como un proyecto Open Source llamado Mono, 
que trataba de llevar .NET a todas las plataformas en los tiempos en los que 
Microsoft se negaba a sacar .NET de Windows. Posteriormente su creador el 
mexicano Miguel De Icaza (creador de GNome, escritorio para Linux) desarrolló 
lo que hoy en día se conoce como Xamarin, construyendo sobre Mono toda la 
tecnología para la creación de aplicaciones nativas para móviles en todas las 
plataformas (iOS, Android y Windows Mobile). 
 
En la actualidad Xamarin se puede usar para crear aplicaciones en 
muchas otras plataformas incluyendo Mac, aplicaciones de escritorio para Linux, 
y también Windows (mediante UWP), Apple Watch, Android Wear, Apple TV, etc. 
(Alarcón, 2017) 
PROGRAMACION ORIENTADA A OBJETOS I 14 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Resumen 
 
1. En toda conexión web existen dos partes bien separadas: cliente y servidor. El cliente suele 
ser la máquina del usuario que utiliza un navegador de páginas web y el servidor quien 
recibe la petición de la página web, es donde se realiza el procesamiento. 
2. .NET es una plataforma de aplicaciones que permite la creación y ejecución de servicios 
web y aplicaciones de Internet. En la plataforma de desarrollo se pueden utilizar una serie 
de lenguajes, implementaciones, herramientas y bibliotecas para el desarrollo de las 
aplicaciones. 
3. La plataforma .NET está compuesta de: 
a. CLR o Common Language Runtime, se encarga de ejecutar las aplicaciones desarrolladas 
en la plataforma Windows, Web, Web Services, etc. 
b. CLS o Common Language Specification, está formada por un conjunto de reglas para las 
definiciones de los tipos de datos, de nomenclatura, miembros de los objetos, 
metadatos, etc. 
c. BCL o Base Class Library, formada por las bibliotecas o APIs que pueden ser utilizadas 
por todos los lenguajes de programación de la plataforma .NET. 
4. ASP.NET es un framework de desarrollo web del lado del servidor creado por Microsoft y 
altamente desarrollado. ASP.NET se utiliza para crear páginas web dinámicas, aplicaciones 
web y servicios basados en web. Después de décadas de desarrollo, el framework sigue 
existiendo bajo el nombre de ASP.NET Core. 
5. Son tres las plataformas de desarrollo web en ASP.NET, cada una con tecnología totalmente 
diferente. 
a. La plataforma .NET 4.x, se trata de la plataforma .NET aparecida oficialmente en 2001, 
con ella puedes crear aplicaciones de cualquier tipo y utiliza infinidad de lenguaje de 
programación. 
b. La plataforma .NET Core es una tecnología estable y dotada de funcionalidad, que nos 
permitirá crear aplicaciones web con .NET Core que se ejecute bajo un servidor NGinx 
en Linux, aprovechando las ventajas que nos da esa plataforma, y acto seguido ponerla 
a andar en paralelo en un sistema con Windows Server e IIS en Windows, con una 
ganancia de rendimiento importante frente a una aplicación creada con ASP.NET MVC 
c. Xamarin, nació como un proyecto Open Source llamado Mono, que trataba de llevar 
.NET a todas las plataformas en los tiempos en los que Microsoft se negaba a sacar 
.NET de Windows. En la actualidad permite crear aplicaciones nativas para móviles en 
todas las plataformas (iOS, Android y Windows Mobile). 
Recursos 
Pueden revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad: 
 https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-xamarin-el-
panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page-----------------
---------- 
 https://perezmartin.es/tema-1-introduccion-a-la-programacion-web/ 
 https://www.cursosaula21.com/que-es-net/ 
 https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/que-es-aspnet/ 
 
https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-xamarin-el-panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page---------------------------https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-xamarin-el-panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page---------------------------
https://www.campusmvp.es/recursos/post/plataforma-net-plataforma-net-core-y-xamarin-el-panorama-de-las-tecnologias-de-desarrollo-microsoft-en-2018.aspx?source=post_page---------------------------
https://perezmartin.es/tema-1-introduccion-a-la-programacion-web/
https://www.cursosaula21.com/que-es-net/
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/que-es-aspnet/
PROGRAMACION ORIENTADA A OBJETOS I 1 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
1.2. CONCEPTOS BÁSICOS DE LA PROGRAMACION ORIENTADA A 
OBJETOS 
 
.NET framework está basado en clases (u objetos). Visual Studio .NET es una plataforma de 
desarrollo cuyo framework está desarrollado exclusivamente en clases. 
 
La programación orientada a objetos puede describirse como el conjunto de disciplinas que 
desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de 
componentes. 
 
El atractivo intuitivo de la orientación a objetos es que proporciona conceptos y herramientas 
con las cuales se modela y representa el mundo real tan fielmente como sea posible. Estos 
conceptos y herramientas orientados a objetos son tecnologías que permiten que los problemas 
del mundo real sean expresados de modo fácil y natural. 
 
Las técnicas orientadas a objetos proporcionan mejoras y metodologías para construir sistemas 
de software complejos a partir de unidades de software modularizado y reutilizable. Se necesita 
un nuevo enfoque para construir software en la actualidad. Este nuevo enfoque debe ser capaz 
de manipular tanto sistemas grandes como pequeños y debe crear sistemas fiables que sean 
flexibles, mantenibles y capaces de evolucionar para cumplir las necesidades del cambio. 
 
La programación orientada a objetos trata de cubrir las necesidades de los usuarios finales, así 
como las propias de los desarrolladores de productos software. Estas tareas se realizan 
mediante la modelización del mundo real. El soporte fundamental es el modelo objeto. 
 
Pilares en la Programación Orientada a Objetos 
 
Todos los lenguajes basados en objetos deben cumplir estos tres requisitos: 
• Herencia 
• Encapsulación 
• Abstracción 
• Polimorfismo 
 
Herencia 
Esta es la característica más importante de la Programación Orientada a los Objetos. Según la 
propia documentación de Visual Studio .NET: 
 
"La herencia permite crear nuevas clases a partir de clases existentes. La herencia puede 
simplificar el diseño de la aplicación proporcionando una estructura de relaciones entre las 
distintas clases. También admite la reutilización de código porque sólo se debe codificar el 
comportamiento de clases nuevas o distintas.". 
 
Una relación de herencia es una relación en la que un tipo (el tipo derivado) se deriva de otro 
(el tipo base), de tal forma que el espacio de declaración del tipo derivado contiene 
implícitamente todos los miembros de tipo no constructor del tipo base. 
 
Encapsulación 
“La encapsulación es la capacidad de contener y controlar el acceso a un grupo de elementos 
asociados. Las clases proporcionan una de las formas más comunes de encapsular elementos”. 
 
PROGRAMACION ORIENTADA A OBJETOS I 16 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Cuando usamos las clases, éstas tienen una serie de características (los datos que manipula) así 
como una serie de comportamientos (las acciones a realizar con esos datos). La encapsulación 
es esa capacidad de la clase de ocultarnos sus interioridades para que sólo veamos lo que 
tenemos que ver, sin tener que preocuparnos de cómo está codificada para que haga lo que 
hace... simplemente nos debe importar que lo hace. 
 
Polimorfismo 
"El polimorfismo se refiere a la posibilidad de definir múltiples clases con funcionalidad 
diferente, pero con métodos o propiedades denominados de forma idéntica, que pueden 
utilizarse de manera intercambiable mediante código cliente en tiempo de ejecución." 
 
Dicho de otra manera, puede tener múltiples clases que se pueden utilizar de forma 
intercambiable, si bien cada clase implementa las mismas propiedades o los mismos métodos 
de maneras diferentes. 
 
El polimorfismo es importante en la programación orientada a objetos puesto que permite usar 
elementos que tienen el mismo nombre, independientemente del tipo de objeto que se esté 
utilizando en ese momento. 
 
1.2.1. Manejo de una clase, propiedades, métodos y eventos 
 
Una clase es simplemente una representación de un tipo de objeto. Una clase define las 
características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese 
objeto puede contener y los métodos que describen el comportamiento del objeto. Estas 
características determinan la manera en que otros objetos pueden acceder y trabajar con los 
datos que se incluyen en el objeto. 
 
Un objeto es una unidad de software que contiene una colección de métodos y datos 
relacionados. Un objeto es una instancia específica de una clase, e incluye las características de 
esa clase. 
 
Los atributos, que describen a la clase, están encapsulados por un conjunto de operaciones, 
métodos y eventos capaces de manipular el contenido de éstos. La única forma de operarlos es 
a través de alguno de los métodos de la clase. Por lo tanto, la clase encapsula datos y el proceso 
que manipula los datos. Esto posibilita la ocultación de información y reduce el impacto de 
efectos colaterales asociados a cambios. 
 
Atributos 
Los atributos están asociados a clases y objetos, y describen las características de la clase. Las 
entidades de la vida real están a menudo descritas con palabras que indican características 
estables. La mayoría de los objetos físicos tienen características tales como forma, peso, color y 
tipo de material. Las personas tienen características como fecha de nacimiento, padres, nombre 
y color de los ojos. 
 
Propiedades 
Las propiedades son métodos que permiten acceder o recuperar los valores de los atributos y 
se implementan mediante los procedimientos get y set. 
 
Métodos 
Un objeto encapsula datos (representados como una colección de atributos) y algoritmos que 
procesan estos datos. Estos algoritmos son llamados métodos y pueden ser vistos como 
módulos en un sentido convencional. Los métodos se definen como procedimientos o funciones. 
PROGRAMACION ORIENTADA A OBJETOS I 1 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
1.2.2. Definición de un constructor 
 
Un constructor es un método que permite inicializar los atributos de una clase. Este método se 
ejecuta al momento de instanciar la clase. 
 
Podemos sobrecargar constructores del mismo modo que se sobrecarga cualquier otro método 
de una clase. 
 
1.2.3. Definición de sobrecarga de un método 
 
Es posible definir dos o más métodos dentro de la misma clase que comparten el mismo nombre, 
siempre y cuando sus declaraciones de parámetro son diferentes. Cuando esto sucede, los 
métodos se dicen a sobrecargarse, y el proceso se conoce como la sobrecarga de métodos. 
 
Sobrecarga de métodos es una de las maneras de implementar el polimorfismo. 
 
Cuando se invoca un método sobrecargado, se utiliza el número de argumentos como su guía 
para determinar la versión del método sobrecargado realmente a ejecutar. Por lo tanto, los 
métodos sobrecargados deben ser diferentes en el tipo o el número de sus parámetros. Aunque 
los métodos sobrecargados pueden tener diferentes tipos de devolución, el tipo devuelto por sí 
sola no basta distinguir dos versiones de un método. 
 
1.2.4. Manejo de un objeto: Instancia de la clase 
 
Los objetos son entidades que tienen un determinado estado, identidad y comportamiento. Elestado o atributos es el valor que almacena un objeto y que cambia con el transcurso del tiempo. 
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, 
es su identificador. 
 
Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la 
propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder 
tratar los atributos con los que cuenta. 
 
1.2.5. Clase parcial 
 
Las clases parciales vienen a resolver una problemática que a nosotros los desarrolladores se 
nos presenta cuando trabajamos en un equipo y necesitamos “compartir una clase”. Permiten 
dividir el comportamiento global de una clase en diversos fragmentos. 
 
Estos fragmentos pueden luego combinarse de diversas formas, produciendo clases completas 
con comportamientos similares, pero ligeramente diferentes, en función de nuestras 
necesidades. La semejanza de este mecanismo con la programación orientada a características 
ha hecho que algunos autores hayan considerado las clases parciales de C# como un mecanismo 
apropiado para el desarrollo de líneas de productos de software. 
 
Sin embargo, un reciente estudio ha demostrado que las clases parciales de C# por sí solas no 
son suficientes para tal propósito, ya que presentan problemas a la hora de extender 
comportamientos preexistentes. 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 18 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
LABORATORIO 1.1 
 
Manejo de Clases y Objetos 
La empresa Tapicería “FAST” nos pide realizar un programa que permita registrar la venta de 
muebles que la empresa ofrece a los clientes. 
 
En este proceso debemos ingresar el número de la boleta, la fecha, el nombre del cliente, la 
descripción del mueble, y su precio. La empresa aplica el siguiente descuento: si el precio es 
mayor a 500 se aplica un descuento que representa al 10% del precio, sino el descuento es el 
2% del precio. El precio de venta neto es la diferencia del precio y su descuento. 
 
Se pide realizar las siguientes actividades: 
 Crear un proyecto ASP.NET en Visual C#. 
 Diseño de la clase, sus atributos, propiedades y métodos. 
 Diseñar una vista definiendo sus controles. 
 Programe el formulario instanciando la clase, ingrese sus datos y visualice los resultados. 
 
 
Inicio del Proyecto 
• Cargar la aplicación del el Menú INICIO. 
• Seleccione Microsoft Visual Studio 2022 el cual se visualiza el IDE. 
 
Figura 6: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Seleccionar la 
opción. 
PROGRAMACION ORIENTADA A OBJETOS I 1 9 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
En la Ventana Crear un proyecto, seleccione: 
 Lenguaje: C# 
 Plataforma: Windows 
 Tipo de Proyecto: Web 
 
Seleccionar la plantilla Aplicación web ASP.NET (.NET framework) 
 
Figura 7: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 Al configurar el nuevo proyecto, agregar el nombre del proyecto, su ubicación y el nombre 
de la solución, el cual, por defecto, será el nombre del proyecto. 
 Al finalizar presiona el botón CREAR. 
 
Figura 8: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Seleccionar plantilla 
Aplicación web 
ASP.NET (.NET 
framework) 
Nombre del Proyecto 
Definir una ubicación del 
proyecto. 
PROGRAMACION ORIENTADA A OBJETOS I 20 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
Para finalizar, selecciona la plantilla MVC, tal como se muestra. Hacer click en el botón CREAR. 
 
Figura 9: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
• Creado el proyecto visualizamos el IDE del proyecto ASP.NET MVC, tal como se visualiza. 
 
Figura 10: Desarrollo práctico 
 
 
Nota. – Elaboración propia 
 
Seleccionar la plantilla 
MVC. 
PROGRAMACION ORIENTADA A OBJETOS I 21 
 
Creando la clase 
Para agregar una clase al proyecto, desde el Explorador de Soluciones, hacer click derecho en la 
carpeta Models, selecciona la opción Agregar  Clase, tal como se muestra en la gráfica. 
 
Figura 11: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
En la ventana AGREGAR NUEVO ELEMENTO, seleccione el ítem Clase. Asignar un nombre a la 
clase: Venta, presione el botón AGREGAR. 
 
Figura 12: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Seleccionar el ítem Clase. 
Carpeta Models 
Ítem Seleccionado 
Asignar el nombre a la 
Clase: Venta. 
PROGRAMACION ORIENTADA A OBJETOS I 22 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
Creada la clase Venta, se define tal como se muestra. 
Figura 13: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Clase Venta: Definiendo sus atributos y propiedades 
Definida la clase, a continuación, definimos cada uno de sus atributos y propiedades. En C# define un 
atributo junto con sus propiedades get y set. Define el constructor de la clase donde inicializamos los 
atributos. 
Figura 14: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Clase Venta de alcance 
public 
Definir los atributos de la 
clase asignado las 
propiedades get y set. 
Definir el constructor, 
inicializando los 
atributos. 
PROGRAMACION ORIENTADA A OBJETOS I 2 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
A continuación, definir los métodos de retorno Descuento() y Neto(), tal como se muestra. 
Figura 15: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Trabajando con el controlador 
A continuación, agrega en la carpeta Controllers un nuevo controlador, tal como se muestra. 
Figura 16: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Definir los métodos de 
retorno Descuento y 
Neto. 
Carpeta Controllers 
Seleccionar Agregar  
Controlador. 
PROGRAMACION ORIENTADA A OBJETOS I 24 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Seleccionar controlador de MVC 5: en blanco. 
 
Figura 17: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Asignar el nombre del controlador: VentasController (conservar la expresión Controller), hacer 
click en el botón Agregar. 
 
Figura 18: Desarrollo práctico 
 
 
 
Nota. – Elaboración propia 
 
 
Seleccionar el 
Controlador MVC en 
blanco. 
PROGRAMACION ORIENTADA A OBJETOS I 2 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Programando el controlador 
Para referenciar a la clase Venta ubicada en la carpeta Models, primero importar la carpeta. 
Figura 19: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
En el controlador define dos ActionResult: 
1. El ActionResult ActionVenta (método GET) donde envía una instancia de la clase Venta. 
2. El HttpPost ActionResult ActionVenta (método POST), donde recibe los datos ingresados desde la 
vista, para ejecutar los métodos Descuento() y Neto() almacenando en ViewBag (propiedad 
dinámica), enviando el resultado a la vista. 
 
Figura 20: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Importar la carpeta Models, 
para referenciar sus clases. 
Método Get del Action, 
envía una instancia de 
Venta() a la Vista. 
Método Post del Action, 
recibe los datos de Venta y 
almacena los resultado en 
ViewBag. 
PROGRAMACION ORIENTADA A OBJETOS I 26 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTECTrabajando con la Vista del ActionResult 
Para diseñar la Vista del ActionResult llamado ActionVenta, seleccionar el Action, hacer click 
derecho y seleccionar la opción Agregar vista… 
 
Figura 21: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
En la ventana Agregar vista, selecciona la plantilla Empty (para diseñar los elementos de la vista) y la 
clase asociada a la Vista (Venta), tal como se muestra, hacer click en Agregar. 
Figura 22: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
 
 
Para crear una Vista, hacer 
click derecho en el mismo 
ActionResult. 
Seleccionar la 
plantilla Empty. 
Seleccionar la clase 
Venta. 
PROGRAMACION ORIENTADA A OBJETOS I 2 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
Creada la vista, aparece en la primera línea la definición de Venta en la variable @model, tal 
como se muestra. Agregar un formulario (Html.BeginForm()) para procesar los datos. 
 
Figura 23: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
A continuación, agregar los elementos al formulario, tal como se muestra. 
 
Figura 24: Desarrollo práctico 
 
 
Nota. – Elaboración propia 
 
@model está 
definido por Venta 
Agregar un formulario 
@Html.BeginForm. 
PROGRAMACION ORIENTADA A OBJETOS I 28 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
Para ejecutar la Vista, presiona la tecla F5, ingresa los datos en la página: Numero, Fecha, Cliente, 
Mueble y Precio; al hacer click en el input Procesar visualizamos el valor del Descuento y Neto. 
Para limpiar los controles hacer click en el Link Nuevo. 
 
Figura 25: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Después de ingresar los 
datos, hasta el precio. Al 
hacer click en el Input 
Procesar, visualizamos el 
Descuento y Neto. 
PROGRAMACION ORIENTADA A OBJETOS I 2 9 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
LABORATORIO 1.2 
 
Manejo de Constructores y sobrecarga de métodos 
La empresa de Transportes “FAST DRIVER” solicita una página para registrar el transporte de carga 
pesada. En este proceso, debemos ingresar el número de la guía, la fecha del documento, el nombre 
del cliente, la descripción de la carga y la cantidad de toneladas métricas (TM) de la carga, su tarifa 
por cada TM S/. 150. El costo del transporte es el producto de la tarifa por la cantidad de TM de la 
carga. Por concepto de seguro cobrará el 2% del costo de transporte; el monto es la suma de costo de 
transporte y el seguro. Se aplicará el IGV que representa el 18% del monto, donde el monto total se 
obtiene de la suma del IGV y el monto. 
 
Se solicita: 
 Diseño de la clase, sus atributos, propiedades, métodos y el constructor 
 Programar el ActionResult y diseñar la vista agregando sus etiquetas 
 
 
Creando la Clase 
En el mismo proyecto vamos a agregar una segunda clase. Desde el Explorador de Soluciones, 
hacer click derecho en la carpeta Models, selecciona la opción Agregar  Clase, tal como se 
muestra en la gráfica. 
 
Figura 26: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Seleccionar el ítem Clase. 
Carpeta Models 
PROGRAMACION ORIENTADA A OBJETOS I 30 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
En la ventana Agregar Nuevo Elemento, seleccione el ítem Clase. Asignar un nombre a la clase: 
Transporte, presione el botón AGREGAR. 
Figura 27: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Creada la clase Transporte, definir cada uno de los atributos asignándoles a cada uno la 
propiedad get y set; en el caso del atributo _precio el cual se le asigna su propiedad get (solo 
lectura). Definir su constructor para inicializar los atributos. 
 
Figura 28: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Ítem Seleccionado 
Asignar el nombre a la 
Clase: Transporte. 
Definición de los 
atributos de la clase 
Definición del 
Constructor 
PROGRAMACION ORIENTADA A OBJETOS I 3 1 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Agregando sus métodos 
Definir los métodos del proceso donde cada uno retorna un resultado, tal como se muestra. 
Figura 29: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Programando el controlador 
En el controlador VentasController, creada en el ejercicio anterior, debemos importar la carpeta 
Models, tal como se muestra. 
Figura 30: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Definición de los 
métodos de la Clase 
Importar la carpeta Models, 
para referenciar sus clases. 
ActionResults definidos en el 
ejercicio anterior. 
PROGRAMACION ORIENTADA A OBJETOS I 32 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
En el controlador definir dos ActionResult: 
1. El ActionResult ActionTransporte (método get) donde envía una instancia de la clase Transporte. 
2. El HttpPost ActionResult ActionTransporte (método post), donde recibe los datos ingresados desde 
la vista, para ejecutar los métodos Costo(), Seguro(), Monto(), IGV() y MontoTotal() almacenando en 
ViewBag (propiedad dinámica), enviando el resultado a la vista. 
 
Figura 31: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Trabajando con la Vista del ActionResult 
Para diseñar la Vista del ActionResult llamado ActionTransporte, seleccionar el Action, hacer 
click derecho y seleccionar la opción Agregar vista… 
 
Figura 32: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Método Get del Action, 
envía una instancia de 
Transporte() a la Vista. 
Método Post del Action, 
recibe los datos de 
Transporte y almaceno los 
resultado en ViewBag. 
Para crear una Vista, hacer 
click derecho en el mismo 
ActionResult. 
PROGRAMACION ORIENTADA A OBJETOS I 3 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
En la ventana Agregar vista, selecciona la plantilla Empty (para diseñar los elementos de la vista) y la 
clase asociada a la Vista (Venta), tal como se muestra, hacer click en Agregar. 
Figura 33: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Creada la vista, aparece en la primera línea la definición de Transporte en la variable @model, 
tal como se muestra. Agregar un formulario (Html.BeginForm()) para procesar los datos. 
 
Figura 34: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Seleccionar la 
plantilla Empty. 
Seleccionar la clase 
Transporte. 
@model está 
definido por 
Transporte 
Agregar un formulario 
@Html.BeginForm. 
PROGRAMACION ORIENTADA A OBJETOS I 34 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
A continuación, agregar los elementos al formulario, tal como se muestra. 
 
Figura 35: Desarrollo práctico 
 
Nota. – Elaboración propia 
 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 3 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Para ejecutar la Vista, presiona la tecla F5, ingresa los datos en la página: Numero, Fecha, Cliente, 
Carga y TM; al hacer click en el input Procesar visualizamos el valor del Costo, Seguro, Monto, 
IGV y MontoTotal. Para limpiarlos controles hacer click en el Link Nuevo. 
 
Figura 36: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
 
 
 
 
 
 
Después de ingresar los 
datos, hasta el precio. Al 
hacer click en el Input 
Procesar, visualizamos los 
cálculos de la clase. 
PROGRAMACION ORIENTADA A OBJETOS I 36 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
LABORATORIO 1.3 
 
Trabajando con Clases Parciales 
La distribuidora “Empresas Unidad”” EIRL solicita un programa que permita registrar el pago de 
haberes de los empleados. En este proceso, debemos ingresar el DNI del empleado, su Nombre, 
categoría, el básico y el tipo de aportación: AFP u ONP. 
Ingresado los datos debemos realizar los siguientes cálculos: 
 La bonificación se calcula con el 25% del básico. 
 La suma del básico y la bonificación es la remuneración. 
 La aportación, éste se aplicará de la siguiente forma: Si es AFP el descuento será el 11 de la 
remuneración, sino el descuento será el 13% de la remuneración. 
 El neto que será diferencia entre la remuneración y la aportación. 
 
A partir de estos datos: 
 Diseñe de las Clases Parciales llamada Haberes, donde en la clase Haberes_at, definir 
los atributos de la Clase y en la clase Haberes_op definir los métodos. 
 Dentro del formulario instanciar la clase, ingrese los datos y visualice los resultados. 
 
 Creando la Clase 
En el mismo proyecto vamos a agregar una segunda clase. Desde el Explorador de Soluciones, 
hacer click derecho en la carpeta Models, selecciona la opción Agregar  Clase, tal como se 
muestra en la gráfica. 
 
Figura 37: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Seleccionar el ítem Clase 
Carpeta Models 
PROGRAMACION ORIENTADA A OBJETOS I 3 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
En la ventana Agregar Nuevo Elemento, selecciona el ítem Clase. Asigna un nombre a la clase: 
Haberes_at, presione el botón AGREGAR. 
 
Figura 38: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Creada la clase Haberes_at agregar la palabra partial seguida por el nombre lógico Haberes, 
indicando que es una clase donde compartirá sus atributos en otra clase parcial. Definir cada 
uno de los atributos asignándoles a cada uno la propiedad get y set. 
 
Figura 39: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
 
Ítem Seleccionado 
Asignar el nombre a la 
Clase: Haberes_at 
Definición de los 
atributos de la clase 
Definición de clase 
parcial (partial) 
PROGRAMACION ORIENTADA A OBJETOS I 38 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
En la ventana Agregar Nuevo Elemento, seleccione el Item Clase. Asigna un nombre a la clase: 
Haberes_metodos, hacer click el botón AGREGAR. 
 
Figura 40: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Creada la clase Haberes_at agregar la palabra partial seguida por el nombre lógico Haberes, 
indicando que es una clase donde se compartirá sus métodos en otra clase parcial. Define cada 
uno de los métodos de esta clase utilizando los atributos de la clase parcial “Haberes_at”. 
 
Figura 41: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Ítem Seleccionado 
Asignar el nombre a la Clase: 
Haberes_metodos. 
Definición de los 
métodos de la clase 
Definición de clase 
parcial (partial) 
PROGRAMACION ORIENTADA A OBJETOS I 3 9 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
Trabajando con el controlador 
A continuación, agrega en la carpeta Controllers un nuevo controlador, tal como se muestra. 
Figura 42: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Seleccionar controlador de MVC 5: en blanco. 
Figura 43: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Carpeta Controllers 
Seleccionar Agregar  
Controlador 
Seleccionar el 
Controlador MVC en 
blanco. 
PROGRAMACION ORIENTADA A OBJETOS I 40 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Asignar el nombre del controlador: PlanillaController (conservar la expresión Controller), hacer 
click en el botón Agregar. 
 
Figura 44: Desarrollo práctico 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Programando el controlador 
En el controlador PlanillaController, debemos importar la carpeta Models para manejar la clase parcial 
Haberes. 
Figura 45: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
En el controlador definir dos ActionResult: 
1. El ActionResult Boleta (método GET) donde envía una instancia de la clase Haberes. 
2. El HttpPost ActionResult Boleta (método POST), donde recibe los datos ingresados desde la vista, 
para ejecutar los métodos y almacenándolos en ViewBag, enviando el resultado a la vista. 
 
Figura 46: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Importar la carpeta Models, 
para referenciar sus clases. 
ActionResult Get donde envía la 
instancia de Haberes. 
ActionResult Post, recibe 
los datos, ejecuta los 
métodos. 
PROGRAMACION ORIENTADA A OBJETOS I 4 1 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
Trabajando con la Vista del ActionResult 
Para diseñar la Vista del ActionResult llamado Boleta, seleccionar el Action, hacer click derecho 
y seleccionar la opción Agregar vista… 
Figura 47: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
En la ventana Agregar vista, selecciona la plantilla Empty (para diseñar los elementos de la vista) y la 
clase asociada a la Vista (Venta), tal como se muestra, hacer click en Agregar. 
Figura 48: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Para crear una Vista, hacer 
click derecho en el mismo 
ActionResult. 
Seleccionar la 
plantilla Empty. 
Seleccionar la clase 
Transporte. 
PROGRAMACION ORIENTADA A OBJETOS I 42 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Creada la vista, aparece en la primera línea la definición de Transporte en la variable @model, 
tal como se muestra. Agregar un formulario (Html.BeginForm()) para procesar los datos. 
 
Figura 49: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
A continuación, agregar los elementos al formulario, tal como se muestra. 
 
Figura 50: Desarrollo práctico 
 
Nota. – Elaboración propia 
@model está 
definido por 
Transporte 
Agregar un formulario 
@Html.BeginForm. 
PROGRAMACION ORIENTADA A OBJETOS I 4 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
Para ejecutar la Vista, presiona la tecla F5, ingresa los datos en la página: DNI, Nombre, Cargo, 
Básico y selecciona el seguro (RadioButton); al hacer click en el input Procesar visualizamos el 
valor de la Bonificación, remuneración, Aportación y Neto. Para limpiar los controles hacer click 
en el Link Nuevo. 
 
Figura 51: Desarrollo práctico 
 
Nota. – Elaboración propia 
 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 44 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Resumen 
 
1. La programación orientada a objetos puede describirse como el conjunto de disciplinas que 
desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir 
de componentes. 
2. Todos los lenguajes basados en objetos deben cumplir los siguientes requisitos: Herencia 
 Encapsulación 
 Polimorfismo 
3. Una clase es simplemente una representación de un tipo de objeto. Una clase define las 
características de un objeto, incluyendo las propiedades que definen los tipos de datos que 
ese objeto puede contener y los métodos que describen el comportamiento del objeto. 
4. Un objeto es una instancia específica de una clase, e incluye las características de esa clase. 
5. Las abstracciones de datos (atributos) que describen la clase están encerradas por una 
“muralla” de abstracciones procedimentales (llamadas operaciones, métodos y eventos) 
capaces de manipular los datos de alguna manera. 
6. Los atributos están asociados a clases y objetos, y describen la clase o el objeto de alguna 
manera. 
7. Las propiedades son métodos que permiten acceder o recuperar los valores de los atributos 
y se implementan mediante los procedimientos get y set. 
8. Un objeto encapsula datos (representados como una colección de atributos) y algoritmos 
que procesan estos datos. Estos algoritmos son llamados operaciones o métodos y pueden 
ser vistos como módulos en un sentido convencional. 
9. Los eventos son el medio a través del cual interactúan los objetos. Un evento estimula la 
ocurrencia de cierto comportamiento en el objeto receptor. Para inicializar los atributos el 
nuevo objeto se controla utilizando constructores. 
10. Un constructor es un método que permite inicializar los atributos de una clase. Para 
ejecutar los métodos y utilizar las propiedades de una clase, debemos crear una instancia 
de la clase. 
11. Para crear una instancia de una clase, declaramos una variable con el nombre de la clase. 
 
Recursos 
Pueden revisar los siguientes enlaces para ampliar los conceptos vistos en esta unidad: 
 http://support.microsoft.com/kb/307368/es 
 http://msdn.microsoft.com/es-pe/library/dd460654.aspx 
 
 
 
 
 
 
 
 
 
 
http://support.microsoft.com/kb/307368/es
http://msdn.microsoft.com/es-pe/library/dd460654.aspx
PROGRAMACION ORIENTADA A OBJETOS I 4 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
1.3 HERENCIA Y POLIMORFISMO 
1.3.1 Concepto de herencia, implementando una clase heredada 
 
En la programación orientada a objetos, podemos compartir las características de una clase base en 
otras clases derivadas de la clase base. Esto se denomina herencia. 
 
Imaginemos tres clases: Cuenta Corriente, Cuenta Ahorro y Cuenta Inversión. Los atributos y 
operaciones de la clase base Cuenta también pueden aplicarse a las clases heredadas. La 
reutilización de estos atributos y operaciones es una técnica eficaz. 
 
Figura 52: Desarrollo práctico 
 
Nota. – Elaboración propia 
 
Características 
 Reuso del código: permite compartir atributos y métodos 
 El compilador es el que hace la mayor parte del trabajo 
 Es una parte integral del .NET 
 Visual C# soporta herencia simple a nivel de clase, es decir, una clase únicamente puede 
heredar de una sola clase base y herencia de múltiples clases. 
 
Implementando una clase heredada 
La herencia puede utilizarse para derivar una clase de una clase existente. 
La clase derivada puede heredar todas las propiedades, métodos, miembros de datos, eventos y 
controladores de eventos de la clase base, facilitando la reutilización de la clase base por toda la 
aplicación. 
Heredar una clase 
Para derivar una clase en C#: 
 
 
public Class Cuentas { 
} 
 
public Class VerificaCuenta: Cuentas { 
Private void ProcesoCheck() 
{ 
//Añadir código al proceso 
} 
} 
PROGRAMACION ORIENTADA A OBJETOS I 46 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
Uso de la palabra clave Protected 
Utilizamos el acceso Protected para limitar el ámbito de una propiedad, método, miembro de datos, 
evento o controlador de eventos a la clase que los define y cualquier clase derivada basada en esa 
clase base. 
 
1.3.2. Concepto de polimorfismo, implementando una clase heredada aplicando 
polimorfismo 
La mayoría de los lenguajes de programación orientados a objetos proporcionan polimorfismo 
mediante herencia. El polimorfismo basado en herencia implica la definición de métodos en una clase 
base y sobrecargarlos con nuevas implementaciones en clases derivadas. 
Polimorfismo hace referencia a la capacidad de definir múltiples clases con diferentes 
funcionalidades, pero con métodos o propiedades de nombres idénticos que pueden utilizarse de 
forma intercambiable por el código cliente en tiempo de ejecución. El nombre del método reside en 
la clase base. Las implementaciones de métodos residen en las clases derivadas. Para gestionar esto, 
únicamente puede declararse en la clase base el nombre del método (no el código que proporciona 
la funcionalidad del método). 
Supongamos que definimos una clase denominada Impuesto que proporciona funcionalidad 
básica para calcular el impuesto sobre las ventas de un estado. Las clases derivadas de Impuesto, 
como ImpuestoDistrito o ImpuestoRegion, podrían implementar métodos como 
CalcularImpuesto(). 
 
Por ejemplo, el tipo impositivo de un distrito podría ser distinto del tipo impositivo de una 
región. Las clases que hereden de ImpuestoBase tendrán un método CalcularImpuesto, pero el 
modo como se calcule realmente el impuesto podría variar en cada una de las clases derivadas. 
 
Figura 53: Implementando Polimorfismo 
 
Nota. – Elaboración propia 
 
public class ClaseBase { 
//Alcance publico public 
int counter; 
// Alcande solo a su clase o su derivada protected 
string name; 
} 
Impuesto 
CalcularImpuesto( ) 
ImpuestoDistrito 
CalcularImpuesto( ) 
ImpuestoRegion 
CalcularImpuesto( ) 
PROGRAMACION ORIENTADA A OBJETOS I 4 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
Implementando una clase aplicando polimorfismo 
En Visual C#, un método que será reemplazado en una clase derivada se declara con el modificador 
virtual. 
 
En una clase derivada, el método reemplazado se declara con el modificador override. 
En este ejemplo se puede implementar el método Promedio(), el cual realiza el cálculo del promedio 
de las 2 notas ingresadas. 
 
La clase heredada implementa el método Promedio() sobreescribiendo su proceso. 
 
1.3.3. Herencia múltiple: Interfaces 
La herencia múltiple permite que un objeto herede muchas firmas de métodos diferentes con la idea 
de que el objeto sujeto a heredar debe implementar esos métodos heredados. 
La herencia de múltiples permite que un objeto herede métodos y se comporte de forma polimórfica 
en esos métodos. 
Figura 54: Herencia múltiple 
 
Nota: Adaptado de ¿Por qué la herencia múltiple no se admite en Java?, por Stackoverflow, 2018. 
https://es.stackoverflow.com/questions/104165/por-qu%C3%A9-la-herencia-m%C3%BAltiple-no-se-admite-en-java/104171 
 
public class ClaseRegistro 
{ 
public virtual double Promedio(int n1, int n2) 
{ 
return (n1 + n2)/2 
} 
} 
public class ClaseRegistroPOOI: ClaseRegistro 
{ 
 
public override double Promedio(int n1, int n2) 
{ 
// nuevo calculo del promedio de notas para el curso de POOI return 
(n1 + 2*n2) / 3 
} 
} 
https://es.stackoverflow.com/questions/104165/por-qu%C3%A9-la-herencia-m%C3%BAltiple-no-se-admite-en-java/104171
PROGRAMACION ORIENTADA A OBJETOS I 48 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Las interfaces son una abstracción que nos ofrecen la mayor parte de los lenguajes de programación 
orientados a objetos. Básicamente nos permiten definir un "contrato" sobre el que podemos estar 
seguros de que, las clases que las implementen lo van a cumplir. 
 Como buena práctica, para comenzar el nombre de una interface debe comenzar con la letra I 
para identificar que es una interfaz, esto también es una convención entre programadores. 
 Las interfaces de manera predeterminada son abstractas (abstract) y públicas (public) pero sepuede modificar el tipo de acceso que tendrá, pero siempre serán abstractas. 
 Las interfaces pueden contener métodos y propiedades, pero no atributos. 
 Las interfaces no pueden ser instanciadas por eso se deben crear clases que las implementen. 
 
 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 4 9 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
LABORATORIO 2.1 
 
Manejo de Clases Heredadas 
Las empresas de producción necesitaban trasladar su materia prima a provincia y, es por ello que se 
crean las empresas de transportes las cuales se dedican al traslado de la materia prima cobrando por 
ello un flete: costo de la tarifa por la cantidad de toneladas métricas (TM). Estas empresas de 
transporte registraban el nombre del destinatario, la dirección del destino (departamento del país) y 
la cantidad de TM que trasladaban, la tarifa era estándar: S/.150 por TM. 
 
La empresa IVOVIC está constituida bajo el concepto del costo de la tarifa única. 
 
La empresa Leonidas maneja el costo de la tarifa según su destino: para Arequipa, Ilo o Tacna la tarifa 
es S/.200; para Piura, Tumbes y Cajamarca la tarifa es de S/.220; el resto conserva su mismo costo: 
S/.150; además toda empresa que traslade su materia prima por esta empresa deberá pagar por 
concepto de seguro el importe del 0.5% del flete, obteniendo así el monto: suma del flete y del seguro. 
 Diseñe la Clase Base, definiendo sus atributos, propiedades y métodos. 
 Definir las Clases Derivadas. 
 Realizar la programación de las Clases Derivadas. 
 
Diseño de las clases 
Figura 55: Desarrollo de laboratorio 
 
Nota. – Elaboración propia 
 
 
Clase LEONIDAS, 
representa la clase 
DERIVADA de la clase 
BASE Transportes 
Clase IVOVIC, clase 
DERIVADA de la clase 
BASE Transportes 
Clase Transporte, 
representa la clase 
BASE 
PROGRAMACION ORIENTADA A OBJETOS I 50 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Inicio del Proyecto 
• Cargar la aplicación del el Menú INICIO. 
• Seleccione Microsoft Visual Studio 2022 el cual se visualiza el IDE. 
 
Figura 56: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
En la Ventana Crear un proyecto, seleccione: 
 Lenguaje: C# 
 Plataforma: Windows 
 Tipo de Proyecto: Web 
 
Seleccionar la plantilla Aplicación web ASP.NET (.NET framework). 
Figura 57: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
Seleccionar la 
opción. 
Seleccionar plantilla 
Aplicación web 
ASP.NET (.NET 
framework). 
PROGRAMACION ORIENTADA A OBJETOS I 5 1 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 Al configurar el nuevo proyecto, agregar el nombre del proyecto, su ubicación y el nombre 
de la solución, el cual, por defecto, será el nombre del proyecto. 
 Al finalizar presiona el botón CREAR. 
 
Figura 58: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Para finalizar selecciona la plantilla MVC, tal como se muestra. Hacer click en el botón CREAR. 
Figura 59: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
Nombre del Proyecto 
Definir una ubicación del 
proyecto. 
Seleccionar la plantilla 
MVC. 
PROGRAMACION ORIENTADA A OBJETOS I 52 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Diseñando la Clase Base 
En el mismo proyecto vamos a agregar una segunda clase. Desde el Explorador de Soluciones, 
hacer click derecho en la carpeta Models, selecciona la opción Agregar  Clase, tal como se 
muestra en la gráfica. 
Figura 60: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
En la ventana Agregar Nuevo Elemento, seleccione el ítem Clase. Asignar un nombre a la clase: 
Transporte, presione el botón AGREGAR. 
 
Figura 61: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Seleccionar el ítem Clase. 
Carpeta Models. 
Ítem Seleccionado 
Asignar el nombre a la 
Clase: Transporte. 
PROGRAMACION ORIENTADA A OBJETOS I 5 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
En la Clase Transporte, agregar los atributos y propiedades para cada uno. Definir el 
constructor donde inicialice los atributos tm y tarifa, y el método de retorno Flete(). 
 
Figura 62: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Diseñando la Clase Derivada IVOVIC 
En la carpeta Models, agrega la clase IVOVIC, tal como se muestra. 
Figura 63: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Atributos de la clase 
Método de retorno 
Flete() 
Constructor de la clase 
Ítem Seleccionado 
Asignar el nombre a la 
Clase: IVOVIC 
PROGRAMACION ORIENTADA A OBJETOS I 54 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
En la clase establezca la clase base de IVOVIC: Transporte, donde IVOVIC será la clase 
derivada de la clase Transporte. 
 
Figura 64: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Trabajando con el controlador 
A continuación, agrega en la carpeta Controllers un nuevo controlador, tal como se muestra. 
Figura 65: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
Clase IVOVIC es la clase hija 
de Transporte. 
Carpeta Controllers 
Seleccionar Agregar  
Controlador. 
PROGRAMACION ORIENTADA A OBJETOS I 5 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Seleccionar controlador de MVC 5: en blanco. 
Figura 66: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
 
Asignar el nombre del controlador: SolucionController, hacer click en el botón Agregar. 
 
Figura 67: Desarrollo práctico 
 
Nota. - Elaboración propia 
 
Programando el controlador 
En el controlador SolucionController, importar la carpeta Models para manejar la clase parcial. 
Figura 68: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
Importar la carpeta Models, 
para referenciar sus clases. 
Seleccionar el 
Controlador MVC en 
blanco. 
PROGRAMACION ORIENTADA A OBJETOS I 56 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
En el controlador definir dos ActionResult: 
El ActionResult GuiaTransporte (método GET) donde envía una instancia de la clase IVOVIC. 
El HttpPost ActionResult GuiaTransporte (método POST), donde recibe los datos ingresados desde la 
vista, para ejecutar los métodos y almacenándolos en ViewBag, enviando el resultado a la vista. 
 
Figura 69: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
 
Trabajando con la Vista del ActionResult 
Para diseñar la Vista del ActionResult llamado GuiaTransporte, seleccionar el Action, hacer click 
derecho y seleccionar la opción Agregar vista… 
Figura 70: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
ActionResult Get donde envía la 
instancia de IVOVIC. 
ActionResult Post, recibe 
los datos, ejecuta los 
métodos. 
Para crear una Vista, hacer 
click derecho en el mismo 
ActionResult. 
PROGRAMACION ORIENTADA A OBJETOS I 5 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
En la ventana Agregar vista, selecciona la plantilla Empty (para diseñar los elementos de la vista) y la 
clase asociada a la Vista (Venta), talcomo se muestra, hacer click en Agregar. 
Figura 71: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Creada la vista, aparece en la primera línea la definición de IVOVIC en la variable @model, tal 
como se muestra. Agregar un formulario (Html.BeginForm()) para procesar los datos. 
 
Figura 72: Desarrollo práctico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. - Elaboración propia 
 
Seleccionar la 
plantilla Empty. 
Seleccionar la clase 
IVOVIC. 
@model está 
definido por IVOVIC. 
Agregar un formulario 
@Html.BeginForm. 
PROGRAMACION ORIENTADA A OBJETOS I 58 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
A continuación, agregar los elementos al formulario, tal como se muestra. 
Figura 73: Desarrollo práctico 
 
Nota. - Elaboración propia 
 
Para ejecutar la Vista, presiona la tecla F5, ingresa los datos en la página; al hacer click en el 
input Procesar visualizamos el valor del Flete. Para limpiar los controles hacer click en el Link 
Nuevo. 
Figura 74: Desarrollo práctico 
 
 
Nota. - Elaboración propia 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 5 9 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
TRABAJANDO CON LA CLASE LEONIDAS 
 
Definiendo la clase derivada LEONIDAS 
A continuación, agrega al proyecto la clase llamada LEONIDAS, tal como se muestra: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 75: Desarrollo de laboratorio 
Nota. – Elaboración propia 
 
Definir la clase LEONIDAS como clase heredada de la clase TRANSPORTE. 
 
Figura 76: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Ítem Seleccionado 
Asignar el nombre a la 
Clase: LEONIDAS. 
Clase LEONIDAS es la clase 
hija de Transporte. 
PROGRAMACION ORIENTADA A OBJETOS I 60 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
En la Clase LEONIDAS debe implementar métodos Tarifario(), Seguro(), Monto() para calcular la 
tarifa por destino, el seguro y el Monto, tal como se muestra. 
Figura 77: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Dentro del archivo LEONIDAS.cs, agregar un enumerable destino, donde liste los valores de destino 
de transporte de LEONIDAS. 
 
Figura 78: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Nota. – Elaboración propia 
 
 
Definiendo los métodos 
de retorno de la clase 
LEONIDAS 
Definir un enumerable de 
destino 
PROGRAMACION ORIENTADA A OBJETOS I 6 1 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Programando el controlador 
En el controlador SolucionController, agrega el ActionResult GET y POST de GuiaLeonidas, donde envía 
una instancia de LEONIDAS y el POST procesa y envía el resultado de las operaciones. 
 
Figura 79: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
En la ventana Agregar vista, selecciona la plantilla Empty (para diseñar los elementos de la vista) y la 
clase asociada a la Vista (Venta), tal como se muestra, hacer click en Agregar. 
Figura 80: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
ActionResult Get donde envía la 
instancia de LEONIDAS. 
ActionResult Post, recibe 
los datos, ejecuta los 
métodos. 
Seleccionar la 
plantilla Empty. 
Seleccionar la clase 
LEONIDAS. 
PROGRAMACION ORIENTADA A OBJETOS I 62 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
 
Creada la vista, aparece en la primera línea la definición de IVOVIC en la variable @model, tal 
como se muestra, agregar la referencia a la carpeta Models para utilizar el enumerable destino. 
Figura 81: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
A continuación, agregar los elementos al formulario, tal como se muestra. 
 
Figura 82: Desarrollo de laboratorio 
 
Nota. – Elaboración propia 
 
@model está definido por 
IVOVIC, referencia la carpeta 
Models. 
Agregar un formulario 
@Html.BeginForm. 
PROGRAMACION ORIENTADA A OBJETOS I 6 3 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
Para ejecutar la Vista, presiona la tecla F5, ingresa los datos en la página y selecciona un destino 
(DropDownList); al hacer click en el input Procesar visualizamos el valor del Flete, Seguro y 
Monto. Para limpiar los controles, presiona el Link Nuevo. 
 
Figura 83: Desarrollo de laboratorio 
 
Nota. – Elaboración propia 
 
 
PROGRAMACION ORIENTADA A OBJETOS I 64 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
LABORATORIO 2.2 
 
Manejo de Herencia Múltiple 
Se pide implementar una solución donde registre las bonificaciones y deducciones de un 
empleado, aplicando herencia múltiple. 
 
Agregando Interfaz a la carpeta Models 
En la carpeta Models, agregar el elemento Interfaz, asigne el nombre IRemuneracion. 
Figura 84: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Asigna el nombre de la Interfaz: IRemunera, tal como se muestra. Presiona la tecla ACEPTAR. 
 
Figura 85: Desarrollo de laboratorio 
 
 
 
Nota. – Elaboración propia 
 
 
 
 
 
 
Selecciona el elemento 
Intefaz. 
PROGRAMACION ORIENTADA A OBJETOS I 6 5 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
 
 
Definir los métodos de la interfaz tal como se muestra. 
 
Figura 86: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Agregar a la carpeta Models el elemento Interfaz, asigne el nombre IDescuento. 
Figura 87: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Métodos de la Interfaz 
IRemunera. 
Selecciona Interfaz. 
Asignar el nombre 
IDescuento. 
PROGRAMACION ORIENTADA A OBJETOS I 66 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
Define los métodos de la interface IDescuento, tal como se muestra. 
Figura 88: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
Agregando la Clase Heredada 
A continuación, agrega en la carpeta Models un elemento de tipo Clase, el cual se llamará 
Empleado, tal como se muestra, presiona el botón AGREGAR. 
 
Figura 89: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Métodos de la Interfaz 
IDescuento 
Selecciona el Item Clase. 
Nombre de la clase 
PROGRAMACION ORIENTADA A OBJETOS I 6 7 
 
 
IES CIBERTEC ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 
En la clase, agregar las Interfaces como clases base. A cada una debemos implementar la interfaz 
para mostrar los métodos de cada una de las interfaces para su implementación. 
 
Figura 90: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Figura 91: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
 
 
Implementar las 
Interfaces. 
Definición de los atributos. 
Implementar cada una de 
las Interfaces. 
PROGRAMACION ORIENTADA A OBJETOS I 68 
 
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN IES CIBERTEC 
A continuación, procedemos a programar los métodos que utilizará la clase Empleado. 
 
Figura 92: Desarrollo de laboratorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Nota. – Elaboración propia 
Trabajando con el controlador 
A continuación, agrega

Continuar navegando