La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur.

Presentaciones similares


Presentación del tema: "Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur."— Transcripción de la presentación:

1 Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur

2 Microsoft.NET Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados. Ésta es la llamada plataforma.NET, y a los servicios antes comentados se les denomina servicios Web. Para crear aplicaciones para la plataforma.NET, tanto servicios Web como aplicaciones tradicionales (aplicaciones de consola, aplicaciones de ventanas, servicios de Windows NT, etc.), Microsoft ha publicado el denominado kit de desarrollo de software conocido como.NET Framework SDK, que incluye las herramientas necesarias tanto para su desarrollo como para su distribución y ejecución y Visual Studio.NET, que permite hacer todo la anterior desde una interfaz visual basada en ventanas.

3 Microsoft.NET C# (leído en inglés “C Sharp” y en español “C Almohadilla”) es el nuevo lenguaje de propósito general diseñado por Microsoft para su plataforma.NET. Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg, éste último también conocido por haber sido el diseñador del lenguaje Turbo Pascal y la herramienta RAD Delphi. Aunque es posible escribir código para la plataforma.NET en muchos otros lenguajes, C# es el único que ha sido diseñado específicamente para ser utilizado en ella, por lo que programarla usando C# es mucho más sencillo e intuitivo que hacerlo con cualquiera de los otros lenguajes ya que C# carece de elementos heredados innecesarios en.NET. Por esta razón, se suele decir que C# es el lenguaje nativo de.NET La sintaxis y estructuración de C# es muy similar a la C++, ya que la intención de Microsoft con C# es facilitar la migración de códigos escritos en estos lenguajes a C# y facilitar su aprendizaje a los desarrolladores habituados a ellos. Sin embargo, su sencillez y el alto nivel de productividad son equiparables a los de Visual Basic. En resumen, C# es un lenguaje de programación que toma las mejores características de lenguajes preexistentes como Visual Basic, Java o C++ y las combina en uno solo.

4 Microsoft.NET Características de C# Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en.NET Orientación a objetos: Como todo lenguaje de programación de propósito general actual, C# es un lenguaje orientado a objetos Orientación a componentes: La propia sintaxis de C# incluye elementos propios del diseño de componentes que otros lenguajes tienen que simular mediante construcciones más o menos complejas Gestión automática de memoria: Como ya se comentó, todo lenguaje de.NET tiene a su disposición el recolector de basura del CLR. Esto tiene el efecto en el lenguaje de que no es necesario incluir instrucciones de destrucción de objetos. Instrucciones seguras: Para evitar errores muy comunes, en C# se han impuesto una serie de restricciones en el uso de las instrucciones de control más comunes.

5 Microsoft.NET Básicamente una aplicación en C# puede verse como un conjunto de uno o más ficheros de código fuente con las instrucciones necesarias para que la aplicación funcione como se desea y que son pasados al compilador para que genere un ejecutable. Cada uno de estos ficheros no es más que un fichero de texto plano escrito usando caracteres Unicode y siguiendo la sintaxis propia de C#. Como primer contacto con el lenguaje, nada mejor que el típico programa de iniciación “¡Hola Mundo!” que lo único que hace al ejecutarse es mostrar por pantalla el mensaje ¡Hola Mundo! Su código es: 1:class HolaMundo 2:{ 3:static void Main() 4:{ 5:System.Console.WriteLine(“¡Hola Mundo!”); 6:} 7:} Todo el código escrito en C# se ha de escribir dentro de una definición de clase, y lo que en la línea 1: se dice es que se va a definir una clase (class) de nombre HolaMundo1 cuya definición estará comprendida entre la llave de apertura de la línea 2: y su correspondiente llave de cierre en la línea línea 7:

6 Microsoft.NET Ya se ha dicho que el punto de entrada de una aplicación es un método de nombre Main que contendrá el código por donde se ha de iniciar la ejecución de la misma. Hasta ahora sólo se ha visto una versión de Main() que no toma parámetros y tiene como tipo de retorno void, pero en realidad todas sus posibles versiones son: static void Main() static int Main() static int Main(string[] args) static void Main(string[] args) Como se ve, hay versiones de Main() que devuelven un valor de tipo int. Un int no es más que un tipo de datos capaz de almacenar valor enteros comprendidos entre –2.147 1 483.648 y 2.147 1 483.647, y el número devuelto por Main() sería interpretado como código de retorno de la aplicación. Éste valor suele usarse para indicar si la aplicación a terminado con éxito (generalmente valor 0) o no (valor según la causa de la terminación anormal).

