Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 41

Programación Orientada a

Objetos en C#
Desarrollo de Aplicaciones Empresariales Avanzadas
Semana: 1
Capacidad

Desarrollo de aplicaciones mediante


procedimientos y funciones

Programación Orientada a Objetos en el


desarrollo de un programa en C#
Logro de la Sesión

Reconoce el desarrollo de
aplicaciones empleando
procedimientos, funciones y la POO
en C#
Contenido a Tratar

IDE Visual Studio, el framework.NET y C#

Procedimientos y Funciones

Programación Orientada a Objetos


Entorno de las aplicaciones de Escritorio en C#
IDE Visual Studio,
.NET Framework y C#
IDE Visual Studio
• Visual Studio es un conjunto de herramientas que nos
permite desarrollar aplicaciones de escritorio, web
y móviles empleando Visual Basic, Visual C#, Visual
C++, etc.
• Puede hacer uso de las funciones del framework
.NET, el cual provee acceso a diversas tecnologías que
aceleran y simplifican el desarrollo de aplicaciones.
• Dispone de dos contenedores para administrar los
elementos necesarios para el desarrollo como

referencias, conexiones de datos, carpetas y


archivos. Estos contenedores se denominan
soluciones y proyectos.
Conceptos a tener en cuenta
• Solución
– Contenedor de uno o más proyectos, incluye la configuración de
Visual Studio, preferencias de usuario y demás archivos no asociados a
ningún proyecto.
• Proyecto
– Un proyecto permite administrar, compilar y depurar los elementos
que forman parte de su aplicación. El resultado de un proyecto suele
ser un ejecutable, una biblioteca DLL, etc.
• Referencia
– Es un vinculo a un componente o servicio externo que incluye
funciones necesarias para incluirse en nuestra aplicación y que no
están integradas.
• Namespace (Espacio de nombres)
– Permite organizar los distintos tipos en un programa en C#. Es similar
a una carpeta. Permiten a las clases tener un nombre completo único.
Un programa en C# contiene uno o más namespace.
Solución y proyectos en Visual
Studio
.NET Framework
• .NET Framework es un entorno de ejecución
runtime que proporciona diversos servicios a las
aplicaciones en ejecución.
• Incorpora Common Language Runtime (CLR),
que proporciona administración de la memoria y
otros servicios del sistema.
• Incluye una biblioteca de clases completa y
reutilizable, que permite a los programadores
aprovechar el código sólido y confiable de esta
plataforma en sus aplicaciones.
Servicios que ofrece .NET
Framework
• Administración de memoria:
– El desarrollador ya no es responsable por la gestión de memoria y vida de los
objetos. Ahora CLR se encarga de ello.
• Sistema de tipos comunes:
– Mejora la interoperabilidad entre lenguajes de programación al unificar
los tipos básicos comunes a todos los leguajes de
siendo
programación.
• Biblioteca de clases
– El framework proporciona una biblioteca de clases accesible. Lo que permite al
extensa:
desarrollador controlar operaciones comunes de programación de bajo nivel.
• Marcos y tecnologías de desarrollo:
– Incluye bibliotecas para determinadas áreas de desarrollo:
• ASP .NET para aplicaciones web
• ADO .NET para acceso a datos
• Windows Communication Foundation para
aplicaciones orientadas a servicios
Servicios que ofrece .NET
Framework
• Interoperabilidad de lenguajes
– Los compiladores de lenguajes en .NET emiten un codigo
denominado Lenguaje Intermedio Común (CIL), el cual
se compila en runtime a través de CLR.
• Compatibilidad de versiones
– Por lo general, las aplicaciones desarrolladas con una versión
de .NET se pueden ejecutar tal cual en una versión posterior
• Compatibilidad con múltiples versiones
(multi- targeting)
– Al usar la biblioteca de clases de .NET, los desarrolladores
pueden crear ensamblados que funcionen en varias
plataformas, como Windows 10, Windows 8, Windows 7,
Windows Mobile, Xbox One
Lenguaje de programación C#
• C# es un lenguaje elegante, con seguridad de
tipos y orientado a objetos que permite a los
desarrolladores crear aplicaciones robustas
sobre .NET Framework.
• Se puede usar C# para crear aplicaciones de
Windows, servicios web XML, aplicaciones
cliente servidor, aplicaciones de base de datos.
• Visual C# integra un editor de código avanzado, un
diseñador de interfaz de usuario, un depurador
integrado y herramientas que facilitan el desarrollo.
Sintaxis del lenguaje C#
• Su sintaxis es muy expresiva, pero también
sencilla y fácil de aprender.
• Cualquier persona familiarizada con C, C++ o
Java, reconocerá al instante la sintaxis de llaves de
C#.
• Proporciona características que no se encuentran en
Java, como enumeraciones, expresiones lambda y
acceso directo a memoria
• Las expresiones Language-Integrated Query
(LINQ) convierten la consulta fuertemente tipada en
una construcción de lenguaje de primera clase.
Sintaxis del lenguaje C#
• C# admite conceptos de encapsulación, herencia y
polimorfismo.
• Las variables y métodos (incluido el Main), se
encapsulan dentro de la definición de clase.
• Una clase puede heredar de una clase primaria, pero
puede implementar también interfaces. Para invalidar
un método de clase primaria se usa la palabra clave
Override
• Para interactuar con otro software de Windows, como
objetos COM o archivos DLL nativos de Win32, puede
hacerlo mediante un proceso llamado
“Interoperabilidad”
Arquitectura en .NET Framework
Ejemplo: Hola Mundo

