La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la Programación Orientada a Objetos en C#

Presentaciones similares


Presentación del tema: "Introducción a la Programación Orientada a Objetos en C#"— Transcripción de la presentación:

1 Introducción a la Programación Orientada a Objetos en C#
Programa Microsoft DCE Introducción a la Programación Orientada a Objetos en C# Estrella 0

2 Objetivo Mostrar cómo aplicar los conceptos fundamentales de programación orientada a objetos utilizando el lenguaje Microsoft Visual C#.NET

3 Prerrequisitos Poseer los conocimientos proporcionados en los siguientes módulos de la Estrella 0: Fundamentos de Programación Introducción a la Orientación a Objetos

4 Temas a Tratar Introducción a C# Sintaxis Temas Generales
Definición e inicialización de variables Operadores Estructuras de Control Clases y Objetos

5 Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002)
Orientado a Objetos y Componentes Sintaxis derivada de C, C++, Delphi y Java

6 Compilador Compilador de Línea de Comandos C#
Cumple con la especificación del CLS <Win>\Microsoft.NET\Framework\<version>\csc.exe Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs” Al descargar de internet gratuitamente el .NET Framework SDK (Software Development Kit), usted podrá comenzar a desarrollar aplicaciones simples en un editor de texto cualquiera y compilarlas utilizando los compiladores de línea de comandos incluídos en el paquete.

7 Temas a Tratar Introducción a C# Sintaxis Temas Generales
Definición e inicialización de variables Operadores Estructuras de Control Clases y Objetos

8 C# - Terminación de línea
C#: la línea finaliza con un “ ; ” //Una linea con mas de un renglon string nombre = primerNombre + apellido; //El punto y coma indica FINAL de linea

9 C# - Declaración de Bloques
En C# los bloques se declaran entre llaves class MainClass{ public static void Main(string[] args) { Console.WriteLine("Hello World!"); }

10 C# - Comentarios C# soporta tres tipos de comentarios
string nombre = “Juan”; // Comentario de una sola línea /* Comentario con mas de una línea*/ /// <summary> /// Documentación XML que puede ser consumida por otras /// herramientas para mostrar ayuda dinámica o generar /// documentación en varios formatos /// </summary> public class Matematica { /// Calcula la suma de dos números enteros /// <param name="x">El primer operando de la suma</param> /// <param name="y">El segundo operando de la suma</param> /// <returns> La suma entera de ambos operandos</returns> public int Sumar (int x, int y) {return x + y;} }

11 C# - Case Sensitivity C# distingue entre mayúsuclas y minúsculas
system.console.writeline(“HOLA”); INCORRECTO System.Console.WriteLine(“HOLA”); CORRECTO

12 Temas a Tratar Introducción a C# Sintaxis Temas Generales
Definición e inicialización de variables Operadores Estructuras de Control Clases y Objetos

13 Tipos de Datos Categoría Clase Descripción C# Alias Enteros Byte
Un entero sin signo (8-bit) byte     SByte Un entero con signo (8-bit) sbyte Int16 Un entero con signo (16-bit) short Int32 Un entero con signo (32-bit) int Int64 Un entero con signo (64-bit) long Punto Flotante Single Un número de punto flotante de simple precisión (32-bit) float Double Un número de punto flotante de doble precisión (64-bit) double Decimal Un número decimal de 96-bit decimal Lógicos Boolean Un valor booleano (true o false) bool Otros Char Un caracter Unicode (16-bit) char Object La raíz de la jerarquía de objetos object String Una cadena de caracteres unicode inmutable y de tamaño fijo string

14 C# - Alcance de miembros
Miembro: se refiere a los campos, propiedades, métodos, eventos, clases anidadas, etc. C#: todo miembro es declarado como PRIVATE por default Modificadores de acceso disponibles: protected internal protected internal private public C#

15 C# - Declaración de Variables
C#: el tipo de dato precede al identificador (nombre) int x; decimal y; rectangle z; Cliente cli;

16 C# - Inicialización de Variables
C#: toda variable debe ser inicializada EXPLICITAMENTE antes de ser usada int tempBalance; //variable local //ERROR: tempBalance NO ha sido inicializada System.Console.WriteLine(tempBalance);

