C#中面向對象編程機制之多態學習筆記
阿新 • • 發佈:2017-12-07
tel codes var pub tools 不同 線程同步 dddddd 圖形
class Program {
static void Main(string[] args) {
new Wolf().Eat();
new Sheep().Eat();
}
} 除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址
C#中面向對象編程機制之多態學習筆記
本文地址: http://www.paobuke.com/develop/c-develop/pbk23185.html
關於C#中ajax跨域訪問問題
淺談C#網絡編程詳解篇
詳細解析C#多線程同步事件及等待句柄
winform分頁控件 附源碼下載
理解C#生成驗證碼的過程
C#裝箱和拆箱原理詳解
C#實現圖形路徑變換的方法
C#操作CSV文件類實例
C#的多態性:
我的理解是:同一個操作,作用於不同的對象時,會有不同的結果,即同一個方法根據需要,作用於不同的對象時,會有不同的實現。
C#的多態包括:接口多態,繼承多態。
其中繼承多態又包括通過虛擬方法實現的多態和通過抽象方法實現的多態性
例如:基類動物都有吃的方法,但是不同的動物吃的東西就會不一樣,例如狼吃肉,羊吃草,這樣“吃”的這個方法就要在派生類裏面重新實現以下,運行時,通過指向基類的指針,來調用實現派生類中的方法。
接下來舉例實現多態性。
1. 接口多態性
把動物“吃”的方法放到一個接口(IAnimal)裏,然後讓具體的動物類(Wolf/Sheep)繼承這個接口,並根據自己的需要實現這個接口。
代碼實現:
代碼如下:
class Program {
static void Main(string[] args) {
new Wolf().Eat();
new Sheep().Eat();
}
}
public class Wolf : IAnimal {
//多態實現
public void Eat() {
Console.WriteLine(“狼吃肉!”);
}
}
public class Sheep : IAnimal {
//多態實現
public void Eat() {
Console.WriteLine(“羊吃草!”);
}
}
//接口
public interface IAnimal {
void Eat();
}
C#中面向對象編程機制之多態學習筆記
本文地址: http://www.paobuke.com/develop/c-develop/pbk23185.html
相關內容
![技術分享圖片](http://www.paobuke.com/wp-content/plugins/related-posts-thumbnails/img/default.png)
![技術分享圖片](http://www.paobuke.com/wp-content/plugins/related-posts-thumbnails/img/default.png)
![技術分享圖片](http://www.paobuke.com/wp-content/plugins/related-posts-thumbnails/img/default.png)
![技術分享圖片](http://www.paobuke.com/wp-content/plugins/related-posts-thumbnails/img/default.png)
![技術分享圖片](http://www.paobuke.com/wp-content/plugins/related-posts-thumbnails/img/default.png)
C#中面向對象編程機制之多態學習筆記