Sintaxis de C# (Declaraciones y Tipos)

Slides:



Advertisements
Presentaciones similares
Tema 4: Programación Orientada a Objetos en C# y VB.NET
Advertisements

2. Manejo de memoria Manejo de memoria estática
Curso de java básico (scjp)
Introducción a C#.
Programa Microsoft Desarrollador Cinco Estrellas
Introducción a la plataforma .NET.
Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002)
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Uso de variables de tipo referencia
Uso de variables de tipo valor
Desarrollo de aplicaciones para Windows con VB.NET 2005
Nicolás Serrano Febrero 2009
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Orientación a Objetos con Java SE
Repaso para la construcción del intérprete 2012
Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002)
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD LATINA (UNILA)
Algoritmo y Estructura de Datos I
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
Herramientas para el acceso directo a memoria en C++
Conceptos Básicos de Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Lenguaje Java Nicolás Serrano Febrero Command prompt Es la ventana de comandos del anterior sistema operativo: MS-DOS Se pueden definir y ver las.
Modificadores.
TALLER DE PROGRAMACIÓN III
POO Java Módulo 3 Elementos de programas Identificadores
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
LENGUAJE “C” Programación.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
JAVA J.A.C..
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Tema 2: Los tipos de datos
Algoritmos y Desarrollo de Programas I
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Microsoft© Visual Basic . Net.
Resumen Fundamentos de Programación/ Programación I
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
1 Definición y Conversión de datos Agustín J. González ELO-329.
C# desde cero.
Aspectos Básicos de Programación en JAVA
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Prof. Víctor Aquino Urrutia
Introducción a la Programación Orientada a Objetos en C#
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
Tipos de datos básicos en Java
Conceptos y Lenguaje Imperativo
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación Computadoras V Conceptos Generales Profesor: Elian Rojas Berrocal.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Fundamentos básicos del lenguaje C#. Parte 1 Introducción a C#
Transcripción de la presentación:

Sintaxis de C# (Declaraciones y Tipos)

Contenido CTS (Common Type System) Tipos en C# Lenguaje C# Características del Lenguaje Declaraciones

CTS (Common Type System) Define un conjunto común de “tipos” de datos orientados a objetos Todo lenguaje de programación .NET debe implementar los tipos definidos por el CTS Todo tipo hereda directa o indirectamente del tipo System.Object Define Tipos de VALOR y de REFERENCIA El Common Type System (CTS) o Sistema de Tipo Común es el conjunto de reglas que han de seguir las definiciones de tipos de datos para que el CLR las acepte. Es decir, aunque cada lenguaje gestionado disponga de su propia sintaxis para definir tipos de datos, en el MSIL resultante de la compilación de sus códigos fuente tienen que cumplir las reglas del CTS. El sistema común de tipos, conocido como CTS, provee una definición común de los tipos de datos básicos que utiliza el CLR. El CTS posibilita, entre otras cosas, que todos los lenguajes de alto nivel que compilan contra una plataforma CLI compartan el mismo sistema de tipos de datos, permitiendo lograr una mejor interoperabilidad. El CTS define como se declaran, usan y manejan en tiempos de ejecución los tipos de datos orientados a objetos que formarán el núcleo de cualquier aplicación manejada. Para más información acerca de CTS puede consultarse el siguiente sitio web: http://msdn.microsoft.com/library/en-us/cpguide/html/cpconcommontypesystemoverview.asp CTS define cómo se declaran, utilizan y administran los tipos en el motor en tiempo de ejecución. Es también una parte importante de la compatibilidad en tiempo de ejecución con la integración entre lenguajes. El sistema de tipos común realiza las funciones siguientes: Establece un marco de trabajo que ayuda a permitir la integración entre lenguajes, la seguridad de tipos y la ejecución de código con alto rendimiento. Proporciona un modelo orientado a objetos que admite la implementación completa de muchos lenguajes de programación. Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los objetos escritos en distintos lenguajes puedan interactuar unos con otros.

CTS: Características Cada tipo puede tener cero o mas miembros (campo, método, propiedad, evento). No puede existir la herencia Múltiple. Todo Tipo hereda directa o indirectamente del tipo System.Object Los objetos que lanzan un tipo de excepción deben heredar (directa o indirectamente) de System.Exception Los tipos declarados en 2 ensamblados distintos, son distintos, aunque tengan el mismo nombre. Algunos ejemplos de estas reglas son: Cada tipo de dato puede constar de cero o más miembros. Cada uno de estos miembros puede ser un campo, un método, una propiedad o un evento. No puede existir herencia múltiple, y todo tipo de dato ha de heredar directa o indirectamente de System.Object. Los modificadores de acceso admitidos son: || Modificador || Código desde el que es accesible el miembro || || public || Cualquier código || || private || Código del mismo tipo de dato || || family || Código del mismo tipo de dato o de hijos de éste. || || assembly || Código del mismo ensamblado || || family and assembly || Código del mismo tipo o de hijos de éste ubicado en el mismo ensamblado || || family or assembly || Código del mismo tipo o de hijos de éste, o código ubicado en el mismo ensamblado

