日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

什么是.net的接口和抽象類(2)_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:10個ASP.NET編程技巧
1、盡量減少表單回送 每當(dāng)點(diǎn)擊Web網(wǎng)頁上的Button、LinkButton或ImageButton控件時,表單就會被發(fā)送到服務(wù)器上。如果控件的AutoPostBack屬性被設(shè)置為true,如果CheckBox、CheckBoxList等控件的狀態(tài)被改變后,也會使表單會發(fā)送回服務(wù)器。 每次當(dāng)表單被發(fā)送回服


  設(shè)計結(jié)構(gòu)如圖所示:
你必須知道的.NET之對接口和抽象類系統(tǒng)中心 
  1. 定義抽象類
public abstract class Animal
{
 protected string _name;
 //聲明抽象屬性
 public abstract string Name
 {
  get;
 }

//聲明抽象方法

public abstract void Show();

//實現(xiàn)一般方法

public void MakeVoice()
{
 Console.WriteLine("All animals can make voice!");
}
 }

 

2. 定義接口
public interface IAction
{
 //定義公共方法標(biāo)簽
 void Move();
}

3. 實現(xiàn)抽象類和接口
public class Duck : Animal, IAction
{
 public Duck(string name)
 {
  _name = name;
 }
//重載抽象方法

 public override void Show()
 {
  Console.WriteLine(_name + " is showing for you.");
 }

 //重載抽象屬性

 public override string Name
 {
  get { return _name;}
 }

//實現(xiàn)接口方法

public void Move()
{
 Console.WriteLine("Duck also can swim.");
}
}

public class Dog : Animal, IAction
{
 public Dog(string name)
 {
  _name = name;
 }
 public override void Show()
 {
  Console.WriteLine(_name + " is showing for you.");
 }

 public override string Name
 {
  get { return _name; }

 }

 public void Move()
 {
  Console.WriteLine(_name + " also can run.");
 }
}

4. 客戶端實現(xiàn)
public class TestAnmial
{
 public static void Main(string [] args)
 {
  Animal duck = new Duck("Duck");
  duck.MakeVoice();
  duck.Show();
  Animal dog = new Dog("Dog");
  dog.MakeVoice();
  dog.Show();
  IAction dogAction = new Dog("A big dog");
  dogAction.Move();
 }
}

  dunai認(rèn)為:抽象類是提取具體類的公因式,而接口是為了將一些不相關(guān)的類“雜湊”成一個共同的群體。至于他們在各個語言中的句法,語言細(xì)節(jié)并不是我關(guān)心的重點(diǎn)。 
  Artech認(rèn)為:所代碼共用和可擴(kuò)展性考慮,盡量使用Abstract Class。當(dāng)然接口在其他方面的優(yōu)勢,我認(rèn)為也不可忽視。
  shenfx認(rèn)為:當(dāng)在差異較大的對象間尋求功能上的共性時,使用接口;當(dāng)在共性較多的對象間尋求功能上的差異時,使用抽象基類。
  最后,MSDN的建議:
  如果預(yù)計要創(chuàng)建組件的多個版本,則創(chuàng)建抽象類。抽象類提供簡單易行的方法來控制組件版本。通過更新基類,所有繼承類都隨更改自動更新。另一方面,接口一旦創(chuàng)建就不能更改。如果需要接口的新版本,必須創(chuàng)建一個全新的接口。
  如果創(chuàng)建的功能將在大范圍的全異對象間使用,則使用接口。抽象類應(yīng)主要用于關(guān)系密切的對象,而接口最適合為不相關(guān)的類提供通用功能。
  如果要設(shè)計小而簡練的功能塊,則使用接口。如果要設(shè)計大的功能單元,則使用抽象類。
  如果要在組件的所有實現(xiàn)間提供通用的已實現(xiàn)功能,則使用抽象類。抽象類允許部分實現(xiàn)類,而接口不包含任何成員的實現(xiàn)。

分享:asp.net回發(fā)或回調(diào)參數(shù)無效解決方法
首先,這個問題出現(xiàn)在asp.net2.0中,我是在做一個二級菜單出現(xiàn)了這個問題 , 該功能用javascript改變DrownDownList內(nèi)容后再提交就出現(xiàn)這個錯誤, 總結(jié) 網(wǎng)上的解決 回發(fā)或回調(diào)參數(shù)無效 方法主要有: 一是在前臺aspx頁中設(shè)置 %@ Page Language=C# EnableEv

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:.Net教程/更新時間:2010-06-02
相關(guān).Net教程