Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Algún lenguaje de programación requiere un entorno de programación?

¿Algún lenguaje de programación requiere un entorno de programación?

Las similitudes entre C# y JAVA: dado que C# y JAVA se desarrollan en base a C, existen muchas similitudes entre los dos, como se muestra a continuación:

1. y los lenguajes JAVA son independientes de las computadoras y los lenguajes de programación, y los archivos ejecutables se pueden ejecutar en un entorno de ejecución administrado

2. Tanto el lenguaje C# como el JAVA utilizan un mecanismo automático de recolección de basura; >

3. Tanto C# como JAVA tienen operaciones de puntero canceladas;

4. Ni C# ni JAVA tienen archivos de encabezado; Los lenguajes JAVA solo admiten herencia única. Para lograr funciones similares a la herencia múltiple, se debe implementar a través de interfaces.

6. Los objetos de clase se generan a través de la palabra clave nueva;

7. Tanto el lenguaje C# como el JAVA admiten subprocesos;

8. Ni C# ni JAVA tienen variables globales ni funciones globales. class;

9, C# y JAVA admiten una verificación estricta de los límites de matrices y cadenas, y no se producirá desbordamiento de límites

10, C# y JAVA; use el operador "." y ya no use los operadores "->" y "::"

11. Tanto el lenguaje C# como el JAVA usan nulo y bool

;

12. Todos los valores en los lenguajes C# y JAVA deben inicializarse antes de poder usarse.

13. Si las declaraciones en los lenguajes C# y JAVA no permiten el uso de números enteros; como condiciones de juicio

14. El bloque de declaración try en los lenguajes C# y JAVA puede ir seguido de un bloque de declaración finalmente.

La diferencia entre C# y JAVA:

Aunque C# y JAVA tienen muchas similitudes, al ser lenguajes de programación de alto nivel desarrollados por dos empresas diferentes, son diferentes. uno del otro,

Sistema autónomo, cada uno tiene algunas características únicas. Las diferencias entre C# y JAVA son las siguientes:

1 Propiedades

Para. Para los desarrolladores que suelen utilizar herramientas de desarrollo rápido como Delphi o Visual Basic, las propiedades son un concepto muy familiar.

En términos generales, el valor del atributo se puede leer a través de getXXX y el valor del atributo se puede establecer a través de setXXX.

Declaraciones de operación de atributos comunes en JAVA: foo.setSize(foo.getSize() 1); label.getFont().setBold(true);

Declaraciones de operación de atributos comunes en C#. : foo.size; label.font.bold=true;

Obviamente, el método de configuración de atributos anterior es más simple y legible que JAVA. Esto refleja plenamente la simplicidad de C#.

Definición de atributos de JAVA: public int getSize(){ return size } public void setSize(int value){ size=value }

C# ha llevado a cabo la definición de atributos; Simplificación: public int Size{ get{ return size } set{size=value }}

2. index

C# proporciona un índice para agregar un índice al objeto, de modo que Los objetos se procesan de manera similar a las matrices. El lenguaje JAVA no admite índices.

La forma típica de definir el índice en C# es la siguiente:

public Story this[int index]