7 Microsoft.NET Conceptos de clase y objeto C# es un lenguaje orientado a objetos puro, lo que significa que todo con lo que vamos a trabajar en este lenguaje son objetos. Un objeto es un agregado de datos y de métodos que permiten manipular dichos datos, y un programa en C# no es más que un conjunto de objetos que interaccionan unos con otros a través de sus métodos. Una clase es la definición de las características concretas de un determinado tipo de objetos. Es decir, de cuáles son los datos y los métodos de los que van a disponer todos los objetos de ese tipo. Por esta razón, se suele decir que el tipo de dato de un objeto es la clase que define las características del mismo.

8 Características C# Tipos de datos C# contiene dos categorías generales de tipos de datos integrados: tipos de valor y tipos de referencia. El término tipo de valor indica que esos tipos contienen directamente sus valores. Tipos para definir números enteros:

9 Características C# Los tipos de coma flotante pueden representar números con componentes fraccionales. Existen dos clases de tipos de coma flotante: float y double. El tipo double es el más utilizado porque muchas funciones matemáticas de la biblioteca de clases de C# usan valores double. Quizá, el tipo de coma flotante más interesante de C# es decimal, dirigido al uso de cálculos monetarios.

10 Características C# Los caracteres en C# no tienen un tamaño de 8 bits como en otros muchos lenguajes de programación, sino que usa un tamaño de 16 bits llamado Unicode al cual se le llama char. No existen conversiones automáticas de tipo entero a char. Para los tipos de datos lógicos no existen conversiones automáticas de tipo entero a boolean.

11 Características C# Variables Las variables son identificadores asociados a valores. Se declaran indicando el tipo de dato que almacenará y su identificador. Un identificador puede: empezar por "_". contener caracteres Unicode en mayúsculas y minúsculas (sensible a mayúsculas y minúsculas). Un identificador no puede: empezar por un número. empezar por un símbolo, ni aunque sea una palabra clave. contener más de 511 caracteres.

12 Características C# Variables Declarar una variable: int miNumero; // Declaramos la variable, pero no la inicializamos con ningún valor. Para asignar un valor a una variable, se indica el identificador de la misma, seguido del símbolo igual (=) y el valor que queremos que almacene: miNumero = 5; // Asignamos el valor '5'. También se puede declarar y asignar un valor al mismo tiempo: int miNumero = 5; // Declaramos la variable, y asignamos el valor '5'.

13 Características C# Las conversiones de tipo de variables en C# se representan en la siguiente tabla en donde la fila es el origen y la columna el destino. Toda conversión implícita no ocasiona pérdida de información, truncamientos o redondeos.truncamientos redondeos Es posible (mas no siempre ocurre) que en una conversión explícita haya pérdida de información, truncamientos o redondeos. En toda conversión implícita el tipo de dato destino es mayor que el tipo de dato origen. La conversión explícita se realiza indicando el tipo de dato al que se quiere convertir entre paréntesis, seguido del valor

14 Características C# Constantes Las constantes son valores inmutables, y por tanto no se pueden cambiar. const Cuando se declara una constante con la palabra clave const, también se debe asignar el valor. Tras esto, la constante queda bloqueada y no se puede cambiar. Son implícitamente estáticas (static). const double PI = 3.1415;

15 Características C# Operadores El resultado de los operadores relacionales y lógicos es un valor de tipo bool. Los operadores de cortocircuito evalúan el segundo operando solo cuando es necesario. Los operadores a nivel de bits no se pueden aplicar a tipos bool, float, double o decimal. Los operadores aritméticos funcionan igual que en C y C++.

16 Características C# Estructuras de control Las instrucciones if-else, for, while, do-while, switch, return, break, continue son, básicamente, iguales que en C, C++ y Java. La instrucción foreach, al igual que en Java, realiza un ciclo a través de los elementos de una matriz o colección. En este ciclo se recorre la colección y la variable recibe un elemento de dicha colección en cada iteración. La instrucción goto se sigue utilizando en C# a pesar de la polémica sobre su uso.

17 Características C# Métodos Todo método debe ser parte de una clase, no existen métodos globales (funciones). Por defecto, los parámetros se pasan por valor. El modificador ref fuerza a pasar los parámetros por referencia en vez de pasarlos por valor. Un método puede devolver cualquier tipo de dato, incluyendo tipos de clase. Ya que en C# las matrices se implementan como objetos, un método también puede devolver una matriz (algo que se diferencia de C++ en que las matrices no son válidas como tipos de valores devueltos). C# implementa sobrecarga de métodos, dos o más métodos pueden tener el mismo nombre siempre y cuando se diferencien por sus parámetros. El método Main es un método especial al cual se refiere el punto de partida del programa.

18 Características C# Arreglos Un arreglo contiene variables a las cuales se accede a través de índices, todas las variables contenidas en el arreglo son referidos como elementos los cuales deben ser del mismo tipo, por lo que el tipo del arreglo. Los arreglos en C# son referencias a objetos. El valor inicial de un arreglo es null, un arreglo de objetos es creado utilizando new.arreglo de objetos Cuando un arreglo es creado inicialmente contiene los valores por default para los tipos que este contendrá. Sintaxis: tipo[] identificador; Note que para definir un arreglo se utilizan los corchetes [] después del tipo del arreglo.