Hola mundo
Ejemplo: Common Intermediate
Language
.assembly extern mscorlib {}
.assembly Program
{
.ver 1:0:1:0
}
.module Program.exe
.method static void main() cil managed
{
.maxstack 1
.entrypoint
ldstr "Hola mundo"
call void [mscorlib]System.Console::WriteLine (string)
ret
}
Procedimientos y
funciones
(Métodos)
Procedimientos y funciones en C#
• Se trata de los métodos propios de una clase, los cuales
contienen una serie de instrucciones y para su ejecución se les
ha de llamar por su identificador o nombre.
• Es posible asignarles parámetros en su invocación.
• Son básicamente lo mismo, se diferencian en que uno,
devuelve un dato y el otro no.
• Procedimiento:
– Conjunto de instrucciones que realizan una tarea.
• Función:
– Igual que el anterior pero retorna un valor.
• Clase:
– Concepto de POO, encapsula funcionalidad,
contiene variables y métodos.
Tipos de procedimientos y
funciones
• 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 (asignar/recuperar) las
propiedades de los objetos creados mediante
encapsulación.
Modificadores de acceso
(Visibilidad)
• public
– Tiene acceso, al objeto, desde cualquier otro código en el
mismo ensamblado o de otro ensamblado que haga referencia.
• private
– Solamente desde el código de la misma clase puede acceder al
objeto.
• protected
– Solamente el código de la misma clase o de una derivada
puede acceder al objeto.
• internal
– Puede tener acceso al objeto desde cualquier código del
mismo ensamblado, pero no de un ensamblado distinto.
Ejemplo: Procedimiento y función

//Procedimiento Procedimiento de
private void Saludar() visibilidad privada,
{ void no retorna valor. Su
Console.WriteLine("Hola mundo");
nombre es Saludar.
Escribe una cadena en
} consola.

//Función
public int Suma(int a, int b) Función de visibilidad
{
pública, de tipo int,
recibe dos parámetros.
return a + b; Su nombre es Suma y
} al ejecutarse, retorna un
valor (a + b)
Ejemplo: Procedimiento de
propiedades
//Procedimiento de propiedades Se llaman
public int Edad(){
encapsuladores ya que el
get {
return edad; valor de la propiedad se
} encapsula. Se usan
set { cuando queremos asignar
edad = valor; / recuperar un valor
} mediante set / get
}

//Procedimiento de propiedades: encapsulación automática


public int Edad { set; get; }
Programación Orientada a
Objetos
Conceptos sobre POO
• C# proporciona compatibilidad completa para la
programación orientada a objetos incluidos el
encapsulamiento, herencia y polimorfismo.
– Encapsulamiento significa que un grupo de
propiedades, métodos y otros miembros relacionados se
tratan como una sola unidad u objeto.
– La herencia describe la posibilidad de crear nuevas
clases basadas en una clase existente.
– El polimorfismo significa que puede tener múltiples clases
que se pueden usar de manera intercambiable, aunque cada
clase implementa las mismas propiedades o los mismos
métodos de maneras diferentes.
POO: Clases y objetos
• Los términos clase y objeto se usan indistintamente pero, las
clases describen el tipo de los objetos. Mientras que los objetos
son instancias de clases que se pueden usar.
• La acción de crear un objeto se denomina: instanciar una
clase.
– La clase Perro, define características generales y
comportamiento de un animal.
– El objeto Toby, se crea a partir de la clase Perro y
viene a
ser una instancia de la misma.

