segunda-feira, 12 de março de 2012

JAVA vs. C# ! Fight!!!

JAVA:

private String nome;

public String getNome()
{
return this.nome;
}

public void setNome( String nome )
{
this.nome = nome;
}

C#:

private string nome;

public string Nome
{
get { return this.nome; }
set { this.nome = value; }
}




Neste pequeno trecho de código podemos ver as diferenças entre java e C#. A principal é que apenas um public vale para um ou mais objetos ou métodos em C#, já em JAVA cada um tem que ter o seu. Diferenças de Sintaxe:
1)Tipos Primitivos
JavaC#
booleanbool (System.Boolean)
bytesbyte (System.Sbyte)
charchar (System.Char)
intint (System.Int32)
longlong (System.Int64)
floatfloat (System.Single)
doubledouble (System.Double)
A tabela acima ilustra a diferenças entre os tipos primitivos em JAVA e C# (e os objetos de que classe ele vem).


Diferenças Semânticas:

Em JAVA os tipos primitivos são passados como valores e os objetos como referência. Em C# os tipos primitivos são todos structs (estruturas), eles ainda são passados por valores por que apesar de serem objetos eles são todos estruturas por que em C# as estruturas agem e se comportam com uma classe  (e de fato elas todas derivam de System.Object) exceto por:

1)Estruturas são passadas por valor ao invés de referencia
2) Estruturas não podem herdam nada e nada pode herda-las.
3)Estruturas podem não definir construtores com parâmetros.
4) Estruturas que definem construtores com parâmetros devem explicitamente preencher todos os campos (variáveis). 


PS: Em breve mais atualizações sobre este extenso assunto.



Nenhum comentário:

Postar um comentário