Interoperabilidad

Los Tipos de Datos El CLR administra dos segmentos de memoria: Stack (Pila) y Heap (Montón) El Stack es liberado automáticamente y el Heap es administrado por el GC (Garbage Collector) Los tipos VALOR se almacenan en el Stack Los tipos REFERENCIA se almacenan en el Heap El CLR administra dos segmentos de memoria, los cuales son utilizados de distinta forma a lo largo del ciclo de vida de una aplicación: El Stack, o Pila: es una sección de memoria que almacena los “tipos de valor” (Value Types), llamados asi porque tanto su referencia como su valor se encuentran en la misma posición de memoria. Ejemplos de tipos por valor en el CLR son los caracteres, los números enteros y los booleanos. A estos tipos de dato también se los conoce como “tipos primitivos”. El stack se comporta como una lista LIFO (Last In – First Out), donde se van apilando valores uno encima de otro y sólo se puede recuperar un valor desapilando los que tiene por encima. La memoria ocupada por los Value Types es liberada automáticamente por el CLR una vez que se finaliza el procedimiento o el bloque de código donde fueron declarados. El Heap, o “Montón”: es unas sección de memoria que almacena los “tipos de referencia” (Reference Types), llamados asi porque su almacenamiento se encuentra dividido En el stack se almacena una referencia al contenido de la variable En el heap se guarda el valor propiamente dicho de la variable Ejemplos de tipos por referencia son los Strings (cadenas de caracteres) y cualquier tipo de dato definido por el usuario (por ejemplo clases e interfaces que se creen a lo largo del desarrollo de una aplicación). La memoria ocupada por los Reference Types es liberada automáticamente por el Garbage Collector del CLR, de manera no determinística (esto quiere decir que no se puede tener conocimiento acerca de en qué momento se liberará la memoria). El CLR no puede ser invocado por los desarrolladores, y nunca debe hacerse ninguna presuposición acerca de cuándo y cómo se ejecutará.

Tipos de Datos por Valor 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

Conversión de tipos por Valor y Referencia Para poder convertir tipos por valor a referencia y viceversa se utiliza una técnica conocida como: BOXING: Convierte un tipo por valor a uno por referencia. UNBOXING: Convierte un tipo por referencia a un tipo por valor. Tipo por Valor Boxing Tipo por Referencia Unboxing

Tipos Valor y Ref

C# Lenguaje Creado específicamente para la plataforma .NET Estándar ECMA (Ecma-334). Orientado a Objetos y Componentes. Soporta todas las características de la POO: Abstracción Encapsulación. Herencia. Polimorfismo. Sintaxis derivada de C, C++, Delphi y Java.

Sintaxis C# Terminación de Línea, es con un “;” int a = 1 + b; Podemos tener una sentencia, que se ejecute en una o varias líneas, siempre y cuando la terminación sea un punto y coma (;)

Sintaxis C# Declaración en Bloques en llaves “{}”: class Programa{ public static void Main(string[] args) { Console.WriteLine(“Hola Mundo!"); } En C#, los bloques son declarados entre llaves “{ }”

Sintaxis C# Comentarios en el código: 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;} } C# soporta 3 tipos de comentarios en nuestro código fuente: //Para comentarios de una sola línea /* Para comentarios De una o varias líneas */ ///<summary> ///Comentarios que forman parte de la documentación de nuestros Tipos en el ensamblado ///</summary>

Sintaxis C# C# es un lenguaje “case-sensitive” system.console.writeline(“HOLA”); //INCORRECTO System.Console.WriteLine(“HOLA”); //CORRECTO int a; //INCORRECTO A = 1; //INCORRECTO int a; //CORRECTO A = 1; //CORRECTO El lenguaje C# es un lenguaje sensible a las Mayúsculas y Minúsculas. Esto quiere decir que un miembro “a”, es distinto a un miembro “A”

Sintaxis C# Declaración de variables int i; decimal d; rectangle r; Persona per; En C#, para declarar variables debemos poner primero el tipo de dato que vamos a declarar y posteriormente el nombre (identificador).

Sintaxis C# Inicialización de variables int i; //INCORRECTO System.Console.WriteLine(i); //INCORRECTO int i=0; //CORRECTO System.Console.WriteLine(i); //CORRECTO En C#, debemos inicializar las variables EXPLICITAMENTE ANTES DE SER UTILIZADAS.

Sintaxis C# Conversión de Tipos 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) ... //Comparación con el operador “is” C# no permite conversiones implícitas de tipos Si falla el cast se devuelve null o InvalidCastException

Sintaxis C#

Recursos CLS: Overview Tipos de la BCL: Estándar para C# y CLI http://msdn.microsoft.com/en-us/library/12a7a7h3(VS.80).aspx Overview Tipos de la BCL: http://msdn.microsoft.com/en-us/library/hfa3fa08(VS.80).aspx Estándar para C# y CLI http://msdn.microsoft.com/en-us/netframework/aa569283.aspx Referencia C#: http://msdn.microsoft.com/es-es/library/618ayhy6(VS.80).aspx

Gracias por su Atención… Preguntas??