namespace _3月18号
{
//abstract class Couse
//{
// public abstract void show();
//}
//class JavaCouse : Couse
//{
// public override void show()
// {
// Console.WriteLine("study java");
// }
//}
//class pathoyCouse : Couse
//{
// public override void show()
// {
// Console.WriteLine("study pathy");
// }
//}
interface Couse
{
void Show();
}
class JavaCouse : Couse
{
public void Show()
{
Console.WriteLine("study java");
}
}
class pathoyCouse : Couse
{
public void Show()
{
Console.WriteLine("study pathy");
}
}
}
namespace _3月18号
{
class xiaoming
{
//通过接口传递依赖对象
//public void StudyCouse(Couse couses)
//{
// couses.Show();
//}
//通过构造方法传递
//private Couse couses;
//public xiaoming(Couse couses)
//{
// this.couses = couses;
//}
//public void StudyCouse()
//{
// couses.Show();
//}
//通过setter方法传递依赖对象
private Couse couses;
public void SetCouse(Couse couses)
{
this.couses = couses;
}
public void StudyCouse()
{
this.couses.Show();
}
}
}
namespace _3月18号
{
class Program
{
static void Main(string[] args)
{
//通过接口传递依赖对象
//xiaoming xm = new xiaoming();
//xm.StudyCouse(new JavaCouse());
//xm.StudyCouse(new pathoyCouse());
//通过构造方法传递
//xiaoming xm = new xiaoming(new JavaCouse());
//xm.StudyCouse();
//xiaoming xm1 = new xiaoming(new pathoyCouse());
//xm1.StudyCouse();
//通过setter方法传递依赖对象
xiaoming xm = new xiaoming();
xm.SetCouse(new JavaCouse());
xm.StudyCouse();
xiaoming xm1 = new xiaoming();
xm1.SetCouse(new pathoyCouse());
xm1.StudyCouse();
}
}
}
C#之依赖倒置
最新推荐文章于 2023-10-11 16:48:38 发布