Mostrando las entradas con la etiqueta HERRAMIENTAS DE PROGRAMACION II. Mostrar todas las entradas
Mostrando las entradas con la etiqueta HERRAMIENTAS DE PROGRAMACION II. Mostrar todas las entradas

sábado, 11 de mayo de 2019

Paradigma de la Programación Orientada a Objetos

Mis Aprendizajes sobre la programación Orientada a Objetos - POO


Paradigma de la Programación a Objetos.

Resumen.


La programación orientada a objetos es un paradigma de programación debido a que introduce una nueva manera de desarrollar soluciones computacionales que tal vez los métodos de programación contemporáneos no ofrecían de manera manejable y de fácil mantenimiento.

La POO está basada en el concepto de objeto, el cual contiene datos en la forma de campos o también conocidos como atributos, el código en la forma de procedimientos también llamados métodos. Una característica de los procedimientos de los objetos es que pueden acceder y regularmente modificar los datos en los campos de los objetos con los que ellos están asociados. En la POO los programas están diseñados para hacer que los objetos interactuen unos con otros.

La diferencia que ofrece este nuevo paradigma respecto a los viejos es que, en un lenguaje de procedimientos, no hay ningún enlace entre los datos y los procedimientos que los manejan. Por el contrario en un lenguaje orientado a objetos agrupamos los datos con el código que lo manejan. Las CLASES son la representación simbólica de los OBJETOS. Las CLASES describen campos, propiedades, métodos y eventos.

Haciendo una analogía con el trabajo de un ingeniero, la CLASE se correspondería con el plano de un motor y e OBJETO serían los diferentes motores que se construyen a partir de ese plano. Crear un OBJETO a partir de un una clase es lo que se llama INSTANCIAR.

Las tres propiedades de la POO son:


ENCAPSULACIÓN: Agrupa datos y códigos en una única clase.
HERENCIA: Permite la creación de una nueva clase a partir de otra ya existente, de la cual se hereda todo y puede personalizarse añadiendo o modificando propiedades y métodos heredados. Las clases creadas a partir de otras existentes se llaman CLASES DERIVADAS.
POLIMORFISMO: Gracias a esta propiedad se pueden utilizar diferentes clases de forma intercambiable. Otros conceptos asociados al polimorfismo son la SOBRECARGA,  SOBRESCRITURA y la OCULTACIÓN.


Clases en POO.

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. Por ejemplo si definimos trabajamos en una empresa debe existir la clase empleado, que a su vez produce los objetos empleado con unas características, propiedades y maneras de interactuar. Por poner otro ejemplo vamos a ver cómo modelaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.

Propiedades en clases 
Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.

Métodos en las clases 
Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.

Variables de clase: Variables de que pertenecen a la clas como un todo; hay solo una copia de cada una.
Variables de instancia o Atributos: Datos que pertenecen a objetos individuales; todo objeto tiene su propia copia de cada uno.
Variables miembro: Se refiere a ambos, a las variables de instancia y de clase que son definidas por una clase particular.

Objetos en POO.

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.

Los objetos muchas veces corresponden  a cosas que podemos encontrar en el mundo real. Por ejemplo un programa gráfico puede tener un objeto que se llame "circulo", "cuadrado", "menú" , etc. Una tienda online podría tener objetos tales como " carrito", "cliente", y "producto". Ademas algunas veces los objetos representan entidades mas abstractas, como vimos anteriormente la fracción, o por ejemplo un archivo abierto o un objeto que provee la traducción de un lenguaje a otro.  

Métodos.

Un método es un bloque de código que contiene una serie de instrucciones. Un programa hace que se ejecuten las instrucciones al llamar al método y especificando los argumentos de método necesarios. En C#, todas las instrucciones ejecutadas se realizan en el contexto de un método. El método Main es el punto de entrada para cada aplicación de C# y se llama mediante Common Language Runtime (CLR) cuando se inicia el programa.

Métodos de clase: Pertenece a la clase como un todo y tiene acceso solo a las variables de clase y entradas de las llamadas de procedimientos.
Métodos de instancia: Pertenece a los objetos individuales y tiene acceso a las variables de instancias, entradas y variables de clase  por el propio objeto que las esta llamando.
Acceso a métodos.
Llamar a un método en un objeto es como acceder a un campo. Después del nombre del objeto, agregue un punto, el nombre del método y paréntesis. Los argumentos se enumeran entre paréntesis y están separados por comas.


Procedimientos:

