C# vs java

1287 palavras 6 páginas
C# vs Java
1 – Properties
Propriedades permitem eliminar a sintaxe incômoda dos gets e sets, sem eliminar sua funcionalidade. Por exemplo: class Vector2D { float x;

public float X { get { return x; } set { if (value == null) throw new Exception("não pode ser nulo"); x = value; } }

public float Y { get; set; } // ou simplesmente public float Y; }

Agora podemos simplesmente usar a classe assim: Vector2D ponto = new Vector2D();

ponto.X = 10; ponto.Y = ponto.X; //Ponto.Y agora vale 10

2 - Sobrecarga de operadores
No C#, você pode fazer com que uma classe funcione com operadores como +, -, * e /.
O mesmo pode ser feito para classes matemáticas, e classes representando tipos numéricos (como BigInteger e BigDecimal). Compare o código da classe Vector2D feito em Java e em C#: Vector2D v1 = new Vector2D(10, 20); Vector2D v2 = new Vector2D(20, 50); Vector2D v3 = new Vector2D(20, 50);

//Conta em C# Vector2D v = 5 * (v1 - v2 / 2) + v3; //Conta em Java Vector2D v = v1.subtract(v2.divide(2)).multiply(5).add(v3);

//Conta podemos usar +=, -=, *= ou /= Vector2D v += new Vector2D(10, 20);

Note que no Java a multiplicação por 5 teve obrigatoriamente de ser invertida, pois o número 5 não teria o método multiply. Sorte que a operação é comutativa.

Como é implementado a sobrecarga class Vector2D { public Vector2D(float x, float y) { X = x; Y = y; }

public float X { get; set; } public float Y { get; set; }

public static Vector2D operator +(Vector2D v1, Vector2D v2) { return new Vector2D(v1.X + v2.Y, v1.Y + v2.Y); }

. . .

public static bool operator ==(Vector2D v1,

Relacionados

  • Redes e Programação
    784 palavras | 4 páginas
  • Programação
    603 palavras | 3 páginas
  • Pesquisa .NET
    944 palavras | 4 páginas
  • AULA1 1
    705 palavras | 3 páginas
  • Comparação ios - android
    2735 palavras | 11 páginas
  • ATPS Paradigmas Da Programa O 5
    1424 palavras | 6 páginas
  • tiid
    1259 palavras | 6 páginas
  • Java
    2027 palavras | 9 páginas
  • Cai ii
    1115 palavras | 5 páginas
  • Orientação a objetos em java
    5161 palavras | 21 páginas