Please enable JavaScript.
Coggle requires JavaScript to display documents.
“C# y la programación orientada a objetos +Realizado por Alexandra García
“C# y la programación orientada a objetos +
Realizado por Alexandra García
¿Cuales son los elementos que fundamentan la Programación Orientada a Objetos?
Formularios y controles
Controles:
Cajas de texto, botones de opción y selección, barras de desplazamiento, gráficos, menús etc.
GroupBox: Componente que muestra un marco alrededor de un grupo de controles con un título opcional.
Button: Componente que permite implementar un Botón de pulsación.
Label: Proporciona información en tiempo de ejecución o texto descriptivo para un control
TextBox: Componente que permite ingresar una línea de texto y editarlo
PictureBox: Componente permite mostrar una imagen en el formulario.
CheckBox: Permite seleccionar o deseleccionar uno o varios ítems de un conjunto de opciones.
RadioButton: Componente para mostrar varias opciones de las cuales sólo se puede seleccionar una.
ComboBox: Usado para implementar una lista desplegable de varias opciones de las cuales sólo se puede seleccionar una.
ListBox: Permite implementar una lista con varias opciones de las cuales se puede seleccionar una o varias.
MenuStrip: Permite implementar un menú de ítems y subítems de opciones en formularios Windows.
DataGridView: Muestra filas y columnas de datos en una cuadrícula que se puede personalizar.
Formularios:
Un formulario web dentro de una página web permite al usuario introducir datos los cuales son enviados a un servidor para ser procesados. Los formularios web se parecen a los formularios de papel porque los internautas llenan dichos formularios usando casillas de selección, botones de opción, o campos de texto.
Propiedades de los controles:
BackColor: Permite modificar el color de fondo de un componente.
ForeColor: Propiedad para modificar el color de la letra de un componente.
Font: Permite modificar la fuente, el estilo y el tamaño de la letra de un componente.
Visible: Propiedad que permite establecer si el control estará o no visible.
Text: Para definir la línea de texto que se va a visualizar en el componente.
Cursor: Define el estilo del cursor del Mouse.
ToolTipText: Permite ingresar un mensaje de ayuda que se visualizará cuando pasemos el mouse sobre el componente.
Enable: Permite habilitar o deshabilitar un componente.
Objetos:
Se trata de un ente abstracto usado en programación que permite separar los diferentes componentes de un programa, simplificando así su elaboración, depuración y posteriores mejoras.
Los objetos integran, a diferencia de los métodos procedurales, tanto los procedimientos como las variables y datos referentes al objeto.
A los objetos se les otorga ciertas características en la vida real. Cada parte del programa que se desea realizar es tratado como objeto, siendo así estas partes independientes las unas de las otras.Los objetos se componen de 3 partes fundamentales: metodos, eventos y atributos.
Eventos
: Un evento es un suceso que ocurre como consecuencia de la interacción del usuario con la interfaz gráfica.
Un evento es un mensaje que envía un objeto cuando ocurre una acción. La acción podría ser debida a la interacción del usuario, El objeto que provoca el evento se conoce como emisor del evento. El emisor del evento no sabe qué objeto o método recibirá (controlará) los eventos que genera. El evento normalmente es un miembro del emisor del evento; por ejemplo, el evento Click es un miembro de la clase Button, y el evento PropertyChanged es un miembro de la clase que implementa la interfaz INotifyPropertyChanged
● Pulsación de un botón.
● Cambio del contenido en una caja de texto.
● Deslizamiento de una barra.
● Activación de un CheckBox.
● Movimiento de la ventana.
● Etc.
Propiedades y métodos
Propiedad:
Las propiedades son miembros que ofrecen un mecanismo flexible para leer, escribir o calcular los valores de campos privados. Se pueden utilizar las propiedades como si fuesen miembros de datos públicos, aunque en realidad son métodos especiales denominados descriptores de acceso. De este modo, se puede tener acceso a los datos con facilidad, a la vez que proporciona la seguridad y flexibilidad de los métodos.
Una propiedad es un miembro que pertenece a una clase y que nos permite obtener un valor (get) o asignar un valor (set).
Ejemplo:
Get: Es una propiedad de Lectura, siempre debe llevar Return (Nombre del atributo)
Set: Es una propiedad de Escritura, siempre debe lllevar un Value, el cuál es el valor qué es tomado por el atributo reemplazado.
Fuente:
https://www.youtube.com/watch?v=HRVZgOJm6bI
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.
Los métodos no se pueden definir dentro de otros métodos (Ej: Método Main), y adicional deben estar incluidos dentro de la clase.
Ejemplos:
Método Move: mueve un formulario en un espacio de dos dimensiones en la pantalla
*Método Zorder: sitúa el formulario delante o detrás de otras ventanas
Los métodos son invocados dando nombres al objeto y cuyo método se está llamando, listando el operador punto (.), y después listando el nombre del método. Como cualquier rutina los métodos pueden incorporar argumentos
Campos
Es una variable declarada dentro de una clase, puede ser de los siguientes tipos:
Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.
Booleano: admite dos valores, «verdadero» ó «falso».
Autoincrementable: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta más que evidente: servir de identificador registro.
Numérico: existen de varios tipos principalmente como enteros y reales.
Alfanumérico: contiene cifras numéricas y caracteres alfabéticos.
Memo: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.
Clases
: Una definición de clase o estructura es como un plano que especifica qué puede hacer el tipo. Un objeto es básicamente un bloque de memoria que se ha asignado y configurado de acuerdo con el plano. Un programa puede crear muchos objetos de la misma clase. Los objetos también se denominan instancias y pueden almacenarse en una variable con nombre, o en una matriz o colección. El código de cliente es el código que usa estas variables para llamar a los métodos y acceder a las propiedades públicas del objeto. En un lenguaje orientado a objetos, como C#, un programa típico consta de varios objetos que interactúan dinámicamente.
Atributos:
Los atributos constituyen un medio apropiado para asociar metadatos o información declarativa con código (ensamblados, tipos, métodos, propiedades, etc.). Después de asociar un atributo a una entidad del programa, éste se puede consultar en tiempo de ejecución mediante una técnica denominada reflexión
Son características que aplican al objeto solo en el caso en que el sea visible en pantalla por el usuario; entonces sus atributos son el aspecto que refleja, tanto en color, tamaño, posición, si está o no habilitado.
Propiedades de los atributos:
Los atributos agregan metadatos al programa. Los metadatos son información sobre los tipos definidos en un programa. Todos los ensamblados .NET contienen un conjunto de metadatos especificado que describe los tipos y los miembros de tipo definidos en el ensamblado. Puede agregar atributos personalizados para especificar toda información adicional necesaria.
Se puede aplicar uno o más atributos a todos los ensamblados, módulos o elementos de programa más pequeños, como las clases y las propiedades.
Los atributos pueden aceptar argumentos del mismo modo que los métodos y las propiedades.
Usos comunes de los atributos:
Marcar métodos utilizando el atributo WebMethod en los servicios Web para indicar que se podrán invocar con el protocolo SOAP.
Describir cómo calcular las referencias de parámetros a método cuando se interopera con código nativo. Para obtener más información, vea MarshalAsAttribute.
Describir las propiedades COM para clases, métodos e interfaces.
Llamar a código no administrado mediante la clase DllImportAttribute.
Describir los ensamblados en cuanto a título, versión, descripción o marca.
Describir qué miembros de una clase hay que serializar para la persistencia.
Describir cómo realizar asignaciones entre miembros de clases y nodos XML para la serialización de XML.
Describir los requisitos de seguridad para métodos.
Especificar las características utilizadas para reforzar la seguridad.
Controlar optimizaciones mediante el compilador just-in-time (JIT) para que el código se conserve sencillo para depurar.
Obtener información sobre el llamador a un método.
El programa puede examinar sus propios metadatos o los metadatos de otros programas mediante la reflexión.
Polimorfismo:
Es una técnica para optimizar la funcionalidad basada en tipos particulares.
La diferencia entre herencia y polimorfismo es que herencia está relacionada con clases y polimorfismo con métodos.
Se puede modificar localmente el comportamiento de los métodos heredados
De esta manera, objetos de diferentes tipos pueden responder de forma diferente a la misma llamada
Ejemplo: Tenemos a una rana, un pájaro y una vaca, todos estos tienen un movimiento por lo tanto si creamos una clase llamada Animal y generamos una más cómo movimiento, esta se podría heredar
Gracias al polimorfísmo, cada objeto concreto realizaría la operación mover como corresponda
Existen 3 tipos de polimorfismo:
Sobrecarga:
Es cuando existen funciones con el mismo nombre, con funcionalidad similar; en clases que son completamente independientes una de la otra.
Parámetrico:
Existen funciones con el mismo nombre pero se usan diferentes parámetros (nombre o tipo). Se selecciona el método dependiendo del tipo de datos que se mande.
Inclusión:
Es cuando se puede llamar a un método sin tener que conocer su tipo, así no se toma en cuenta los detalles de las clases especializadas, utilizando una interfaz común.
¿Cómo interpreta el término reutilización de código en Programación Orientada a Objetos?
Herencia: Es la habilidad de extender una funcionalidad existente definiendo una nueva clase que hereda funcionalidad de una clase existente. Lo cual nos ahorrara mucho tiempo a los programadores.
Es un mecanismo que sirve para reutilizar clases
Se utiliza cuando existen clases que comparten muchas de sus características
Se extiende la funcionalidad de clases más genéricas
Se introducen los conceptos de superclase y subclase
Podemos aprovecharla y extenderla para crear nuestra nueva clase. Esta nueva clase se llamara subclase y la clase que ya teníamos se llamara superclase.
La subclase heredara todos los atributos y los métodos que fueron definidos en la clase padre. Si necesitamos cambiar algún método, se puede sobrescribir el comportamiento en nuestra subclase; utilizando el mismo nombre y los mismos argumentos del método que se encuentra en la subclase. O bien si se requiere crear un nuevo método lo podemos incluir en nuestra subclase.Una clase puede heredar atributos por dos superclases (clases padres). La herencia múltiple puede ser usada para agrupar atributos y métodos de distintas clases en una sola.
¿Cual es el mayor beneficio del concepto de Clase?
Lo bueno de las clases es qué son un molde en el qué puedes crear muchos objetos con características similares, estas te permiten heredar sus atributos, reutilizando de este modo el código sin tener qué volver a escribirlo. Esto permite que el programador tenga una agilización en la creación de su programa y un mayor dinamismo ya qué le permite ser más rápido en la creación del mismo.