Lektion 12: lösningsförslag
- interface IPerson
- {
- string Name { get; set; }
- int Age { get; set; }
- string Summary { get; }
- }
- class Student1 : IPerson
- {
- public string Name { get; set; }
- public int Age { get; set; }
- public double Points { get; set; }
- public string Summary {
- get
- {
- return Name + " is " + Age + " years old.";
- }
- }
- }
- class Teacher1 : IPerson
- {
- public string Name { get; set; }
- public int Age { get; set; }
- public double HourlySalary { get; set; }
- public string Summary
- {
- get
- {
- return Name + " is " + Age + " years old.";
- }
- }
- }
- class Administrator1 : IPerson
- {
- public string Name { get; set; }
- public int Age { get; set; }
- public double MonthlySalary { get; set; }
- public string Summary
- {
- get
- {
- return Name + " is " + Age + " years old.";
- }
- }
- }
- static void ShowPeople1(IPerson[] people)
- {
- foreach (IPerson p in people)
- {
- Console.WriteLine(p.Summary);
- }
- }
- class Person
- {
- public string Name { get; set; }
- public int Age { get; set; }
- public string Summary
- {
- get
- {
- return Name + " is " + Age + " years old.";
- }
- }
- }
- class Student2 : Person
- {
- public double Points { get; set; }
- }
- class Teacher2 : Person
- {
- public double HourlySalary { get; set; }
- }
- class Administrator2 : Person
- {
- public double MonthlySalary { get; set; }
- }
- static void ShowPeople2(Person[] people)
- {
- foreach (Person p in people)
- {
- Console.WriteLine(p.Summary);
- }
- }
- static void Main(string[] args)
- {
- IPerson[] people1 = new IPerson[]
- {
- new Teacher1 {Name="Jakob", Age=30,HourlySalary=999},
- new Administrator1 {Name="Jakob", Age=31,MonthlySalary=12345},
- new Student1 {Name="Jakob", Age=32,Points=20},
- };
- ShowPeople1(people1);
- Person[] people2 = new Person[]
- {
- new Teacher2 {Name="Jakob", Age=30,HourlySalary=999},
- new Administrator2 {Name="Jakob", Age=31,MonthlySalary=12345},
- new Student2 {Name="Jakob", Age=32,Points=20},
- };
- ShowPeople2(people2);
- }
- class MyForm : Form
- {
- private int ClickCount = 0;
- public MyForm()
- {
- Button button = new Button
- {
- Text = "Click Me!"
- };
- Controls.Add(button);
- button.Click += OnButtonClick;
- }
- private void OnButtonClick(object sender, EventArgs e)
- {
- ClickCount += 1;
- MessageBox.Show("Times clicked: " + ClickCount);
- }
- }