jueves, 12 de diciembre de 2024

Objetos, propiedades y eventos.

 Objetos, propiedades y eventos.





Clases abstractas, estáticas e interfaces.

 Clases abstractas, estáticas e interfaces.

Clases abstractas: Una clase abstracta nunca está destinada a ser instanciada directamente, es decir, no se puede crear instancias de una clase abstracta. Se debe tener en cuenta que la clase que definamos como abstracta debe tener por lo menos 1 método abstracto. Las clases abstractas se utilizan para definir una clase base en la jerarquía de bases.

Clases estáticas: La clase estática en una clase común y corriente, solo con la diferencia que no puede ser instanciada y contiene solo miembros estáticos. Está se utiliza para agrupar métodos y datos que son independientes de una instancia.

Interfaces: La interfaz puede tener métodos, propiedades, eventos e indexadores como miembros, pero las interfaces contendrán solo la declaración de los miembros. La implementación de estas estará dada por la clase que implementa la interfaz implícita o explícitamente.

A continuación, un cuadro comparativo:



REDA: Aplicaciones multiplataforma basadas en POO.

 REDA: Aplicaciones multiplataforma basadas en POO

En la reda de aprendizaje, "Aplicaciones multiplataforma basadas en POO" nos solicitan crear una interfaz llamada IPersona que cuente con los siguientes métodos abstractos sin retorno y sin parámetros de entrada: validarEdad, validarEstadoCivil, validarEstudios.

Para ello utilice el IDE Visual Studio Code con el lenguaje de programación Python para realizar la Interfaz con nombre IPersona.py que cuenta con la clase padre (IPersona) con los metodos abstractos validarEdad, validarEstadoCivil, validarEstudios y una clase (Persona) que llama a la clase padre (Ipersona) con sus metodos.



Código escrito:

from abc import ABC, abstractmethod

class IPersona(ABC):
    @abstractmethod
    def validarEdad(self):
        pass
    @abstractmethod
    def validarEstadoCivil(self):
        pass
    @abstractmethod
    def validarEstudios(self):
        pass

class Persona(IPersona):
    def validarEdad(self):
        print("Metodo para validar edad")
    def validarEstadoCivil(self):
        print("Metodo para validar estado civil")
    def validarEstudios(self):
        print("Metodo para Validar estudio")


domingo, 1 de diciembre de 2024

Componentes y pilares de la POO.

 Componentes y pilares de la POO.

La Abstracción: La abstracción consiste en definir estructuras básicas de entidades u objetos del mundo real y sus interacciones, identificando los atributos y métodos esenciales y la omisión de los no esenciales. Con este componente trabajaremos con conceptos generales antes de precisar características específicas. Un ejemplo de esto puede ser los atributos de una figura geométrica que se compone de posicionX y posicionY y sus métodos son CalcularArea y CalcularPerimetro.



Encapsulamiento: El encapsulamiento es la capacidad de decidir qué partes de una clase (atributos y métodos) serán expuestas hacia otras entidades y cuáles se mantendrán ocultas. Este pilar busca controlar la visibilidad y accesibilidad de los detalles internos de una clase, manteniendo los datos privados dentro de una clase y accediendo a ellos solo mediante métodos públicos o directamente por el programador, evitando la modificación accidental de datos.



La Herencia: La Herencia permite que de una Clase ya definida, podamos heredar los atributos y métodos, donde a través de esa superclase o clase padre le provee los atributos y métodos a sus herederos o clases hijas. El objetivo de esto fomenta la reutilización de código y facilita la organización jerárquica de las clases, lo que establece una conexión inherente entre las clases, lo que ayuda a ver una estructura que refleja la relación lógica entre diferentes entidades. en conclusión, la herencia no solo ahorra tiempo al evitar redundancia en el código, sino que también establece una baso solida para la evolución y expansión del software cuando esta se renueve o crezca.



La herencia se podia explicar con el siguiente ejemplo, donde observamos que la clase Padre es "bicicleta", la cual cuenta con los atributos (marco, ruedas, manubrio) y el método (pantalla). De esta clase Padre, se creo una clase hija "Montaltbike", que hereda los atributos y métodos de la clase padre y adicional agrega los atributos (ad,at) y el método (pantallamontaltbike).

Se puede ver en el código que cuando creamos el objeto, nos pide los atributos de la clase Padre mas los nuevos de la clase Hija y se instancia el método de la clase hija.

El polimorfismo: El polimorfismo se destaca como el concepto o herramienta ingeniosa y esencial en programación orientada a objetos, ya que nos permite que una misma clase se comporte diferente según el tipo de objeto que lo invoque, lo que permite agregarle al diseño del código una flexibilidad, versatilidad y escalabilidad del código por su gran capacidad de adaptación y que pueda responder un código especifico a diferentes situaciones.





Diferencias entre objeto, clase y método

 Diferencias entre objeto, clase y método.



La clase, los objetos y los métodos son conceptos fundamentales que son utilizados en la programación orientada a objetos (POO), lo que es un método de programación que utiliza la idea de objetos para organizar y estructurar un código mediante instancias de clases. Esto ayuda que sea un método de programación ampliamente usado ya que al poder organizar el código de una manera modular, facilita la reutilización, la agilidad y mejora el mantenimiento del software realizado. Este se conforma de Clase, Método y Objeto.

A continuación explicaremos cada uno de estos y repasaremos con el ejemplo de una biblioteca.

Clase: Una Clase se puede entender como una estructura o plantilla donde se definen los atributos o propiedades que tiene esa clase, como también los métodos o comportamientos que realiza el objeto. Esta puede servir para no tener que crear el código infinidad de veces y puede servir como constructor para crear otras clases, heredando de esta todos sus atributos.

Método: Un método es una función asociada a una clase, que realiza una tarea especifica y esta tarea es la que puede realizar un objeto.

Objeto: Un objeto es una instancia de una clase en particular, que se crea según los atributos o especificaciones proporcionadas por la clase.


Como podemos observar, el código cuenta con dos Clases que son "Libros" que cuenta con los atributos titulo, autor y la clase "Biblioteca" que cuenta con el atributo nombre. 

La clase biblioteca tiene dos métodos que son "agregar_libros" y "pantalla".

Abajo podemos observar la creación del objeto biblioteca, donde se instancia la clase Biblioteca y se coloca el atributo nombre.

También se puede observar la creación de los objetos libros, donde se instancia la clase Libros y se coloca los atributos titulo, autor.

Y por ultimo se instancia los métodos de la clase Biblioteca, que son las tareas o acciones que tiene esa clase, en el caso de la clase Biblioteca, se llaman a los métodos agregar_libros y pantalla.

Foro de presentación con propuesta de idea de negocio + Identificación de Stakeholders y roles.

Foro de presentación con propuesta de idea de negocio + Identificación de Stakeholders y roles La empresa MR Delicious , dedicada a la produ...