19 Características C# Arreglos Ejemplo: string[] aPersonas; Es posible inicializar un arreglo al momento de crearlo: string[] asPersonas = Durante la inicialización es posible omitir new tipo[x] y el compilador podría determinar el tamaño de almacenamiento para el arreglo del número de items en la lista de inicialización: string[] asPersonas = new string[] {“Jose",”Maria",”Pedro",”Manuel”}; Cada elemento de un arreglo de ints es un int con el valor 0: int[] aiNumeros = new int[5]; Cada elemento de un arreglo de strings es un string con el valor null: string[] asNombres = new string[5];

20 Características C# Clase Array La clase Array provee entre otras, funciones de búsqueda y ordenamiento. En el siguiente ejemplo se muestra como es ordenado un arreglo de strings: using System; class App{ public static void Main(){ string[] aLenguajes = {"Java", "Pascal", "ActionScript", "PHP", "C#", "SQL", "JavaScript", "C", "Java", "Prolog", "Visual Basic", "C++"}; Array.Sort(aLenguajes); for(int elemento = 0; elemento < aLenguajes.Length; elemento++) Console.WriteLine("Elemento [" + elemento + "] = " + aLenguajes[elemento]); }// fin del main }

21 Características C# Clases y objetos Una variable de objeto de cierta clase no almacena los valores del objeto sino su referencia (al igual que Java). El operador de asignación no copia los valores de un objeto, sino la referencia al mismo (al igual que Java). Un constructor tiene el mismo nombre que su clase y es sintácticamente similar a un método. Un constructor no devuelve ningún valor. Al igual que los métodos, los constructores también pueden ser sobrecargados. Si no se especifica un constructor en una clase, se usa uno por defecto que consiste en asignar a todas las variables el valor 0, null o false según corresponda.

22 Características C# Clases y objetos Cuando un objeto no es referenciado por ninguna variable, el recolector de basura ejecuta el destructor de dicha clase y libera la memoria utilizada. El destructor de una clase no se llama cuando un objeto sale del ámbito. Todos los destructores se llamarán antes de que finalice un programa. La palabra clave this es una referencia al mismo objeto en el cual se usa. La palabra clave static hace que un miembro pertenezca a una clase en vez de pertenecer a objetos de dicha clase. Se puede tener acceso a dicho miembro antes de que se cree cualquier objeto de su clase y sin referencias a un objeto.

23 Características C# Clases y objetos Un método static no tiene una referencia this. Un método static puede llamar sólo a otros métodos static. Un método static sólo debe tener acceso directamente a datos static. Un constructor static se usa para inicializar atributos que se aplican a una clase en lugar de aplicarse a una instancia. C# permite la sobrecarga de operadores (+, -, *, etc.) con la palabra clave operator. Al comparar objetos (==, !=,, =) se comprueba si hacen referencia al mismo objeto.

24 Características C# Cadenas de caracteres El tipo de dato para las cadenas de caracteres es string. Realmente la palabra clave string es un alias de la clase System.String de la plataforma.NET. En C# las cadenas son objetos y no una matriz de caracteres, aun así, se puede obtener un carácter arbitrario de una cadena por medio de su índice (mas no modificarlo). Las cadenas son inmutables, una vez creadas no se pueden modificar, solo se pueden copiar total o parcialmente. El operador == determina si dos referencias hacen referencia al mismo objeto, pero al usar dicho operador con dos variables tipo string se prueba la igualdad del contenido de las cadenas y no su referencia. Sin embargo, con el resto de los operadores relacionales, como =, sí se comparan las referencias. Se pueden concatenar (unir) dos cadenas mediante el operador +. Las cadenas se pueden usar en las instrucciones switch.

25 Características C# Cadenas de caracteres Declarar una cadena de caracteres (como si fuera una variable de un tipo de dato como int o double): string texto = "Cadena de caracteres"; string texto = new System.String("Cadena de caracteres"); // Equivalente al anterior Longitud de una cadena: string texto = "Cadena de caracteres"; int i = texto.Length; // Retornará '20' Comparar dos cadenas: bool b = "texto" == "texto"; // Retornará 'true', si que ambas cadenas son inguales Concatenar cadenas: string texto = "Cadena de" + " caracteres"; // Nótese el espacio antes de "caracteres", La clase System.String, y una instancia de la misma, string, poseen algunos métodos para trabajar con cadenas, como: static string Copy(string str): devuelve una copia de str. string texto1 = "abc"; string texto2 = "xyz"; string texto2 = System.String.Copy(texto1); // 'texto2' ahora contiene "abc"


Descargar ppt "Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur."

Presentaciones similares


Anuncios Google