Want to create interactive content? It’s easy in Genially!

Get started free

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:

Correct Concepts

Microcourse: Artificial Intelligence in Education

Puzzle Game

Scratch and Win

Microlearning: How to Study Better

Branching Scenarios Challenge Mobile

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.
El método hablar () de la clase Persona también estaría disponible para la clase 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