对象创建混乱
本文关键字:混乱 创建 对象 | 更新日期: 2023-09-27 17:50:20
我正在寻找接口的例子,我找到了一个。示例如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace InterFaceDemo
{
interface IOne
{
void ONE();//Pure Abstract Method Signature
}
interface ITwo
{
void TWO();
}
interface IThree:IOne
{
void THREE();
}
interface IFour
{
void FOUR();
}
interface IFive:IThree
{
void FIVE();
}
interface IEVEN:ITwo,IFour
{
}
class ODDEVEN:IEVEN,IFive//Must Implement all the abstract method, in Derived class.
{
public void ONE()//Implementation of Abstract Method.
{
Console.WriteLine("This is ONE");
}
public void TWO()
{
Console.WriteLine("This is TWO");
}
public void THREE()
{
Console.WriteLine("This is THERE");
}
public void FOUR()
{
Console.WriteLine("This is FOUR");
}
public void FIVE()
{
Console.WriteLine("This is FIVE");
}
}
}
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace InterFaceDemo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("This is ODD");
IFive obj1 = new ODDEVEN();
obj1.ONE();
obj1.THREE();
obj1.FIVE();
Console.WriteLine("'n'nThis is EVEN");
IEVEN obj2 = new ODDEVEN();
obj2.TWO();
obj2.FOUR();
Console.ReadLine();
}
}
}
从这个例子中,接口的概念被清除了,但有一件事让我感到困惑,那就是这一行…
IFive obj1 = new ODDEVEN();
从我的想法来看,他应该是这样做的
ODDEVEN obj1 = new ODDEVEN();
当他正在制作"ODDEVEN"类的对象时,有没有人可以用简单的话解释我这个对象的创建,因为我是编程新手…提前感谢
这是
的快捷方式ODDEVEN temp = new ODDEVEN();
IFive obj1 = temp;
这是有效的,因为ODDEVEN实现了IFive,因此它是可分配给该接口引用的。