题目1:
1,1,2,3,5,8,13,。。。。
public static int Foo(int i)
{
if (i <= 0)
{
return 0;
}
else if (i > 0 && i <= 2)
{
return 1;
}
else
{
string a = Foo(i - 1).ToString();
string b = Foo(i - 2).ToString();
return System.Convert.ToInt16(a) + System.Convert.ToInt16(b);
}
}
-------------------------------------------------------------------------------
重载与覆盖的区别?
答:1.方法的覆盖是子类和父类之间的关系,是垂直关系;
方法的重载是同一个类中方法之间的关系,是水平关系
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;
重载关系,是根据调用时的实参表与形参表来选择方法体的。
-------------------------------------------------------------------------------
<%# %> 和 <% %> 有什么区别?
答:<%# %>表示绑定的数据源
<% %>是服务器端代码块
-------------------------------------------------------------------------------
什么是对象?
从概念层面讲:对象是某种拥有责任的抽象
从规格层面讲,对象是一系列可以被其他对象使用使用的公共接口
从语言实现层面来看,对象封装了代码和数据。
三大基本面向对象设计原则
-针对接口编程,而不是针对实现编程
-优先使用对象组合,而不是类继承
-封装变化点