摘要:繼承
CLASS部分
public class A
{
public string A_Name {get;set;}
public int A_Age { get; set; }
public int A_fun1()
{
return 666;
}
}
public class B : A
{
public void B_printName(string sName)
{
Console.WriteLine(sName);
}
public void B_printAge(int iAge)
{
Console.WriteLine(iAge);
}
}
可以看到由於B繼承A
所以A B class的東西都可以點的到
B可以再根據A的不足之處去擴充
Interface部分
static void Main()
{
ICount Tool = new Printer();
Tool.PrintSomeThing();
Console.WriteLine(Tool.Count(1, 2));
Console.ReadLine();
}
interface ICount
{
void PrintSomeThing();
int Count(int a, int b);
}
public class Printer : ICount
{
int ICount.Count(int a, int b)
{
return a + b;
}
void ICount.PrintSomeThing()
{
Console.WriteLine("write something");
}
public void NotInInterface()
{
Console.WriteLine("Not in interface method");
}
}
interface部分
用來宣告方法包含回傳類別,傳入參數但是不實作
class部分
繼承Interface,Interface裡的方法&欄位一定要實作出來否則編譯器會報錯
至於使用方式要注意一下
回傳型別 InterfaceName.方法名稱();
程式呼叫部分
注意一下接收部分 左邊型別為INTERFACE,右邊型別為CLASS
Icount IC = new Printer();
好處是不管傳入甚麼東西的類別都是統一使用INTERFACE的函式
如今天使用的是多功能事務機,不同CLASS但是可以只約束他做PRINT的動作(該CLASS一樣要繼承)
Printer oP = new Printer(); //class物件
oP.類別屬性或方法 (不包含INTERFACE方法)
ICount IC = (ICount)oP;
IC.方法 (這樣就可以呼叫Interface的方法了)