Programació Orientada als Objectes [104389]
Serrat Gual, Joan
Gomez Bigorda, Lluis
Universitat Autònoma de Barcelona. Facultat de Ciències

Título variante: Object-Oriented Programming
Título variante: Programación Orientada a los Objetos
Fecha: 2021-22
Resumen: Una de les metodologies més exteses de disseny i programació és la orientada a objectes, segons la qual un software s'organitza en classes que contenen mètodes (procediments) i atributs (dades). Les instàncies o objectes d'aquestes classes s'envien missatges les unes a les altres (fan "trucades" a mètodes d'altres objectes) aconseguint aixi la funcionalitat desitjada. A part del concepte de classe, tres altres elements fonamentals són l'herència, la composició i la separació de les parts pública i privada de les classes. Aquests elements són doncs necessàris per a la programació OO, però no suficients: cal saber com utilitzar-los per arribar a solucions que siguin fàcilment extensibles en el futur, ja que una llei del software és que els canvis són inevitables. Existeixen una serie de principis de disseny o heurístiques que ens diuen com s'han d'emprar aquests elements per tal d'aconseguir-ho. I sobre ells encara, es construeixen els patrons de disseny, que son solucions a nivell de disseny OO a problemes recurrents, que apareixen sovint en resoldre problemes aparentment independents. En aquesta assignatura s'introdueixen i es practiquen els conceptes OO aixi com els principis i patrons de disseny. L'aprenentatge gira al voltant d'un projecte ---la pràctica--- en que és necessari aplicar tots els temes explicats per tal de dissenyar i implementar una aplicació de software a partir d'un enunciat que fa el paper de document de requeriments. Pel context de la assignatura, el projecte cau en el camp de l'aprenentatge computacional (machine learning). Els llenguatges de programació utilitzats a la assignatura seran Python principalment per que es en el que es farà el projecte, però tambe Java que utilitzarem en alguns exercicis i suporta millor els conceptes d'orientació a objecte. Així, podrem comparar com uni altreels implementa i en 1 suporta millor els conceptes d'orientació a objecte. Així, podrem comparar com uni altreels implementa i en quin grau.
Resumen: One of the most employed methodologies of design and programming is object-orientation. Software is organized in classes that contain methods (procedures) and attributes (data). The instances or objects of these classes send messages to each other (they make "calls" to methods of other objects) in order to achieve the desired functionality. Apart from the concept of class, three other fundamental elements are inheritance, composition and separation of public and private parts of classes. These elements are therefore necessary for OO programming, but not sufficient: you need to know how to use them to reach solutions that are easily extendable in the future. There are a number of design principles or heuristics that tell us how to use these elements for this goal. And over them, design patterns are being built, which are solutions at the OO design level to recurring problems, which often appear when solving seemingly independent problems. In this subject, the OO concepts are introduced and practiced as well as design principles and patterns. Learning revolves around a project --- the practicum --- in which it is necessary to apply all the topics explained in order to design and implement a software application based on a statement that plays the role of a document of requirements. The programming languages used in the course (and the practicum) will be Python, but we will use also Java for some exercises because it better supports the concepts of object orientation.
Resumen: Una de las metodologías más extendidas de diseño y programación es la orientada a objetos, según la cual un software se organiza en clases que contienen métodos (procedimientos) y atributos (datos). Las instancias u objetos de estas clases se envían mensajes unas a otras (hacen "llamadas" a métodos de otros objetos) consiguiendo así la funcionalidad deseada. Aparte del concepto de clase, tres otros elementos fundamentales son la herencia, la composición y la separación de las partes pública y privada de las clases. Estos elementos son pues necesarios para la programación OO, pero no suficientes: hay que saber cómo utilizarlos para llegar a soluciones que sean fácilmente extensibles en el futuro, ya que una ley del software es que los cambios son inevitables. Existen una serie de principios de diseño o heurísticas que nos dicen cómo emplear estos elementos con el fin de conseguirlo. Y sobre ellos todavía, se construyen los patrones de diseño, que son soluciones a nivel de diseño OO a problemas recurrentes, que aparecen a menudo en resolver problemas aparentemente independientes. En esta asignatura se introducen y se practican los conceptos OO así como los principios y patrones de diseño. El aprendizaje gira en torno a un proyecto --- la práctica --- en que es necesario aplicar todos los temas explicados para diseñar e implementar una aplicación de software a partir de un enunciado que hace el papel de documento de requerimientos. Por el contexto de la asignatura, el proyecto cae en el campo del aprendizaje computacional (machine learning). Los lenguajes de programación utilizados en la asignatura serán Python principalmente por que es en el que se hará el proyecto, pero también Java que utilizaremos en algunos ejercicios y soporta mejor los conceptos de orientación a objeto. Así,podremos comparar cómo uni 1 algunos ejercicios y soporta mejor los conceptos de orientación a objeto. Así,podremos comparar cómo uni otro los implementa y en qué grado.
Derechos: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, fins i tot amb finalitats comercials, sempre i quan es reconegui l'autoria de l'obra original. Creative Commons
Lengua: Català, anglès, castellà
Titulación: Matemàtica Computacional i Analítica de Dades [2503740]
Plan de estudios: Grau en Matemàtica Computacional i Analítica de Dades [1403]
Documento: Objecte d'aprenentatge



Català
5 p, 107.6 KB

Anglès
5 p, 105.4 KB

Castellà
5 p, 107.0 KB

El registro aparece en las colecciones:
Materiales académicos > Guías docentes

 Registro creado el 2021-07-02, última modificación el 2023-01-21



   Favorit i Compartir