題目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、覆蓋關係中,調用那個方法體,是根據對象的類型(對象對應儲存空間類型)來決定;
重載關係,是根據調用時的實參表與形參表來選擇方法體的。
-------------------------------------------------------------------------------
<%# %> 和 <% %> 有什麼區別?
答:<%# %>表示繫結資料源
<% %>是伺服器端代碼塊
-------------------------------------------------------------------------------
什麼是對象?
從概念層面講:對象是某種擁有責任的抽象
從規格層面講,對象是一系列可以被其他對象使用使用的公用介面
從語言實現層面來看,對象封裝了代碼和資料。
三大基本物件導向設計原則
-針對介面編程,而不是針對實現編程
-優先使用對象組合,而不是類繼承
-封裝變化點