程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 面向對象的基礎知識-封裝、繼承、多態,基礎知識多態

面向對象的基礎知識-封裝、繼承、多態,基礎知識多態

編輯:C#入門知識

面向對象的基礎知識-封裝、繼承、多態,基礎知識多態


面向對象的原則:

多組合、少繼承;低耦合,高內聚

繼承多關注於共同性;多態著眼於差異性

多態

通過繼承,一個類可以用作多種類型:可以用作它自己的類型、任何基類型,或者在實現接口時用作任何接口類型。這稱為多態性。C# 中的每種類型都是多態的。類型可用作它們自己的類型或用作 Object 實例,因為任何類型都自動將 Object 當作基類型。

 1 public class animal
 2     {
 3 
 4         public string SayName()
 5         {
 6             return "hello im animal";
 7         
 8         }
 9         public string Eat()
10         {
11 
12             return "this is animal's eat";
13         }
14         public virtual string Call()
15         {
16         
17          return "this is animal's speak";
18         }
19     }
20     public class Bird:animal
21     {
22         public new string Eat()// 使用新的派生成員替換基成員
23         {
24             return "this is bird's Eat";
25         }
26         public override string Call() //重寫虛方法
27         {
28             return "this is Bird's Call";
29         }
30         
31     }

 

 

 1 /*繼承基類的 eat 和  call 功能*/
 2             /*
 3              * result:
 4             hello im animal
 5             this is bird's Eat
 6             this is Bird's Call
 7              */
 8             Bird bb = new Bird();
 9             Response.Write(bb.SayName() + "</br>");
10             Response.Write(bb.Eat()+"</br>");
11             Response.Write(bb.Call() + "</br>");
12 
13             /*
14              *result:
15             hello im animal
16             this is animal's eat
17             this is Bird's Call
18              */
19             animal ab = new Bird();
20             Response.Write(ab.SayName() + "</br>"); 
21             Response.Write(ab.Eat() + "</br>");
22             Response.Write(ab.Call() + "</br>");

new 修飾符:在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。

當派生類重寫某個虛擬成員時,即使該派生類的實例被當作基類的實例訪問,也會調用該成員。


        

 

 

封裝

封裝第一原則:將字段定義為private

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved