自己知道 c#的后期绑定类似与java的动态绑定
系统对c#的前期绑定是如何处理的?还有就是程
序中对变量分配内存的过程是操作系统负责呢,
还是编译系统,或者是其他?与详细越好 谢谢了!
12 个解决方案
#1
前期绑定相当于直接引用一个类 声明并实例化
后期绑定在C#中一般应用反射,通过类名字符串来实例化一个类,在程序运行之前,对被实例化的类毫不知情
Assembly.Load(程序集).CreateInstance(命名空间.类)
后期绑定在C#中一般应用反射,通过类名字符串来实例化一个类,在程序运行之前,对被实例化的类毫不知情
Assembly.Load(程序集).CreateInstance(命名空间.类)
#2
此贴正解
#3
2楼完全正确
#4
[code=BatchFile]publuc class A
{
public virtual void eat()
{
...
}
public void sing()
{
...
}
}
public class B : A
{
public override void eat() {
...
}
}
public class C : A
{
public new void sing()
{
...
}
}
A b = new B();
b.eat(); //后期绑定,是吗?
A c = new C();
c.sing() //前期绑定?
[/code]
{
public virtual void eat()
{
...
}
public void sing()
{
...
}
}
public class B : A
{
public override void eat() {
...
}
}
public class C : A
{
public new void sing()
{
...
}
}
A b = new B();
b.eat(); //后期绑定,是吗?
A c = new C();
c.sing() //前期绑定?
[/code]
#5
基本也就那样,概念性的东西了解不是很深
#6
你是想问基于多态的晚期绑定哦
#7
直接这样实例化看不出什么意思的,而且你两个派生类并没有相同的方法啊
//这样
public Interface IA
{
void dosomething();
}
public class B:IA
{
public void dosomething(){}
}
public class C:IA
{
public void dosomething(){}
}
//后期绑定这样在调用do方法的时候视传入引用上是哪个对象来决定调用谁的dosomething()方法
public static class Dosomething
{
public void do(IA ia)
{
ia.dosomething();
}
}
#8
学习
#9
#10
学习
#11
学习学习了!
#12
学习
#1
前期绑定相当于直接引用一个类 声明并实例化
后期绑定在C#中一般应用反射,通过类名字符串来实例化一个类,在程序运行之前,对被实例化的类毫不知情
Assembly.Load(程序集).CreateInstance(命名空间.类)
后期绑定在C#中一般应用反射,通过类名字符串来实例化一个类,在程序运行之前,对被实例化的类毫不知情
Assembly.Load(程序集).CreateInstance(命名空间.类)
#2
此贴正解
#3
2楼完全正确
#4
[code=BatchFile]publuc class A
{
public virtual void eat()
{
...
}
public void sing()
{
...
}
}
public class B : A
{
public override void eat() {
...
}
}
public class C : A
{
public new void sing()
{
...
}
}
A b = new B();
b.eat(); //后期绑定,是吗?
A c = new C();
c.sing() //前期绑定?
[/code]
{
public virtual void eat()
{
...
}
public void sing()
{
...
}
}
public class B : A
{
public override void eat() {
...
}
}
public class C : A
{
public new void sing()
{
...
}
}
A b = new B();
b.eat(); //后期绑定,是吗?
A c = new C();
c.sing() //前期绑定?
[/code]
#5
基本也就那样,概念性的东西了解不是很深
#6
你是想问基于多态的晚期绑定哦
#7
直接这样实例化看不出什么意思的,而且你两个派生类并没有相同的方法啊
//这样
public Interface IA
{
void dosomething();
}
public class B:IA
{
public void dosomething(){}
}
public class C:IA
{
public void dosomething(){}
}
//后期绑定这样在调用do方法的时候视传入引用上是哪个对象来决定调用谁的dosomething()方法
public static class Dosomething
{
public void do(IA ia)
{
ia.dosomething();
}
}
#8
学习
#9
#10
学习
#11
学习学习了!
#12
学习