//C# Redefinition - Overridable en Overrides Object Oriented Programming public class Class1 { public virtual void Method1() { Method1 = "Class1.Method1()"; } } public class Class2 : Class1 { public override void Method1() { Method1 = "Class2.Method1()"; } } public class Example1 { void Main() { Class1 object1 = new Class1(); Console.WriteLine(object1.Method1()); Class2 object2 = new Class2(); Console.WriteLine(object2.Method1()); Console.ReadLine(); } } public class Class3 { public virtual void Method1() { Method1 = "Class3.Method1()"; } public virtual void Method1(string argument) { Method1 = (("Class3.Method1(" + argument) + ")"); } } public class Class4 : Class3 { public override void Method1() { Method1 = "Class4.Method1()"; } public virtual void Method1(string argument) { Method1 = (("Class4.Method1(" + argument) + ")"); } public virtual void Method1(string argument1, string argument2) { Method1 = (((("Class4.Method1(" + argument1) + ",") + argument2) + ")"); } } public class Class5 : Class4 { public override void Method1() { Method1 = "Class5.Method1()"; } } public class Example2 { void Main() { Class3 object1 = new Class3(); Console.WriteLine(object1.Method1()); Console.WriteLine(object1.Method1("test")); Class4 object2 = new Class4(); Console.WriteLine(object2.Method1()); Console.WriteLine(object2.Method1("test")); Console.WriteLine(object2.Method1("test1", "test2")); Class5 object3 = new Class5(); Console.WriteLine(object3.Method1()); Console.WriteLine(object3.Method1("test")); Console.WriteLine(object3.Method1("test1", "test2")); Console.ReadLine(); } } public class Counter { protected int m_Value; public virtual int Value { get { Value = this.m_Value; } } public virtual void Raise() { this.m_Value += new System.EventHandler(1); } public virtual void Lower() { this.m_Value = 1; } } public class Example3 { void Main() { Counter counter = new Counter(); Console.WriteLine(counter.Value); counter.Raise(); Console.WriteLine(counter.Value); counter.Raise(); Console.WriteLine(counter.Value); counter.Lower(); Console.WriteLine(counter.Value); Console.ReadLine(); } } public class SpecialCounter : Counter { private int m_StepValue = 1; public virtual int StepValue { get { StepValue = this.m_StepValue; } set { this.m_StepValue = value; } } public override void Raise() { this.m_Value += new System.EventHandler(StepValue); } public override void Lower() { m_Value = StepValue; } } public class Example4 { void Main() { SpecialCounter specialCounter = new SpecialCounter(); Console.WriteLine(specialCounter.Value); specialCounter.StepValue = 5; specialCounter.Raise(); Console.WriteLine(specialCounter.Value); specialCounter.Raise(); Console.WriteLine(specialCounter.Value); specialCounter.Lower(); Console.WriteLine(specialCounter.Value); Console.ReadLine(); } } public class Person { private string m_Name; public Person(string name) { this.Name = name; } public virtual string Name { get { Name = this.m_Name; } set { this.m_Name = value; } } } public class Student : Person { private string m_ClassGroup; public Student(string name, string classGroup) { base.New(name); this.ClassGroup = classGroup; } public virtual string ClassGroup { get { ClassGroup = this.m_ClassGroup; } set { this.m_ClassGroup = value; } } public override void ToString() { ToString = (((Name + " (") + ClassGroup) + ")"); } } public class Example5 { public virtual void Main() { Person person1 = new Person("John"); Console.WriteLine(person1.ToString()); Student student1 = new Student("Jane", "Visual Basic"); Console.WriteLine(student1.ToString()); Console.ReadLine(); } } public class Counter { public override void ToString() { ToString = Value.ToString(); } } public class SpecialCounter { public override void ToString() { ToString = ((base.ToString() + " - Step : ") + StepValue.ToString()); } } public class Example6 { void Main() { Counter counter1 = new Counter(); Console.WriteLine(counter1.ToString()); SpecialCounter specialCounter1 = new SpecialCounter(); Console.WriteLine(specialCounter1.ToString()); Console.ReadLine(); } } public class Employee { private decimal m_MonthlySalary; public virtual decimal MonthlySalary { get { MonthlySalary = this.m_MonthlySalary; } set { this.m_MonthlySalary = value; } } public virtual void GetYearlySalary() { GetYearlySalary = (MonthlySalary * 12); } } public class Manager : Employee { private decimal m_Bonus; public virtual decimal Bonus { get { Bonus = this.m_Bonus; } set { this.m_Bonus = value; } } public override void GetYearlySalary() { GetYearlySalary = (base.GetYearlySalary() + Bonus); } } public class Exercise1Solution { public virtual void Main() { Employee employee1 = new Employee(); employee1.MonthlySalary = 1000; Console.WriteLine(employee1.GetYearlySalary()); Manager manager1 = new Manager(); manager1.MonthlySalary = 2000; manager1.Bonus = 10000; Console.WriteLine(manager1.GetYearlySalary()); Console.ReadLine(); } } public class Exercise2Task { void Main() { Addition addition1 = new Addition(3, 4); Console.WriteLine(addition1.GetSum()); Console.WriteLine(addition1.ToString()); addition1.Operand1 = 5; addition1.Operand2 = 6; Console.WriteLine(addition1.GetSum()); Console.WriteLine(addition1.ToString()); Console.ReadLine(); } } public class Addition { private int m_Operand1; private int m_Operand2; public Addition(int operand1, int operand2) { this.Operand1 = operand1; this.Operand2 = operand2; } public virtual int Operand1 { get { Operand1 = this.m_Operand1; } set { this.m_Operand1 = value; } } public virtual int Operand2 { get { Operand2 = this.m_Operand2; } set { this.m_Operand2 = value; } } public virtual void GetSum() { GetSum = (Operand1 + Operand2); } public override void ToString() { ToString = ((((Operand1 + " + ") + Operand2) + " = ") + this.GetSum()); } } public class Exercise3Task { void Main() { Airport airport1 = new Airport("ZAV", "Brussels"); Airport airport2 = new Airport("NYK", "New York Kennedy"); Flight flight1 = new Flight(airport1, airport2); Flight flight2 = new Flight(airport2, airport1); Holiday holiday1 = new Holiday(); holiday1.Add(flight1); holiday1.Add(flight2); Console.WriteLine(holiday1.Item(index).ToString()); Console.ReadLine(); } } public class Holiday { private Flight[] m_Items; private int m_Count; public virtual int Count { get { Count = this.m_Count; } } public virtual Flight this[int index] { get { Item = this.m_Items(index); } } public virtual void Add(Flight flight) { this.m_Items(Count) = flight; this.m_Count += new System.EventHandler(1); } } public class Flight { private Airport m_Departure; private Airport m_Arrival; public Flight(Airport departure, Airport arrival) { this.Departure = departure; this.Arrival = arrival; } public virtual Airport Departure { get { Departure = this.m_Departure; } set { this.m_Departure = value; } } public virtual Airport Arrival { get { Arrival = this.m_Arrival; } set { this.m_Arrival = value; } } public override void ToString() { ToString = ((Departure.ToString() + " -> ") + Arrival.ToString()); } } public class Airport { private string m_Code; private string m_Name; public Airport(string code, string Name) { this.Code = code; this.Name = Name; } public virtual string Code { get { Code = this.m_Code; } set { this.m_Code = value; } } public virtual string Name { get { Name = this.m_Name; } set { this.m_Name = value; } } public override void ToString() { ToString = ((Code + " : ") + Name); } } //Bezoek www.vbvoorbeelden.be voor meer C# voorbeelden. //Copyright - De Wolf / vbvoorbeelden - 2003-2010 - Alle rechten voorbehouden.