{

get{return stories[index] }

set{

if(value!=null){

stories[index]=value

}

}

3. delegado: puede considerarse una función orientada a objetos y con seguridad de tipos. puntero.

C# permite a un delegado acceder a diferentes funciones a través de un nombre. Implementa una función similar a la interfaz en JAVA, pero es más fácil de usar que la interfaz.

4. Evento

C# proporciona soporte directo para eventos y maneja eventos a través de las palabras clave delegar y evento. La palabra clave event oculta todos los métodos delegados y los operadores "=" y "-" permiten a los programadores agregar o eliminar controladores de tiempo libremente.

5. enum: La enumeración se utiliza para especificar una serie de objetos.

C# define y utiliza enumeraciones a través de las siguientes declaraciones:

Definición: public enum Dirección{Norte, Este, Oeste, Sur}

Uso: Dirección pared; =Direction.North;

JAVA no admite enumeraciones directamente. Si desea implementar funciones similares a C#, primero debe definir una clase

dirección de clase pública{

.

público final estático NORTE=1;

público final estático int EAST=2;

público final estático int OESTE=3; static int SOUTH=4; }

Después de definir la clase Dirección, JAVA puede usar la enumeración haciendo referencia al valor en la clase:

int wall= Direction.NOTRH

p>

6. declaración foreach

C# proporciona un bucle for estándar y también proporciona una declaración foreach (introducida desde VB) para recorrer los elementos de la colección.

El método de procesamiento típico de JAVA que atraviesa todos los elementos de una colección es el siguiente:

while(!collection.isEmpty())

{

Objeto o=colección.get();

conexión.next()

}

C#; atraviesa la colección Todos los elementos de: foreach(objeto o en la colección){…}

7. Tipos de datos unificados:

La mayoría de los lenguajes de programación de alto nivel tienen tipos de datos básicos. como números enteros, tipo de punto flotante, etc. Al mismo tiempo, para satisfacer mejor las necesidades reales, diferentes tipos de datos tienen diferentes métodos de procesamiento. Obviamente, si el procesamiento de tipos de datos simples y el procesamiento de tipos de datos complejos se pueden combinar y procesar de manera consistente, sin duda será en gran medida. mejorar la eficiencia del diseño de aplicaciones y mejorar la flexibilidad del diseño de programas.

El lenguaje JAVA también adopta una estrategia de procesamiento separada cuando trata con tipos de datos básicos, pero proporciona una serie de clases que encapsulan estos tipos de datos básicos en función de los tipos de datos básicos, como: entero (int) Está encapsulado por clase Integer, y el punto flotante de doble precisión (doble) está encapsulado por la clase Double.

C# proporciona una forma diferente a JAVA de lograr la unificación de tipos de datos. De hecho, en C#, incluso un tipo de datos simple como int se implementa internamente a través de una estructura Int32. En C#, se puede considerar que int es solo un alias de la estructura Int32. Dado que las estructuras en C# también heredan de la clase Object, cada estructura también tiene los métodos definidos en la clase Object. Por lo tanto, los números enteros se pueden operar de las siguientes maneras en C#: int I=5; ToString());

8. Sobrecarga de operadores

A través de la sobrecarga de operadores, se pueden manipular varios tipos de datos de una manera más natural, mejorando así en gran medida la eficiencia y la legibilidad del programa. flexibilidad. El operador "==" en C# se define en la clase Objeto. El operador == definido en Objeto obtiene el resultado final comparando las referencias de dos valores. Si hay una clase relacionada con colecciones, la interfaz ICompar debe implementarse en dicha clase. Esta interfaz define un método CompareTo, que devuelve el resultado de la comparación de los dos objetos. Sobre esta base, cada comparación de implementación se puede definir más. , como

">", "<", ">=", "<=", etc. De hecho, los tipos numéricos (int, long, etc.) pueden usar directamente estos operadores de comparación y todos implementan la interfaz ICompare internamente.

9. Polimorfismo

Los métodos virtuales proporcionan soporte para el polimorfismo. Polimorfismo significa que una clase derivada puede definir un método con el mismo nombre que la clase base. Aunque tanto JAVA como C# admiten polimorfismo, todavía existen ciertas diferencias en sus métodos de implementación específicos.

En el lenguaje JAVA, de forma predeterminada, el objeto de la clase base puede llamar directamente al método virtual en la clase derivada. En el lenguaje C#, la clase base debe llamar al método virtual en la clase derivada a través. Palabras clave virtuales para lograr. Al mismo tiempo, en el lenguaje C#, si un método quiere anular el método del mismo nombre en la clase base, también debe usar la palabra clave override.

Un programa típico para implementar polimorfismo en C# es el siguiente:

Clase B{ public virtual void foo{}}

Clase D: B{ public overried void foo(){}}

Lo anterior es solo una simple comparación de las similitudes y diferencias entre C# y JAVA. De hecho, la comparación entre los dos va mucho más allá de lo que se presentó anteriormente. Para aprender bien estos dos lenguajes se requiere un. Mucha práctica. Trabajo, distinguiendo los dos idiomas en la práctica.