17 C# - Conversiones de Tipos
C# no permite conversiones implícitas de tipos Si falla el cast se devuelve null o InvalidCastException Cuenta cta = new CtaCte(); CtaCte cc = cta; //Error: puede que cta no sea una CtaCte CtaCte cc = (CtaCte)cta; //Conversion explicita “CASTING” CtaCte cc = cta as CtaCte; //Usando el operador “as” if (cta is CtaCte) ... //Comp. con el operador “is”

18 C# - Arreglos C# utiliza corchetes [ ] para definición de arrays
string[] telefonos; //Definicion de un Arreglo de strings telefonos = new string[3]; //De 3 elementos telefonos[0] = “1245”; //Seteo del 1er elemento del arreglo //Definicion y asignacion de una vez telefonos = new string[] {“1”,“2”,“3”};

19 Temas a Tratar Introducción a C# Sintaxis Temas Generales
Definición e inicialización de variables Operadores Estructuras de Control Clases y Objetos

20 C# - Operadores Descripción C# Asignación = Adición + Sustracción -
Multiplicación * División / Negación ! Módulo (Parte entera de la división) % Mayor > Menor < Mayor o Igual >= Menor o Igual <=

21 C# - Operadores Lógicos
&& Operador logico Y ll Operador logico O ! Negacion logica == Igual   != Distinto Todas las evaluaciones se hacen por “cortocircuito” //Si Hacer1() es True, entonces //Si Hacer1() es False, entonces //NO se evalua Hacer2() //NO se evalua Hacer2() if (Hacer1() || Hacer2()) if (Hacer1() && Hacer2()) { { } }

22 Temas a Tratar Introducción a C# Sintaxis Temas Generales
Definición e inicialización de variables Operadores Estructuras de Control Clases y Objetos

23 C# - Sentencias condicionales
C#: sentencia if con varios formatos if (x > 10) if (x < 10) if (x < 10) if (x < 10) HacerAlgo(); { { { Hacer1(); Hacer1(); Hacer1(); Hacer2(); } } } else else if (x > 20) { { Hacer2(); Hacer2(); } } else { Hacer3(); }

24 C# - Sentencias condicionales
C#: sentencia case int a = 0; switch(a) { case 1:{//CODIGO 1 break; } case 2: {//CODIGO 2 default:{//CODIGO DEFAULT

25 C# - Sentencia for C#: la sentencia for consta de tres partes
//Partes: declaración, prueba, acción for (int i=1; i < 10; i++) { }

26 C# - Sentencia for/each
For/Each permite recorrer arreglos y colecciones C#: usa la palabra foreach string[] nombres = new string[5]; foreach(string auxNombre in nombres) { //auxNombre es de SOLO LECTURA }

