estructura de un programa

3
Estructura de un programa Los conceptos clave de la organización en C # son los programas, espacios de nombres, tipos, miembros, y las asambleas. C # de los programas constan de uno o más archivos de código fuente. Programas de declarar los tipos, los cuales contienen los miembros y se pueden organizar en los espacios de nombres. Las clases e interfaces son ejemplos de tipos. Los campos, métodos, propiedades y eventos son ejemplos de los miembros. Cuando los programas de C # se compila, se encuentran físicamente empaquetados en las asambleas. Asambleas suelen tener la extensión de archivo. Exe o dll., Dependiendo de si la implementación de aplicaciones o bibliotecas. En el ejemplo using System; Acme.Collections espacio de nombres { public class Pila { Entrada la parte superior; public void push (datos del objeto) { top = nueva entrada (parte superior, los datos); } Pop objeto público () { if (alto == null) throw InvalidOperationException nuevo (); resultado = objeto top.data; top = top.next; return resultado; } la clase de entrada { La entrada del público al lado; los datos públicos de objetos; La entrada del público (entrada de datos próximos, objeto) { this.next = siguiente; this.data = datos; } } } }

Upload: merary-arias

Post on 15-Apr-2017

154 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estructura de un programa

Estructura de un programaLos conceptos clave de la organización en C # son los programas, espacios de nombres, tipos, miembros, y las asambleas. C # de los programas constan de uno o más archivos de código fuente. Programas de declarar los tipos, los cuales contienen los miembros y se pueden organizar en los espacios de nombres. Las clases e interfaces son ejemplos de tipos. Los campos, métodos, propiedades y eventos son ejemplos de los miembros. Cuando los programas de C # se compila, se encuentran físicamente empaquetados en las asambleas. Asambleas suelen tener la extensión de archivo. Exe o dll., Dependiendo de si la implementación de aplicaciones o bibliotecas.

En el ejemplo

using System;Acme.Collections espacio de nombres{

public class Pila{

Entrada la parte superior;public void push (datos del objeto) {

top = nueva entrada (parte superior, los datos);}Pop objeto público () {

if (alto == null) throw InvalidOperationException nuevo ();resultado = objeto top.data;top = top.next;return resultado;

}la clase de entrada{

La entrada del público al lado;los datos públicos de objetos;La entrada del público (entrada de datos próximos, objeto)

{this.next = siguiente;this.data = datos;

}}

}}

declara una clase llamada Pila en un espacio de nombres llamado Acme.Collections. El nombre completo de esta clase es Acme.Collections.Stack. La clase contiene varios miembros: un campo llamado superior, dos métodos denominados push y pop, y una entrada de la clase anidada denominada. La clase de entrada contiene además tres miembros: un campo de nombre al lado, un campo de datos con nombre, y un constructor. Suponiendo que el código fuente del ejemplo se almacena en los acme.cs de archivo, la línea de comandos

csc / t: library acme.cscompila el ejemplo, como una biblioteca (código sin un punto de entrada principal) y produce un ensamblado denominado acme.dll.

Asambleas contener código ejecutable en forma de lenguaje intermedio (IL), las instrucciones y la información simbólica en forma de metadatos. Antes de ser ejecutado, el código IL en una asamblea

Page 2: Estructura de un programa

se convierte automáticamente en procesador de código específico por el Just-In-Time (JIT) de. NET Common Language Runtime.

Debido a que un conjunto es una unidad auto-descripción de la funcionalidad que contiene el código y los metadatos, no hay necesidad de que las directivas # include y los archivos de cabecera en C #. Los tipos y miembros públicos contenidos en un conjunto particular se ponen a disposición en un programa de C #, simplemente haciendo referencia a que el montaje al compilar el programa. Por ejemplo, este programa utiliza la clase Acme.Collections.Stack de la asamblea acme.dll:

using System;utilizando Acme.Collections;la clase de prueba{

static void Main () {Pila Pila s = new ();s.Push (1);s.Push (10);s.Push (100);Console.WriteLine (s.Pop ());Console.WriteLine (s.Pop ());Console.WriteLine (s.Pop ());

}}

Si el programa se almacena en los archivos test.cs, cuando test.cs se compila, el conjunto de acme.dll puede ser referenciado utilizando el compilador la opción / r:

csc / r: acme.dll test.csEsto crea un ensamblado ejecutable llamado test.exe, que, cuando se ejecuta, produce la salida:

100101

C # permite que el texto fuente de un programa que se almacena en varios archivos fuente. Cuando un archivo multi-programa en C # es compilado, todos los archivos de código fuente se procesan juntos, y los archivos de código fuente libre puede hacer referencia a la otra-conceptual, es como si todos los archivos de origen se concatenan en un archivo de gran tamaño antes de ser procesados. Declaraciones adelantadas no son necesarias en C #, ya que, con muy pocas excepciones, para la declaración es insignificante. C # no limita un archivo de origen a la declaración de un solo tipo de público ni requiere el nombre del archivo de origen para que coincida con un tipo declarado en el archivo de origen.