En C# tenemos 4 tipos de estos procedimientos:


  • Los procedimientos que ejecutan un código a petición sin devolver ningún resultado.
  • Las funciones que ejecutan un código y devuelven el resultado al código que las llamó.
  • Los procedimientos de propiedades que permiten manejar las propiedades de los objetos creados.
  • Los procedimientos de operador utilizados para modificar el funcionamiento de un operador cuando se aplica a una clase o una estructura.



Mapa mental

https://www.goconqr.com/es/p/18055486-Conceptos-identificados-POO-mind_maps

miércoles, 8 de mayo de 2019

Identificando clases en una aplicación en C#

¿Qué son las clases y cual es la relación con la herencia?
Una clase es una estructura de datos que puede contener miembros de datos (constantes y campos), miembros de función (métodos, propiedades, eventos, indizadores, operadores, constructores de instancias, destructores y constructores estáticos) y tipos anidados. Tipos de clase admiten la herencia, un mecanismo mediante el cual una clase derivada puede extender y especializar una clase base.
Una clase hereda los miembros de su tipo de clase base directa. La herencia significa que una clase contiene implícitamente todos los miembros de su tipo de clase base directa, excepto los constructores de instancias, destructores y constructores estáticos de la clase base. Algunos aspectos importantes de herencia son:
  • La herencia es transitiva. Si C se deriva de B, y B se deriva de A, a continuación, C hereda los miembros declarados en B , así como los miembros declarados en A.
  • Una clase derivada extiende su clase base directa. Una clase derivada puede agregar nuevos miembros a aquellos de los que hereda, pero no puede quitar la definición de un miembro heredado.
  • Constructores de instancias, destructores y constructores estáticos no se heredan, pero todos los demás miembros, independientemente de su accesibilidad declarada (acceso a miembros). Sin embargo, dependiendo de su accesibilidad declarada, es posible que los miembros heredados no esté accesibles en una clase derivada.
  • Una clase derivada puede ocultar (ocultar mediante herencia) los miembros heredados mediante la declaración de nuevos miembros con el mismo nombre o signatura. Tenga en cuenta sin embargo que ocultar un miembro heredado no elimina dicho miembro, simplemente hace que el miembro accesible directamente a través de la clase derivada.
  • Una instancia de una clase contiene un conjunto de todos los campos de instancia declarados en la clase y sus clases base y una conversión implícita (conversiones implícitas de referencia) existe desde un tipo de clase derivada a cualquiera de sus tipos de clase base. Por lo tanto, una referencia a una instancia de alguna clase derivada puede tratarse como una referencia a una instancia de cualquiera de sus clases base.
  • Una clase puede declarar indizadores, propiedades y métodos virtuales y las clases derivadas pueden invalidar la implementación de estos miembros de función. Esto permite que las clases muestren un comportamiento polimórfico ya que las acciones realizadas por una llamada a función miembro varían según el tipo de tiempo de ejecución de la instancia a través del cual se invoca ese miembro de función.



¿Qué ejemplos puede mostrar sobre clases en C#?
1.
using System;
using System.Collections.Generic;
using System.Linq;

using System.Text;

namespace CalculoSuedo
{
class Program
{
void Main(string[] args)
{
int horasTrabajadas;
float costoHora;
float sueldo;
string linea;
Console.Write("Ingrese Horas trabajadas por el operario:");
linea = Console.ReadLine();
horasTrabajadas = int.Parse(linea);
Console.Write("Ingrese el pago por hora:");
linea = Console.ReadLine();
costoHora = float.Parse(linea);
sueldo = horasTrabajadas * costoHora;
Console.Write("El sueldo total del operario es:");
Console.Write(sueldo);
Console.ReadKey();
}
}
}

2.
using System;
using System.Collections.Generic;
using System.Linq;

using System.Text;

namespace EjemploClase
{
class Ejemplo
{
}
¿Qué son los métodos de una clase?
Un método es un bloque de código que contiene una serie de instrucciones. Un programa hace que se ejecuten las instrucciones al llamar al método y especificando los argumentos de método necesarios. En C#, todas las instrucciones ejecutadas se realizan en el contexto de un método. El método Main es el punto de entrada para cada aplicación de C# y se llama mediante Common Language Runtime (CLR) cuando se inicia el programa.
Los métodos se declaran en una clase o struct especificando el nivel de acceso, como public o private, modificadores opcionales como abstract o sealed, el valor de retorno, el nombre del método y cualquier parámetro de método. Todas estas partes forman la firma del método.
Los parámetros de método se encierran entre paréntesis y se separan por comas. Los paréntesis vacíos indican que el método no requiere parámetros.


¿Qué diferencia encuentra entre un método, una función y un procedimiento?


Como un método es un miembro que implementa un cálculo o una acción que puede realizar un objeto o una clase, este calculo puede ser mediante una función o un procedimiento, donde el primero tiene un valor de retorno, mientras que el segundo puede no tener valores de retorno.


Mapa mental


https://www.goconqr.com/es/p/18020192-Identificando-clases-en-una-aplicaci-n-en-C--mind_maps

viernes, 22 de marzo de 2019

Características de las aplicaciones gráficas




Características de una aplicación en un entorno gráfico



