Så här skulle motsvarande program se ut i C# med de metoder och properties jag var ute efter:
Kod:
using System;
using System.Collections.Generic;
namespace Test
{
public class Person
{
private string _FirstName = "";
public string FirstName
{
get { return _FirstName; }
set { _FirstName = value; }
}
private string _LastName = "";
public string LastName
{
get { return _LastName; }
set { _LastName = value; }
}
public Person(string FirstName, string LastName)
{
this.FirstName = FirstName;
this.LastName = LastName;
}
public override string ToString()
{
return String.Format("{0} {1}",this.FirstName, this.LastName);
}
}
}
Kod:
using System;
using System.Collections.Generic;
namespace Test
{
class PersonAge : Person
{
private int _BirthYear;
public int BirthYear
{
get { return _BirthYear; }
set { _BirthYear = value; }
}
public int Age
{
get
{
return (2012 - BirthYear);
}
}
public PersonAge(string FirstName, string LastName, int BirthYear)
: base(FirstName, LastName)
{
this.BirthYear = BirthYear;
}
public override string ToString()
{
return String.Format("{0} ({1} år)", base.ToString(), this.Age);
}
}
}
Kod:
using System;
using System.Collections.Generic;
namespace Test
{
class Program
{
static void Main(string[] args)
{
List<Person> personer = new List<Person>();
personer.Add(new Person("Fredrik", "Framberg"));
personer.Add(new Person("Greta", "Gavelstam"));
personer.Add(new Person("Urban", "Urberg"));
personer.Add(new Person("Anna", "Ambtesteg"));
Console.WriteLine("Visa alla Person i personer...");
foreach (Person person in personer)
{
Console.WriteLine(person);
}
List<PersonAge> personAges = new List<PersonAge>();
personAges.Add(new PersonAge("Henrik", "Hammarberg", 1956));
personAges.Add(new PersonAge("Kristina", "Karlestam", 1983));
personAges.Add(new PersonAge("Hans", "Hallin", 1967));
personAges.Add(new PersonAge("Berit", "Bygdén", 1974));
Console.WriteLine();
Console.WriteLine("Visa alla PersonAge i personAges...");
foreach (PersonAge person in personAges)
{
Console.WriteLine(person);
}
Console.WriteLine();
Console.WriteLine("Kopiera alla PersonAge till personer...");
foreach (Person person in personAges)
{
personer.Add(person);
}
Console.WriteLine();
Console.WriteLine("Visa alla Person och PersonAge i personer...");
foreach (Person person in personer)
{
Console.WriteLine(person);
}
Console.ReadKey();
}
}
}
Kod:
Visa alla Person i personer...
Fredrik Framberg
Greta Gavelstam
Urban Urberg
Anna Ambtesteg
Visa alla PersonAge i personAges...
Henrik Hammarberg (56 år)
Kristina Karlestam (29 år)
Hans Hallin (45 år)
Berit Bygdén (38 år)
Kopiera alla PersonAge till personer...
Visa alla Person och PersonAge i personer...
Fredrik Framberg
Greta Gavelstam
Urban Urberg
Anna Ambtesteg
Henrik Hammarberg (56 år)
Kristina Karlestam (29 år)
Hans Hallin (45 år)
Berit Bygdén (38 år)