Descarga la aplicación para disfrutar aún más
Lea materiales sin conexión, sin usar Internet. Además de muchas otras características!
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
Ingeniería Fácil
Contenido de Estudio
Contenido de Estudio
Contenido de Estudio
Compartir