  •  El objeto de interés ha de ser de fácil identificación
  •  Diseño ergonómico mediante el establecimiento de menús, barras de acciones e iconos de fácil acceso
  •  Las interacciones se basarán en acciones físicas sobre elementos de código visual o auditivo (iconos, botones, imágenes, mensajes de texto o sonoros, barras de desplazamiento y navegación...) y en selecciones de tipo menú con sintaxis y órdenes
  •  Las operaciones serán rápidas, incrementales y reversibles, con efectos inmediatos
  •  Existencia de herramientas de Ayuda y Consulta
  •  Tratamiento del error bien cuidado y adecuado al nivel de usuario


Elementos de interacción

Button: Un botón gráfico para el que se puede definir una acción que sucederá cuando se presione el botón.

Canvas: Permite pintar o capturar eventos del usuario. Se puede usar para crear gráficos o como clase base para crear una jerarquía de componentes personalizados.

Checkbox: Soporta dos estados: on y off. Se pueden asociar acciones que se ejecuten (triggers) cuando el estado cambie.

Choice: Menú desplegable de opciones.

Label: Cadena de etiqueta en una localización dada.

List: Una lista desplegable de cadenas.

Scrollbar: Desplegable de objetos Canvas.

TextComponent: Cualquier componente que permita editar cadenas de texto.Tiene dos clases hijas: 
TextField: Componente de texto consistente en una línea que puede ser usada para construir formularios.

TextArea: Componente para edición de texto de tamaño variable. 


Eventos que se generan al interactuar con estos elementos.

  • Unload. Se dispara cuando un usuario cierra el formulario usando el comando Cerrar en el menú Control o cuando se ejecuta en código un método Unload.
  • MsgBox puede usarse fácilmente para dar al usuario una oportunidad de cancelar una descarga.
  •  QueryUnload. Se dispara por un evento Unload de formulario, antes de que se ejecute ningún código del evento Unload.
  • Terminate. Se produce cuando se eliminan de la memoria todas las referencia a una instancia de un formulario.
  • El evento KeyPress sucede cuando el usuario pulsa y suelta determinada tecla.
  • El evento KeyDown se produce cuando el usuario pulsa determinada tecla
  • El evento KeyUp al soltar una tecla. 

Los eventos sobre algunos controles generan los siguientes métodos.

Cada tipo de control tiene sus propios métodos o los comparten pero en general tenemos: 
  • MOVE: Que mueve un formulario en un espacio de dos dimensiones en la pantalla.
  • ZORDER: Que sitúa el formulario delante o detrás de otras ventanas.
  • SHOW: Carga y muestra un formulario.



C# y la programación orientada a objetos

C# y la programación orientada a objetos



    ¿Cuales son los elementos que fundamentan la Programación Orientada a Objetos?
    • Los conceptos fundamentales de la POO son los objetos, las clases, la interfase, la herencia, los componentes del objeto como son atributos, estado interno, relaciones.
    ¿Cual es el mayor beneficio del concepto de Clase?
    • Con las clases podemos crear diferentes tipos de objetos que compartan atributos comunes, ademas indicamos como funcionan y los métodos que tendrán los objetos. Ademas podemos crear tipos de datos definidos por el programador.
    ¿Cómo interpreta el término reutilización de código en Programación Orientada a Objetos?
    • Es la capacidad permitida por la herencia y en la cual las soluciones a los problemas ya finalizados se pueden extender a otras soluciones para diferentes problemas.
    ¿Qué significa para usted el Polimorfismo?
    • Significa "muchas formas" y nos permite que por medio de la herencia podamos crear diferentes soluciones que ante diferentes problemas reaccionas de diferentes maneras.


          sábado, 23 de febrero de 2019

          Presentación herramientas de programación II

           Presentación herramientas de programación II

          Resultado de imagen para .net
          En esta nueva entrada de herramientas de programacion vamos aprender y profundizar en el desarrollo de aplicaciones en windows forms y ademas que puedan usar bases de datos.