Want to create interactive content? It’s easy in Genially!
U5R2 Uso de la orientación de objetos
UAG
Created on November 21, 2023
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Correct Concepts
View
Microcourse: Artificial Intelligence in Education
View
Puzzle Game
View
Scratch and Win
View
Microlearning: How to Study Better
View
Branching Scenarios Challenge Mobile
View
Branching Scenario Mission: Innovating for the Future
Transcript
uso de la orientación de objetos
Uso de la orientación de objetos
La orientación a objetos es un paradigma de programación y diseño que se utiliza ampliamente en el desarrollo de software. El Modelo de Lenguaje de Modelado Unificado (UML) es una herramienta eficaz para representar y visualizar conceptos orientados a objetos en sistemas de software. Aquí se describen algunas formas en que la orientación a objetos se utiliza en el contexto del modelo UML.
Clases
En UML, las clases son elementos fundamentales para modelar conceptos orientados a objetos. Las clases representan entidades o conceptos en el sistema de software y encapsulan atributos y métodos. Los objetos, por otro lado, son instancias específicas de clases. Los diagramas de clases de UML se utilizan para representar tanto las clases como las relaciones entre ellas.
Herencia: UML permite modelar la relación de herencia entre clases. La herencia es un concepto fundamental en la orientación a objetos que permite la creación de nuevas clases basadas en clases existentes. Esto se representa en UML mediante líneas con una flecha indicando la dirección de la herencia. Por ejemplo, una clase llamada Estudiante podría heredar de la clase Persona. La clase Estudiante podría definir los siguientes atributos y métodos:
Ejemplo de clase
Por ejemplo, una clase llamada Persona podría definir los siguientes atributos:
- nombre: El nombre de la persona.
- edad: La edad de la persona.
- sexo: El sexo de la persona.
La clase también podría definir los siguientes métodos:
- hablar (): El método hablar () le permite a la persona hablar.
- caminar (): El método caminar () le permite a la persona caminar.
- matrícula: La matrícula del estudiante.
- carrera: La carrera del estudiante.
- nota_promedio: La nota promedio del estudiante.
Asociaciones
Las asociaciones en UML representan las relaciones entre objetos o clases. Estas relaciones pueden ser uno a uno, uno a muchos o muchos a muchos, y se utilizan para modelar cómo interactúan las clases u objetos en el sistema. Las etiquetas y multiplicidades en las asociaciones pueden proporcionar información adicional sobre la relación. Por ejemplo, una clase llamada Producto podría tener una asociación de uno a muchos con una clase llamada Orden. Esto significa que un producto puede estar asociado con varias órdenes, pero una orden sólo puede estar asociada con un producto.
Encapsulamiento
El concepto de encapsulamiento se refiere a ocultar los detalles internos de una clase y exponer solo la interfaz pública. En UML, esto se representa mediante el uso de atributos y métodos públicos, privados y protegidos en una clase.
Ejemplo de encapsulamiento es la clase Cuenta Bancaria. La clase Cuenta Bancaria podría definir los siguientes atributos:
- Saldo: El saldo de la cuenta bancaria.
- Tasa de interés: La tasa de interés de la cuenta bancaria.
Estos atributos se pueden definir como privados, lo que significa que solo pueden ser accedidos desde dentro de la clase Cuenta Bancaria. Esto permite ocultar los detalles de implementación de estos atributos, cómo se almacenan o cómo se calculan.
Polimorfismo
Polimorfismo de sobrecarga: El polimorfismo de sobrecarga ocurre cuando se define un método con el mismo nombre, pero con diferentes parámetros.
El polimorfismo es un concepto orientado a objetos que permite que objetos de diferentes clases respondan a la misma interfaz de manera diferente. UML no representa directamente el polimorfismo, pero puede utilizarse en la documentación y en los diagramas de secuencia para mostrar cómo los diferentes objetos pueden interactuar de manera polimórfica. El polimorfismo se puede lograr de varias maneras, incluyendo:
Polimorfismo de sobreescritura: El polimorfismo de sobreescritura ocurre cuando una subclase redefine un método de una superclase.
Polimorfismo de interfaces: El polimorfismo de interfaces ocurre cuando una clase implementa una interfaz que define un método.
Da clic sobre los botones para obtener más información
Polimorfismo de Interfaces y Clases Abstractas
UML permite definir interfaces y clases abstractas que pueden ser implementadas por múltiples clases concretas. Esto facilita la aplicación del polimorfismo y la definición de comportamientos comunes. Por ejemplo, una interfaz llamada Vehículo podría definir los métodos acelerar (), frenar () y girar (). Una clase llamada Coche podría implementar la interfaz Vehículo. La clase Coche podría definir las implementaciones de los métodos acelerar (), frenar () y girar ().
Python
class Animal: def habla(self) -> str: return "Soy un animal"
class Perro(Animal): def habla(self) -> str: return "Guau"
class Gato(Animal): def habla(self) -> str: return "Miau"
Polimorfismo de interfaces: El polimorfismo de interfaces ocurre cuando una clase implementa una interfaz que define un método.
animal = Animal()perro = Perro() gato = Gato() print(animal.habla()) #Soy un animal print(perro.habla()) #Guau print(gato.habla()) #Miau
Polimorfismo de sobrecarga: El polimorfismo de sobrecarga ocurre cuando se define un método con el mismo nombre, pero con diferentes parámetros.
Python
def suma(a: int, b: int) -> int: return a + b
def suma(a: floot, b: floot) -> floot: return a + b
def suma(a: str, b: str) -> str: return a + b
print(suma(1, 2)) #3 print(suma(1.5, 2.5)) #4 print(suma("Hola", "Mundo")) #HolaMundo
Python
class Animal: def habla(self) -> str: return "Soy un animal"
class Perro(Animal): def habla(self) -> str: return "Guau"
Polimorfismo de sobreescritura: El polimorfismo de sobreescritura ocurre cuando una subclase redefine un método de una superclase.
class Gato(Animal): def habla(self) -> str: return "Miau"
animal = Animal()perro = Perro() gato = Gato() print(animal.habla()) #Soy un animal print(perro.habla()) #Guau print(gato.habla()) #Miau