93 lines
1.7 KiB
C#
93 lines
1.7 KiB
C#
|
/*
|
||
|
* C# Program to Demonstrate IDumpable Interface
|
||
|
*/
|
||
|
using System;
|
||
|
interface IDumpable
|
||
|
{
|
||
|
string Name { get; set; }
|
||
|
void Dump();
|
||
|
}
|
||
|
|
||
|
class Fraction : IDumpable
|
||
|
{
|
||
|
int z, n;
|
||
|
string name;
|
||
|
|
||
|
public Fraction(int z, int n)
|
||
|
{
|
||
|
this.z = z;
|
||
|
this.n = n;
|
||
|
}
|
||
|
|
||
|
public string Name
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return name;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
name = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void Dump()
|
||
|
{
|
||
|
Console.WriteLine("Fraction : " + z + "/" + n);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Person : IDumpable
|
||
|
{
|
||
|
string name;
|
||
|
public string address;
|
||
|
public int phone;
|
||
|
|
||
|
public Person(string name, string address, int phone)
|
||
|
{
|
||
|
this.name = name;
|
||
|
this.address = address;
|
||
|
this.phone = phone;
|
||
|
}
|
||
|
|
||
|
public string Name
|
||
|
{
|
||
|
get { return name; }
|
||
|
set { name = value; }
|
||
|
}
|
||
|
|
||
|
public void Dump()
|
||
|
{
|
||
|
Console.WriteLine("Person Details : {0}, {1}, {2}", name, address, phone);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Test
|
||
|
{
|
||
|
|
||
|
static void Main(string[] arg)
|
||
|
{
|
||
|
IDumpable[] a =
|
||
|
{
|
||
|
new Fraction(10,3),
|
||
|
new Fraction(9,4),
|
||
|
new Person("Tom", "INDIA", 99556677),
|
||
|
new Person("Jerry", "INDIA", 998979899),
|
||
|
};
|
||
|
a[0].Name = "f1";
|
||
|
a[1].Name = "f2";
|
||
|
foreach (IDumpable obj in a)
|
||
|
{
|
||
|
Console.Write(obj.Name + ": ");
|
||
|
obj.Dump();
|
||
|
}
|
||
|
Console.ReadLine();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
/*
|
||
|
|
||
|
f1 : Fraction : 10/3
|
||
|
f2 : Fraction : 9/4
|
||
|
Tom : Person Details : Tom, INDIA, 99556677
|
||
|
Jerry : Person Details :Jerry, INDIA, 998979899
|