27 C# - Sentencia while C#: bool condicion = true;
while (condicion == true){ //En algún momento poner condicion = false }

28 Temas a Tratar Introducción a C# Sintaxis Temas Generales
Definición e inicialización de variables Operadores Estructuras de Control Clases y Objetos

29 C# - Clases C#: las clases son declaradas mediante class
//Definicion de la clase CuentaBancaria class CuentaBancaria { //Definicion de miembros }

30 Sintaxis – Entry Point C#: public class HolaMundo {
public static void Main(string[] args){ //Punto de entrada de la aplicación }

31 C# - Métodos Métodos: acciones que un objeto puede llevar a cabo.
En C# todo método es una función public void HacerDeposito(int importe) //No devuelve valor especifico { } public int ObtenerInventario(int codArticulo) //Devuelve un entero

32 C# - Constructores Constructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase. En C# tienen el mismo nombre de la clase class CtaCte { public CtaCte(){...} //Const. por default public CtaCte(int i){...} //Const. con un parametro }

33 C# - Instancias Instancia: Es la creacion de un OBJETO a traves de una clase. métodos dentro de la clase. Las instancias llaman a los constructores por defecto o con parametros. CtaCte cc = new CtaCte(); //CtaCte Tipo de Objeto //cc nombe de objeto //new palabra reservada para la creacion de objetos //CtaCte() constructor por defecto de la clase CtaCte. }

34 C# - Sobrecarga de Métodos
Sobrecarga: varios métodos con el mismo nombre pero diferente “firma”. C# public void HacerDeposito(int importe) { } public void HacerDeposito(int importe, bool acreditar)

35 C# - Métodos estáticos Miembros que no requieren de una instancia para ser invocados. Se los llama métodos “de clase” C# public static void HacerDeposito(int importe) { }

36 C# - Propiedades Propiedad: característica o atributo de un objeto C#
class CtaCte { int balance; public int Balance get return balance; } set balance = value; CtaCte cc = new CtaCte(); cc.Balance = 100; //Asignación Mostrar(cc.Balance); //Obtención Las propiedades permiten implementar el encapsulamiento, impidiendo el acceso directo a los atributos de una clase y proporcionando un mecanismo para poder obtener y asignar sus valores. Nótese que como VB.NET no distingue entre mayúsculas y minúsculas no es posible utilizar para el miembro de la clase el mismo nombre que para la Propiedad. Sin embargo, es importante que ambos tengan nombres significativos para la lógica de la aplicación. No se recomienda el agregado de prefijos o sufijos a los nombres.

37 En .NET solo se permite Herencia Simple
C# - Herencia En C# la herencia se define: class Cuenta //Clase Base { } class CtaCte : Cuenta //Clase Derivada En .NET solo se permite Herencia Simple

38 C# - Herencia (Cont.) En C# public sealed class Cuenta{
//No se puede heredar de esta clase “sellada” } public abstract class Cuenta{ //No se pueden crear instancias de esta clase, sólo //de sus derivadas Dos palabras clave que afectan la “habilidad” de heredar desde una clase base.

39 C# - Namespaces C# namespace BancoARG { //Referencia “full”
namespace Gestion public class CtaCte } public class CajaAhorro //Referencia “full” BancoARG.Gestion.CtaCte; BancoARG.Gestion.CajaAhorro; //Referencia “corta” using BancoARG.Gestion; CtaCte cc = new CtaCte(); CajaAhorro ca = new CajaAhorro(); Los namespaces (espacios de nombre) funcionan como un método de organización de clases (tanto las que escribimos nosotros como las incluidas en .NET), agrupando en un conjunto a aquellas clases que están relacionadas lógicamente. Un namespace puede contener tanto tipos (clases) como otros namespaces, y dentro de un namespace no puede haber dos clases con el mismo nombre. El nombre completo de una clase se construye a partir de todos los namespaces que la contienen (la jerarquía se arma separándolos con “.”) + el nombre mismo de la clase.

40 C# - Admin. De Excepciones
Excepción: condición anómala de funcionamiento de una aplicación C#: usa las palabras try/catch/finally try { int resultado = x/y; } catch(DivideByZeroException e) //Error division por cero catch //Otro error finally //Siempre pasa por aca .NET provee una forma estructurada de manejar los errores que ocurren en tiempo de ejecución (llamados excepciones), a través de los bloques Try/Catch. Si bien se verá este tema con mayor detalle a lo largo del curso, los conceptos básicos son los siguientes: Todo código que sea susceptible a fallar en tiempo de ejecución debe ir dentro de un bloque “Try” Debemos proveer al menos un bloque “Catch” que “atrapará” una excepción en caso de producirse y hará algo con ella (mostrará un mensaje, enviará un mail, registrará el error, etc.) Si en tiempo de ejecución se produce una excepción dentro del código que se encuentra en el bloque Try, el flujo de control es automáticamente direccionado al primer bloque Catch capaz de atraparla, y nunca vuelve al código dentro del bloque Try. Independientemente de la ocurrencia o no de excepciones, la ejecución termina dirigiéndose al bloque Finally (optativo), que es utilizado típicamente para finalizar ordenadamente recursos que se hayan estado utilizando (archivos, conexiones a una base de datos, etc.).

41 © 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Descargar ppt "Introducción a la Programación Orientada a Objetos en C#"

Presentaciones similares


Anuncios Google