Esse post não tem a mÃnima intenção de fazer uma análise aprofundada das duas plataformas. Pode ser considerado um brincadeira com ambas as linguagens. Não quero chegar a nenhuma conclusão com este post. A idéia surgiu já que estou empolgado depois que comecei a ler o livro Head First C#.
As regras são as seguintes: Criar uma classe pessoa (Person) tendo apenas o nome como atributo e uma classe pessoas (People) que contendo um ArrayList que agregue pessoas. A classe People deve conter um método para listar todas as pessoas.
Para melhor visualização do problema utilizei uma avançada ferramenta de UML. Veja foto abaixo:

Classe Person
//Classe Person em Java
public class Person {
String name;
public Person(String name){
this.setName(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
//classe Person em C#
namespace ConsoleApplication1 {
class Person {
private string name;
public Person(string name) {
this.setName(name);
}
public string getName() {
return this.name;
}
public void setName(string name){
this.name = name;
}
}
}
Classe People
//Classe People em Java
import java.util.ArrayList;
import java.util.List;
public class People {
List people = new ArrayList();
public void addPerson(String name){
Person p = new Person(name);
people.add(p);
}
public void listPeople(){
for(Person p : people){
System.out.println(p.getName());
}
}
}
//Classe People em C#
using System;
using System.Collections;
namespace ConsoleApplication1 {
class People {
ArrayList people = new ArrayList();
public void addPerson(string name){
Person p = new Person(name);
people.Add(p);
}
public void listPeople() {
foreach (Person p in people) {
Console.WriteLine(p.getName());
}
}
}
}
Classe Main
//Classe Main em Java
public class Main {
public static void main(String[] args) {
People p = new People();
p.addPerson("Rodrigo");
p.addPerson("José");
p.addPerson("João");
p.listPeople();
}
}
//Classe Main em C#
namespace ConsoleApplication1 {
class MainClass {
static void Main(string[] args) {
People p = new People();
p.addPerson("Rodrigo");
p.addPerson("José");
p.addPerson("João");
p.listPeople();
Console.ReadKey();
}
}
}
Garanto-lhes que o resultado foi o mesmo em ambas as plataformas. Algo parecido com a imagem abaixo:
Resultado Final
October 15th, 2009 at 5:06 pm
WTF?
eheheh