TOBY
PERRO
POO: Encapsulamiento
• Una clase representa las características de algo y las
acciones que puede realizar. Por ejemplo, para
representar un animal como una clase de C#, puede
asignarle un tamaño, velocidad y fuerza, que se
representan como números, y algunas funciones como
Caminar(), Correr(), Detenerse(), etc., en las que podría
escribir código para que el "animal" rpeuballiicc
ecleasssasAnaimcaclio{nes.
private int tamanio;
private float velocidad;
private int fuerza;

public void Caminar() {


// aquí el código...
}
// otros métodos aquí
}
POO: Herencia
• Una clase puede heredar de otra, lo que significa que
incluye todos los miembros, públicos y privados, de
la clase original. La clase original se denomina clase
base y la nueva clase se denomina clase
derivada.
• Una clase derivada se crea para representar algo que es
un tipo más especializado de la clase base. Por ejemplo,
una clase Gato que hereda de Animal.
GpuabtloicpculeasdseGhataoc:erAnloimaml ismo que Animal, más
una a{cción única adicional.
public void Maullar()
{
// acción única de Gato
}
}
POO: Polimorfismo
• Las clases base pueden definir e implementar métodos
virtuales, y las clases derivadas pueden invalidarlos, lo
que significa que pueden proporcionar su propia
definición e implementación.
public class Figura {
public virtual void Dibujar() {
// método Virtual para dibujar
}
}
class Circulo : Figura {
public override void Dibujar() {
// método dibujar reemplazado
base.Draw();
}
}
POO: Polimorfismo, sobrecarga
• La sobrecarga es la creación dentro de la clase, de
un grupo de métodos que tienen el mismo nombre
pero con un número de parámetros distinto y/o bien
distintos tipos de datos.
public class Figura {
public void Dibuja() {
// Dibuja con un color y grosor predefinidos.
}
public void Dibuja(int color) {
// Dibuja con un color personalizado
}
public void Dibuja(int color, int grosor) {
// Dibuja con un color y grosor personalizados
}
}
Entorno de aplicaciones
de escritorio en C#
Aplicaciones Windows Forms
• Visual Studio proporciona una herramienta para el
diseño de interfaces gráficas de usuario (GUI)
mediante una superficie donde el desarrollador,
haciendo uso de los controles de Windows Forms,
puede interactuar con el usuario para manipular
información.
• Los controles que se agregan permiten programar
respuestas a las acciones del usuario, como clic del
mouse, presión de teclas, etc. Esto se llama eventos.
• Un control es una clase, por lo cual podemos extender
sus características adaptándolas a lo que necesitemos.
Windows Forms: Entorno de trabajo
Windows Forms: Hola mundo
using System;
using System.Windows.Forms;

namespace WindowsFormsApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnSaludar_Click(object sender, EventArgs e)


{
MessageBox.Show("Hola " + txtNombre.Text + ", como estás?");
}
}
}
Windows Forms: Hola mundo
Controles y componentes por
función
• Presentación de datos
– DataGridView: proporciona una tabla (celdas, filas,
columnas, bordes) personalizable
• Edición de texto:
– TextBox, RichTextBox, MaskedTextBox
• Información de solo lectura
– Label, LinkLabel, ProgressBar
• Selección de lista
– ComboBox, ListBox, TreeView
• Gráficos
– PictureBox
• Diálogos
– ColorDialog, FontDialog, OpenFileDIalog, etc.
Controles y componentes por
función
¿Preguntas?
Siguiente clase

• Tipos de formularios y controles avanzados


– Aplicaciones MDI
– Controles comunes
– Contenedores
– Datos y componentes
Bibliografía

• https://msdn.microsoft.com/library
• https://docs.microsoft.com/es- es/dotnet/csharp/getting-
started/introduction-to-the- csharp-language-and-the-
net-framework
• https://opbuildstorageprod.blob.core.windows.net/ou
tput-pdf-files/en-us/VS.core-
docs/live/csharp/programming-guide/concepts.pdf
• http://csharp.com.es/
GRACIAS

También podría gustarte